{"id":5469,"date":"2021-02-19T10:38:00","date_gmt":"2021-02-19T16:38:00","guid":{"rendered":"http:\/\/www.realtimerendering.com\/blog\/?p=5469"},"modified":"2021-02-19T13:55:53","modified_gmt":"2021-02-19T19:55:53","slug":"seven-things-for-february-19-2021","status":"publish","type":"post","link":"https:\/\/www.realtimerendering.com\/blog\/seven-things-for-february-19-2021\/","title":{"rendered":"Seven Things for February 19, 2021"},"content":{"rendered":"<p>Seven things:<\/p>\n<ul>\n<li>Cem Yuksel is posting video lectures for <a href=\"https:\/\/twitter.com\/cem_yuksel\/status\/1355692959065276416\">his Intro to Computer Graphics course<\/a> at the University of Utah. <a href=\"https:\/\/www.youtube.com\/playlist?list=PLplnkTzzqsZTfYh4UbhLGpI5kGd5oW_Hh\">Here&#8217;s the playlist<\/a> (with more coming). You can also <a href=\"https:\/\/twitter.com\/cem_yuksel\/status\/1359606823959973888\">catch his latest lecture<\/a> live. I (multi-task) watched the one on texturing yesterday and appreciated how he noted that we use (s,t) texture coordinates but usually call them (u,v). Practical advice for how the field actually works.<\/li>\n<li>My go-to format for quickly writing out an image from some throwaway program is PPM. It&#8217;s easy enough to write from scratch each time, but <a href=\"https:\/\/rosettacode.org\/wiki\/Bitmap\/Write_a_PPM_file\">here&#8217;s a page of code<\/a> in just about every language under the sun for doing that. This will save me the five minutes of &#8220;oh, I forgot to put a carriage return&#8221; next time around. Plus, they give versions that write to the binary form of PPM, and some have fancier and nicer interfaces than I would have hacked. (If you need to output to a more serious image file format, I like\u00a0<a href=\"https:\/\/lodev.org\/lodepng\/\">LodePNG<\/a>, C++ for PNG).<\/li>\n<li>Speaking of languages, what is today&#8217;s top computer language, by popularity? No, not that one, nor that one. <a href=\"https:\/\/www.zdnet.com\/article\/programming-languages-this-old-favourite-tops-the-charts-again\/\">Answer here<\/a>, by one estimate. Nice to know the <a href=\"https:\/\/www.realtimerendering.com\/resources\/GraphicsGems\/\">Graphics Gem Repository<\/a>\u00a0code base is still relevant, despite it being 30 years old. Code doesn&#8217;t rust (though you may have to futz with the headers).<\/li>\n<li>A <a href=\"https:\/\/research.activision.com\/publications\/2020-10\/raytraced-shadows-in-call-of-duty--modern-warfare\">surprisingly chewy set of slides<\/a> with copious notes about ray tracing in <em>Call of Duty: Modern Warfare<\/em>. Bits of it are over my head without further reading, but it has great information about various bottlenecks encountered and solutions explored.<\/li>\n<li>If you&#8217;re looking for a rabbit hole of articles to wade through (mixing my metaphors), consider <a href=\"https:\/\/fabiensanglard.net\/\">Fabien Sanglard&#8217;s collection<\/a>. Lots there, with a recent trend towards explaining the technical characteristics of a wide range of video game and GPU architectures. One example: <a href=\"https:\/\/fabiensanglard.net\/cuda\/index.html\">a history of NVIDIA&#8217;s streaming multiprocessor<\/a>.<\/li>\n<li>&#8220;<a href=\"https:\/\/casual-effects.com\/research\/McGuire2020BSDF\/index.html\">A Taxonomy of Bidirectional Scattering Distribution Function Lobes for Rendering Engineers<\/a>,&#8221; a workshop proposal for establishing a few terms as the ones to use. The title and subject probably don&#8217;t get your heart racing. What makes it entertaining are the\u00a0<a href=\"https:\/\/www.youtube.com\/watch?t=30&amp;v=wpvTMKGcMTU&amp;feature=youtu.be\">xkcd-like cartoons<\/a> explaining various book authors&#8217; views. The recent <a href=\"https:\/\/deadline.com\/2021\/02\/academy-awards-revealed-for-17-scientific-and-technical-achievements-virtual-ceremony-february-13-1234685601\/\">Sci &amp; Tech Oscars<\/a> reminded me of it, as winners this year include some computer graphics people.<\/li>\n<li>The sheer dedication of some artists is incredible. <a href=\"https:\/\/www.sunset.com\/travel\/outdoor-adventure\/simon-beck-snow-art-colorado\">Simon Beck<\/a> makes Andy Goldsworthy (who you should <a href=\"https:\/\/www.google.com\/search?q=andy+goldsworthy&amp;rlz=1C1CHBF_enUS912US912&amp;sxsrf=ALeKk006O6aDD4kjEsGLBbf2NWUWyjV5Eg:1613752605283&amp;source=lnms&amp;tbm=isch&amp;sa=X&amp;ved=2ahUKEwio3av2sPbuAhXEqFkKHbl7BKsQ_AUoAXoECBcQAw&amp;biw=1769&amp;bih=862\">google<\/a> if you don&#8217;t know) look a bit indolent.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5470\" src=\"http:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2021\/02\/Marlou32b_-80-900x500.jpg\" alt=\"\" width=\"900\" height=\"500\" srcset=\"https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2021\/02\/Marlou32b_-80-900x500.jpg 900w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2021\/02\/Marlou32b_-80-900x500-300x167.jpg 300w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2021\/02\/Marlou32b_-80-900x500-768x427.jpg 768w, https:\/\/www.realtimerendering.com\/blog\/wp-content\/uploads\/2021\/02\/Marlou32b_-80-900x500-500x278.jpg 500w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seven things: Cem Yuksel is posting video lectures for his Intro to Computer Graphics course at the University of Utah. Here&#8217;s the playlist (with more coming). You can also catch his latest lecture live. I (multi-task) watched the one on texturing yesterday and appreciated how he noted that we use (s,t) texture coordinates but usually [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5469","post","type-post","status-publish","format-standard","hentry","category-misc"],"_links":{"self":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/5469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/comments?post=5469"}],"version-history":[{"count":5,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/5469\/revisions"}],"predecessor-version":[{"id":5477,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/5469\/revisions\/5477"}],"wp:attachment":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/media?parent=5469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/categories?post=5469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/tags?post=5469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}