Ask HN: Where do I start with first principles in 3D rendering? I'm struggling finding a path towards understanding the first principles in 3D rendering. I can find a lot of complicated books and tutorials that assume a bunch of things like OpenGL or Glad or C++ or Dynamically Linking library X Y Z and magically creating a scene but where is the "build it yourself" path? I essentially want to build my own "hello world" 3D engine to understand how to manipulate pixels/shaders in 3D space. I'm searching for tutorials and books around building a game engine from scratch as that seems to be the best fit -- I'm still searching. Nothing I have found yet seems thorough and to the point and self-bootstrapped. For example I find this walkthrough of building a text-editor from scratch absolutely perfect: https://viewsourcecode.org/snaptoken/kilo/ I have no preference for language - I'm familiar with most. Anything more "raw" without including a bunch of libraries will suit me best. So "single file/header libs" are the largest I'd like to play with. Having said that, C might be the best fit if it's the easiest to compile and get up and running without any dependencies. Some embarrassing questions:
For context: I'm currently coding on Windows/WSL - I recently switched from MacOS. I'm most familiar with MacOS and unix flavors for dev environments. I mention this in case there is a more direct way to accomplish my goal being on Windows than trying to go a cross-platform approach way (OpenGL).I'm specifically avoiding any engine like processing, unity, webGL, etc - these abstract too much of the fundamentals I'm trying to learn. I'd be really happy if I can just:
It can't be that complicated can it? Hah. |