4 ms·
I would advise against starting learning real-time rendering/an API for real-time rendering from raytracing (not last because of the fact that you wound need sp
by winterismute 8y ago
I would advise against starting learning real-time rendering/an API for real-time rendering from raytracing (not last because of the fact that you wound need special support from your GPU or a driver fallback). It would be better to start from standard rasterization techniques, possibly with a less explicit API such OpenGL or Metal. https://learnopengl.com/ https://learnopengl.com/ is decent enough from what I have seen.
- barbecue_sauce 8y agoDo you know of any resources for learning 3D basics? I just want to understand the pipeline for how a camera with a frustrum translates simple vertex objects to be rendered on a 2D canvas (the parameters, and the relevant math).
- tomjakubowski 8y agoLearnOpenGL.com's tutorials are where I learned it from. https://learnopengl.com/Getting-started/Camera https://learnopengl.com/Getting-started/Camera From there, I got interested in linear transformations in general, and then did Gilbert Strang's course in Linear Algebra on MIT OCW.
- newnewpdro 8y agoWriting an unaccelerated classical raytracer is an excellent starting point in all things 3D. Everything beyond that is arguably just optimization.
- slavik81 8y agoIf you're looking for textbooks, the two big ones are "Real-Time Rendering"[1] and "Physically Based Rendering from Theory to Implementation"[2]. The former focuses on techniques used in real-time rendering (frames per second), while the later focuses on those used in offline rendering (seconds per frame). If you want something more bite-sized, you might try "Ray Tracing in One Weekend". The first 3 chapters of "Real-Time Rendering" and all of "Ray Tracing in One Weekend" are freely available on the authors' website for free or pay what you want. [1]: http://www.realtimerendering.com/ http://www.realtimerendering.com/ [2]: https://www.pbrt.org/ https://www.pbrt.org/
- smcl 8y agoPhysically Based Rendering looks great. I know that one of the authors - Matt Pharr - also has some great blog posts about "ispc", a compiler he wrote while at Intel: https://pharr.org/matt/blog/2018/04/30/ispc-all.html https://pharr.org/matt/blog/2018/04/30/ispc-all.html. If he was involved in a book in an area I was thinking about studying I would buy it in a heartbeat
- mesaframe 8y agoscratchapixel.com is a great resource.
- iamleppert 8y agoRay tracing in a weekend springs to mind as being very approachable: http://www.realtimerendering.com/raytracing/Ray%20Tracing%20in%20a%20Weekend.pdf http://www.realtimerendering.com/raytracing/Ray%20Tracing%20... I didn't do it in one weekend but managed to get through the material in a couple weekends ;)
- dgellow 8y ago> possibly with a less explicit API such OpenGL or Metal How is Metal less explicit than Vulkan? As far as I understood they are both quite low level.
- shmerl 8y agoFrom what I understood, Metal provides more high level functionality than Vulkan, i.e. it's like Vulkan + higher level convenience.
- shmerl 8y agoMetal is Apple only, so not a good API to start with. If you want explicit from the start - use Vulkan. And if you want to start with OpenGL, at least do it on Linux, not on macOS where OpenGL is crippled.
- stabbles 8y agoIn what sense is OpenGL crippled on the mac?
- modeless 8y agoIn the sense that it is frozen at 2010's OpenGL 4.1 (the current version is 4.6 with important updates such as compute shaders and KHR_debug). In fact OpenGL support has recently been officially deprecated by Apple, making the crippling official. It will almost certainly never see another feature update. It's Metal or nothing on Apple platforms for future support.
- shmerl 8y agoApple didn't keep it up to date, so you can't use anything beyond OpenGL 4.1. It's a clear intentional crippling.