Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> If I need to touch 3D hardware, I now have to deal with different API's on different platforms.

Been programming since late 70s. Graphics in many ways WAY easier than they were in the 70s, 80s, 90s. Sure there's Metal, DirectX, Vulkan, and OpenGL but you can still use OpenGL on pretty much all platform or use something like ANGLE.

Back in the 80s, 90s, you didn't even have APIs, you just manipulated the hardware directly and every hardware was entirely different. Apple II was different than Atari 800, which was different than C64, which was different than Amiga, which was different than CGA, and different than EGA, and different than Tandy, and different than VGA, and different than MCGA. NES was different than Sega Master System which was different the SNES which was different than Genesis which was different than 3DO which was different than Saturn which was different than PS1 etc... It's only about 2005-2010 that it all kind of settled down into various APIs that execute shaders and everything basically became the mostly the same. The data and shaders at an algorithmic level that you're using for your PC game are the same or close to it On Xbox 360, PS4, PS5, Xbox One, Mac, Linux. Where as all those previous systems were so different you had to redo all a ton more stuff.

On top of which there are now various libraries that will hide most of the differences from you. ANGLE, Dawn, wgpu, WebGL, Canvas, Skia, Unreal, Unity, etc...



It is easier in some ways, agreed. I kinda miss the olden days of doing page flipping in DOS through EMS :) You're right, it was the wild wild west up until D3D and OGL standardized everything, and a big shift happened in the shift from fixed function to programmable pipelines. I love this kind of stuff!

I can still program mode 13h from memory, and I can only imagine the cool, arcane witchcraft that you have acquired having started much before me.

To me, at least, OpenGL was my favorite, I miss its death, but Metal, Vulkan and DX are close enough. What drives me up a wall is 3D in the browser, since the difficulties of dispatch cost from JS land are profound.


I have zero problems with 3D in the browser and I love it way more than native. I can edit/refresh way faster than native, it works across all platforms (Linux/Windows/MacOS/iOS/Android). And I can share things with a link, I don't have to build/sign/noterize/distribute for 5 different platforms.


I feel like SGI’s Iris GL (OpenGL’s processor) was a really sweet spot for ease of touching 3d hardware. It didn’t have the features we have today, but it was really easy. Very similar to the easy graphics APIs in Processing or NodeBox (and ancestors and descendants).


OpenGL literally makes you write a program in weird language to draw a circle and communicate to it using byte arrays. Turbo Pascal had nice libraries that took care of that for you on various graphics boards.


The OPs comment was about 3D. Today, browsers have the Canvas API that makes it trivial to draw on pretty much any platform. Way easier than it was in the past.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: