TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What are the best resources for learning modern 3D graphics?

72 pointsby kenverover 5 years ago
I’ve been out of the 3D graphics game for many years and would like to pick it back up. Things have moved on a lot so I’m looking for a good book on modern 3D graphics and the state of the art.

12 comments

Jasper_over 5 years ago
When you say &quot;modern 3D rendering&quot;, do you mean modern native APIs like Vulkan, Direct3D 12 and Metal? In that sense, modern GPU programming becomes about scheduling and co-operative buffer management, along with writing programs to be parallel. There&#x27;s no great guide for this to my knowledge.<p>If you mean everything above the graphics API, e.g. modern lighting and shading techniques, there is a wide range of choices. PBR-inspired material response models are now dominant, and I recommend Naty Hoffman&#x27;s slide deck as an excellent overview of the subject [0]. I can go into more details here if wanted. Haines&#x27;s Real-Time Rendering is a pretty good reference. Get familiar with math, geometry and trigonometry. I recommend &quot;3D Math Primer for Graphics and Games&quot; by Parberry and Dunn [1] if you need a refresher.<p>[0] <a href="https:&#x2F;&#x2F;blog.selfshadow.com&#x2F;publications&#x2F;s2015-shading-course&#x2F;hoffman&#x2F;s2015_pbs_physics_math_slides.pdf" rel="nofollow">https:&#x2F;&#x2F;blog.selfshadow.com&#x2F;publications&#x2F;s2015-shading-cours...</a> [1] <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Math-Primer-Graphics-Game-Development&#x2F;dp&#x2F;1568817231" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Math-Primer-Graphics-Game-Development...</a>
评论 #21532120 未加载
slavik81over 5 years ago
For rendering rates measured in frames per second, maybe check out &quot;Real-time Rendering&quot;, currently on its 4th edition. <a href="https:&#x2F;&#x2F;www.realtimerendering.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.realtimerendering.com&#x2F;</a><p>For rendering rates measured in seconds per frame, consider the &quot;Physically Based Rendering Textbook&quot;, currently on its 3rd edition. <a href="https:&#x2F;&#x2F;www.pbrt.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.pbrt.org&#x2F;</a>
planteenover 5 years ago
Lots of people here are recommending &quot;Real-time Rendering&quot; by Haines. While an excellent book, it goes into a ton of depth and will be very difficult to read cover to cover. Many topics are irrelevant for someone new to graphics.<p>A much shorter book with breadth is &quot;Foundations of 3D Computer Graphics&quot; by Steven J. Gortler.
abiroover 5 years ago
For an overview: Real-Time Rendering 4th edition by Haines et al.<p>For advanced techniques:<p>- GPU Pro and GPU Zen series (ed. Engel)<p>- Ray Tracing Gems (Haines et al.)<p>- Unreal Engine tutorials and source code for reference implentation
marknadalover 5 years ago
Me too, please!<p>I want to build (or use) a custom 3D rendering engine that:<p>+ Renders from center of screen, in clockwise spiral outward, if any pixels remain after 15ms I want to drop them (should only be peripheral, I&#x27;m OK with that in exchange for constant performance time).<p>+ Can add secondary orthogonal clipping triangles to each triangle, such that the clipping edge could be defined by a curve. Imagine a hexagon (made of 6 triangles), we could easily extend a low poly hexagon into a high resolution circle just by interpolating a curve here.<p>+ My goal after that is to then define an animation pipeline, where it will procedurally generate thousands of fluid dynamic simulations that it then feeds back into itself as a machine learning training set. Once it has associated these slow compute intensive simulations with the model, ideally we can swap in high-resolution smoke&#x2F;fluid graphics in-game by only using a few low resolution particle &quot;marker&quot; calculations that then trigger substitutions for the model.<p>And much more.<p>I&#x27;m OK if this takes me 9 years to make. My target is Rust+WebGL, inspired by the really impressive work of MakePad.<p>I&#x27;m also willing to spend money on people who can teach me this, so please contact me if you&#x27;re an expert on Shaders and low level WebGL experience.
评论 #21491909 未加载
评论 #21492719 未加载
评论 #21491402 未加载
ArtWombover 5 years ago
All good suggestions ;)<p>See also<p><a href="https:&#x2F;&#x2F;webgl2fundamentals.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;webgl2fundamentals.org&#x2F;</a><p>And for state-of-the-art check out the Pixar Moana Island Scene and Disney&#x27;s Hyperion Renderer (although perhaps that is on its way to becoming obsolete!)<p><a href="https:&#x2F;&#x2F;www.yiningkarlli.com&#x2F;projects&#x2F;hyperiondesign&#x2F;hyperiondesign.pdf" rel="nofollow">https:&#x2F;&#x2F;www.yiningkarlli.com&#x2F;projects&#x2F;hyperiondesign&#x2F;hyperio...</a><p><a href="https:&#x2F;&#x2F;www.technology.disneyanimation.com&#x2F;collaboration-through-sharing" rel="nofollow">https:&#x2F;&#x2F;www.technology.disneyanimation.com&#x2F;collaboration-thr...</a>
deepaksurtiover 5 years ago
This [1] gives you quite a few options to pick a starting point.<p>A very good practical hands-on bottoms up [2] resource.<p>[1] <a href="https:&#x2F;&#x2F;fabiensanglard.net&#x2F;Computer_Graphics_Principles_and_Practices&#x2F;index.php" rel="nofollow">https:&#x2F;&#x2F;fabiensanglard.net&#x2F;Computer_Graphics_Principles_and_...</a><p>[2] <a href="http:&#x2F;&#x2F;antongerdelan.net&#x2F;opengl&#x2F;" rel="nofollow">http:&#x2F;&#x2F;antongerdelan.net&#x2F;opengl&#x2F;</a>
Pharaoh2over 5 years ago
Modern 3D graphics has a lot of facets, a good resource as well as engine for PBR rendering is filament and is documented here: <a href="https:&#x2F;&#x2F;google.github.io&#x2F;filament&#x2F;Filament.html" rel="nofollow">https:&#x2F;&#x2F;google.github.io&#x2F;filament&#x2F;Filament.html</a>
pizzaparty2over 5 years ago
If you&#x27;re okay with using a game engine I highly recommend Unity 2018 Game Development in 24 Hours, Sams Teach Yourself (3rd Edition) <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;0134998138&#x2F;ref=cm_sw_r_cp_apa_i_tYRXDbYXSPAV2" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;0134998138&#x2F;ref=cm_sw_r_cp_apa_i_tY...</a>
flqnover 5 years ago
If you&#x27;re after an OpenGL 3+ guide <a href="http:&#x2F;&#x2F;open.gl" rel="nofollow">http:&#x2F;&#x2F;open.gl</a> is pretty good!
kenverover 5 years ago
Thanks to everyone for your recommendations. There&#x27;s some real gems here.
minrawsover 5 years ago
What I use(yes I am a beginner have only just started with most of it):<p>- GPU Gems<p>- SIGGRAPH<p>- Real Time Rendering Book