<story><title>A trip down the League of Legends graphics pipeline</title><url>https://engineering.riotgames.com/news/trip-down-lol-graphics-pipeline</url></story><parent_chain><item><author>treehau5</author><text>Pardon me asking, Is there a way to save comments for later? This is gold, and thank you for the resources. I have been very interested in graphics since I took Computer Graphics in College (It felt like an applied linear algebra course, but I loved it. It was subsequently the only course I felt like I was challenged beyond my abilities -- I had to take the course twice to get the credit, but I loved that class)&lt;p&gt;Also just kind of asking for curiosity, do you think a language like go or rust will become popular for developing game engines? I realize game programmers are anti-GC but what if GC technology advances that the performance drop is negligible I wonder.</text></item><item><author>adamnemecek</author><text>Few things consistently blow my mind as insane graphics demos&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4dfGzS&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4dfGzS&lt;/a&gt; (or basically anything on that site)&lt;p&gt;How is that 400 lines of code.&lt;p&gt;Or this one which even generates the sound on the GPU&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4ts3z2&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4ts3z2&lt;/a&gt;&lt;p&gt;With the wide adoption of WebGL, it&amp;#x27;s a good time to get involved in graphics. Furthermore, GPUs are taking over esp. with the advent of machine learning (nvidia stock grew ~3x, amd ~5x last year). The stuff nvidia has been recently doing is kinda crazy. I wouldn&amp;#x27;t be surprised if in 15 years, instead of AWS, we are using geforce cloud or smth, just because nvidia will have an easier time building a cloud offering than amazon will have building a gpu.&lt;p&gt;These are some good resources to get started with graphics&amp;#x2F;games&lt;p&gt;# WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;WebGL-Programming-Guide-Interactive-Graphics&amp;#x2F;dp&amp;#x2F;0321902920&amp;#x2F;ref=as_li_ss_tl?ie=UTF8&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=6a3c5120f9335a1038329ba5136d0ca9&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;WebGL-Programming-Guide-Interactive-G...&lt;/a&gt;&lt;p&gt;Historically, C++ has definitely been THE language for doing graphics but if you are starting these these, you would have to have really compelling reasons to start with C++ and not JavaScript and WebGL. And that&amp;#x27;s coming from someone who actually likes C++ and used to write it professionally.&lt;p&gt;# Book of Shaders&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;thebookofshaders.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;thebookofshaders.com&amp;#x2F;&lt;/a&gt;&lt;p&gt;# Game Programming Patterns&lt;p&gt;&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;gameprogrammingpatterns.com&amp;#x2F;contents.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;gameprogrammingpatterns.com&amp;#x2F;contents.html&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Game-Programming-Patterns-Robert-Nystrom&amp;#x2F;dp&amp;#x2F;0990582906&amp;#x2F;ref=as_li_ss_tl?sa-no-redirect=1&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=abb3d10b5110e80969bf860188704f7c&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Game-Programming-Patterns-Robert-Nyst...&lt;/a&gt;&lt;p&gt;HN&amp;#x27;s own @munificent wrote a book discussing the most important design patterns in game design. Good book applicable beyond games.&lt;p&gt;# Game engine architecture&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Engine-Architecture-Second-Jason-Gregory&amp;#x2F;dp&amp;#x2F;1466560010&amp;#x2F;ref=as_li_ss_tl?_encoding=UTF8&amp;amp;psc=1&amp;amp;refRID=CYQ60B781NB1PD69E20Y&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=d234fcc54fc7579edd423dccfe0d47a4&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Engine-Architecture-Second-Jason-Greg...&lt;/a&gt;&lt;p&gt;# Computer graphics: Principles and Practice&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice-3rd&amp;#x2F;dp&amp;#x2F;0321399528&amp;#x2F;ref=as_li_ss_tl?s=books&amp;amp;ie=UTF8&amp;amp;qid=1484843854&amp;amp;sr=1-1&amp;amp;keywords=computer+graphics&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=ce5d19658fd2884b7b6bf7ceb09686dc&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice...&lt;/a&gt;&lt;p&gt;This is more of college textbook if you&amp;#x27;d prefer that but the WebGL one is more accessible and less dry.&lt;p&gt;# Physically Based Rendering &amp;amp; Real-Time Rendering&lt;p&gt;These discuss some state of the art techniques in computer graphics. I&amp;#x27;m not going to claim to have really read them but from what I&amp;#x27;ve seen they are very solid.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice-3rd&amp;#x2F;dp&amp;#x2F;0321399528&amp;#x2F;ref=as_li_ss_tl?s=books&amp;amp;ie=UTF8&amp;amp;qid=1484843854&amp;amp;sr=1-1&amp;amp;keywords=computer+graphics&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=ce5d19658fd2884b7b6bf7ceb09686dc&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice...&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Physically-Based-Rendering-Third-Implementation&amp;#x2F;dp&amp;#x2F;0128006455&amp;#x2F;ref=as_li_ss_tl?s=books&amp;amp;ie=UTF8&amp;amp;qid=1484843804&amp;amp;sr=1-1&amp;amp;keywords=physically+based&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=1c04902237f3600b48d26a8d3e9f507b&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Physically-Based-Rendering-Third-Impl...&lt;/a&gt;</text></item></parent_chain><comment><author>adamnemecek</author><text>Lol, I&amp;#x27;m flattered that you think it&amp;#x27;s worthy of saving. If you upvote it will show up in your profile in upvoted comments. Also, if you click on the date in the header of the comment, a favorite button should appear. When you favorite a comment it will show up in your profile in favorite comments.&lt;p&gt;&amp;gt; Also just kind of asking for curiosity, do you think a language like go or rust will become popular for developing game engines? I realize game programmers are anti-GC but what if GC technology advances that the performance drop is negligible I wonder.&lt;p&gt;I think it will but on some level, the needs of a game engine are different from the needs of say a DNS server. Jonathan Blow, the developer behind Braid (&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;braid-game.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;braid-game.com&amp;#x2F;&lt;/a&gt;) and Witness (&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;store.steampowered.com&amp;#x2F;app&amp;#x2F;210970&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;store.steampowered.com&amp;#x2F;app&amp;#x2F;210970&amp;#x2F;&lt;/a&gt;) has been working on a language called Jai &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;BSVino&amp;#x2F;JaiPrimer&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;JaiPrimer.md&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;BSVino&amp;#x2F;JaiPrimer&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;JaiPrimer.md&lt;/a&gt; even though he&amp;#x27;s aware of Rust and Go. He talks about some of his reasons in this video &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=TH9VCN6UkyQ&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=TH9VCN6UkyQ&lt;/a&gt;&lt;p&gt;One of the things he mentions is that the game industry doesn&amp;#x27;t care about security that much (which I didn&amp;#x27;t realize until then but it makes sense) compared with a DNS server or something so his ideal language might have different design considerations than Rust.</text></comment>
<story><title>A trip down the League of Legends graphics pipeline</title><url>https://engineering.riotgames.com/news/trip-down-lol-graphics-pipeline</url></story><parent_chain><item><author>treehau5</author><text>Pardon me asking, Is there a way to save comments for later? This is gold, and thank you for the resources. I have been very interested in graphics since I took Computer Graphics in College (It felt like an applied linear algebra course, but I loved it. It was subsequently the only course I felt like I was challenged beyond my abilities -- I had to take the course twice to get the credit, but I loved that class)&lt;p&gt;Also just kind of asking for curiosity, do you think a language like go or rust will become popular for developing game engines? I realize game programmers are anti-GC but what if GC technology advances that the performance drop is negligible I wonder.</text></item><item><author>adamnemecek</author><text>Few things consistently blow my mind as insane graphics demos&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4dfGzS&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4dfGzS&lt;/a&gt; (or basically anything on that site)&lt;p&gt;How is that 400 lines of code.&lt;p&gt;Or this one which even generates the sound on the GPU&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4ts3z2&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.shadertoy.com&amp;#x2F;view&amp;#x2F;4ts3z2&lt;/a&gt;&lt;p&gt;With the wide adoption of WebGL, it&amp;#x27;s a good time to get involved in graphics. Furthermore, GPUs are taking over esp. with the advent of machine learning (nvidia stock grew ~3x, amd ~5x last year). The stuff nvidia has been recently doing is kinda crazy. I wouldn&amp;#x27;t be surprised if in 15 years, instead of AWS, we are using geforce cloud or smth, just because nvidia will have an easier time building a cloud offering than amazon will have building a gpu.&lt;p&gt;These are some good resources to get started with graphics&amp;#x2F;games&lt;p&gt;# WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;WebGL-Programming-Guide-Interactive-Graphics&amp;#x2F;dp&amp;#x2F;0321902920&amp;#x2F;ref=as_li_ss_tl?ie=UTF8&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=6a3c5120f9335a1038329ba5136d0ca9&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;WebGL-Programming-Guide-Interactive-G...&lt;/a&gt;&lt;p&gt;Historically, C++ has definitely been THE language for doing graphics but if you are starting these these, you would have to have really compelling reasons to start with C++ and not JavaScript and WebGL. And that&amp;#x27;s coming from someone who actually likes C++ and used to write it professionally.&lt;p&gt;# Book of Shaders&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;thebookofshaders.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;thebookofshaders.com&amp;#x2F;&lt;/a&gt;&lt;p&gt;# Game Programming Patterns&lt;p&gt;&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;gameprogrammingpatterns.com&amp;#x2F;contents.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;gameprogrammingpatterns.com&amp;#x2F;contents.html&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Game-Programming-Patterns-Robert-Nystrom&amp;#x2F;dp&amp;#x2F;0990582906&amp;#x2F;ref=as_li_ss_tl?sa-no-redirect=1&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=abb3d10b5110e80969bf860188704f7c&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Game-Programming-Patterns-Robert-Nyst...&lt;/a&gt;&lt;p&gt;HN&amp;#x27;s own @munificent wrote a book discussing the most important design patterns in game design. Good book applicable beyond games.&lt;p&gt;# Game engine architecture&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Engine-Architecture-Second-Jason-Gregory&amp;#x2F;dp&amp;#x2F;1466560010&amp;#x2F;ref=as_li_ss_tl?_encoding=UTF8&amp;amp;psc=1&amp;amp;refRID=CYQ60B781NB1PD69E20Y&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=d234fcc54fc7579edd423dccfe0d47a4&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Engine-Architecture-Second-Jason-Greg...&lt;/a&gt;&lt;p&gt;# Computer graphics: Principles and Practice&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice-3rd&amp;#x2F;dp&amp;#x2F;0321399528&amp;#x2F;ref=as_li_ss_tl?s=books&amp;amp;ie=UTF8&amp;amp;qid=1484843854&amp;amp;sr=1-1&amp;amp;keywords=computer+graphics&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=ce5d19658fd2884b7b6bf7ceb09686dc&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice...&lt;/a&gt;&lt;p&gt;This is more of college textbook if you&amp;#x27;d prefer that but the WebGL one is more accessible and less dry.&lt;p&gt;# Physically Based Rendering &amp;amp; Real-Time Rendering&lt;p&gt;These discuss some state of the art techniques in computer graphics. I&amp;#x27;m not going to claim to have really read them but from what I&amp;#x27;ve seen they are very solid.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice-3rd&amp;#x2F;dp&amp;#x2F;0321399528&amp;#x2F;ref=as_li_ss_tl?s=books&amp;amp;ie=UTF8&amp;amp;qid=1484843854&amp;amp;sr=1-1&amp;amp;keywords=computer+graphics&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=ce5d19658fd2884b7b6bf7ceb09686dc&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Computer-Graphics-Principles-Practice...&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Physically-Based-Rendering-Third-Implementation&amp;#x2F;dp&amp;#x2F;0128006455&amp;#x2F;ref=as_li_ss_tl?s=books&amp;amp;ie=UTF8&amp;amp;qid=1484843804&amp;amp;sr=1-1&amp;amp;keywords=physically+based&amp;amp;linkCode=ll1&amp;amp;tag=akhn-20&amp;amp;linkId=1c04902237f3600b48d26a8d3e9f507b&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.amazon.com&amp;#x2F;Physically-Based-Rendering-Third-Impl...&lt;/a&gt;</text></item></parent_chain><comment><author>dang</author><text>&amp;gt; Is there a way to save comments for later?&lt;p&gt;Click on its timestamp to go to its page, then click &amp;#x27;favorite&amp;#x27;. Favorite stories and comments are visible from your profile page. Note that these are public, so users can browse each others&amp;#x27; favorites.</text></comment>