9 ms·
Other people have mentioned ray-tracing in one weekend Complimentary to that I would recommend TinyRenderer https://github.com/ssloy/tinyrenderer/wiki https:/
by fgeahfeaha 3y ago
Other people have mentioned ray-tracing in one weekend
Complimentary to that I would recommend TinyRenderer
https://github.com/ssloy/tinyrenderer/wiki https://github.com/ssloy/tinyrenderer/wiki
This one is a CPU-based rasterizing renderer, it gives you a good understanding of what a GPU graphics pipeline does underneath.
In the graphics world the two common ways of rendering things are either rasterization or raytracing.
Raytracing is basically all the movie/VFX/CGI/offline renderers (although it is also being used for certain parts of real-time in recent years)
Raster is how most real-time renderers like the ones used for video games work.
If you're interested in graphics I'd highly recommend implementing a ray-tracer and a rasterizer from scratch at least once to get a good mental model of how they both work.
- tnecniv 3y agoOut of curiosity, is there a third way? The two you mention are the big ones, I know, but your phrasing implies (perhaps unintentionally) the existence of at least one more.
- RetroTechie 3y agoWell there's the "steer a beam across a screen" as used in CRT's (eg. older oscilloscopes) and the Vectrex game console. Maybe one could consider lasershows falling in this category too? See "vector display"
- ArtWomb 3y agovk_mini_path_tracer is a beginner-friendly introduction to writing your own fast, photorealistic path tracer in less than 300 lines of C++ code and 250 lines of GLSL shader code using Vulkan https://nvpro-samples.github.io/vk_mini_path_tracer/index.html https://nvpro-samples.github.io/vk_mini_path_tracer/index.ht...