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.

Casual Introduction to Low-Level Graphics Programming

137 pointsby deafcalculusover 8 years ago

11 comments

nightcrackerover 8 years ago
I disagree with the introduction of the article. Low-level graphics programming is incredibly math intensive, and a solid understanding of trigonometry, linear algebra and discrete math is __required__ to be succesful in it. When I say discrete math, I mean fundamental understanding of how data is represented, and how you can interpret data as you please. E.g. using textures to store depth maps or even sound data, IEEE754 floats, etc.<p>There are many areas of design and 3d graphics that do not involve math, but to claim that low-level graphics programming doesn&#x27;t involve a lot of math is disingenuous and harmful.
评论 #12825156 未加载
mrspeakerover 8 years ago
Excellent introductory post! There&#x27;s so much to digest when you start playing around with things like OpenGL that you quickly get lost in the details... just memorizing things (&quot;now for some reason I have to type &quot;bindBuffer&quot;). It&#x27;s hard to build up a mental model for WHY you&#x27;re doing all the steps. This gives a great bigger picture overview! (though, the next step is still the ocean of nitty-gritty details ;)
m_fayerover 8 years ago
As someone who&#x27;s only used high-level UI stacks (DOM, WPF, Android view system, etc.), I would love to read a great article that&#x27;s a &quot;Casual Introduction to Low-Level Graphics Programming&quot;, these are basics that I&#x27;ve been meaning to add to my quiver for a long time. Unfortunately, this less-than-coherent article is not it.
评论 #12825506 未加载
nooberminover 8 years ago
&gt;Vectors have more values, 3 is common. Very useful for things like position or color.<p>&gt;If two vectors overlap, the dot product is 1. If they are perpedicular (90 degree angle), the dot product is 0. (Note: just for vectors that only represent a direction and have length 1, you can think about varying vector lengths later)<p>Something is terrible incongruent (pun intended) here. How can three numbers have a length, much less length of one? I think here, the <i>mathematical</i> introduction that a vector is just an arrow is better here. It just so happens you can express the arrow as a set of numbers, which I admit is not obvious at first unless you&#x27;ve taken algebra 2. But the jump from &quot;3 numbers&quot; to length is confusing too.<p>The truth is people conflate vectors with arrays, but if you want to think deeper than anyone who does computer graphics needs to, you don&#x27;t need coordinates or any group of numbers to express vectors.
评论 #12825943 未加载
评论 #12825452 未加载
mellingover 8 years ago
I&#x27;ve got a list of computer graphics resources on Github:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;melling&#x2F;ComputerGraphics&#x2F;blob&#x2F;master&#x2F;README.org" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;melling&#x2F;ComputerGraphics&#x2F;blob&#x2F;master&#x2F;READ...</a>
pandamanover 8 years ago
It&#x27;s bad. One one hand it gives something more or less true in a &quot;casual&quot; manner but on the other it&#x27;s also intermixed with complete BS. E.g. wtf specular does not depend on view direction? It&#x27;s called specular for a reason.<p>While I have no problem with people simplifying things for introduction to laymen, I think introducing falsehoods like this will do more harm than good.
评论 #12824539 未加载
generic_userover 8 years ago
While its true that you probably do not need to be very good at math to do basic graphics, you do need &#x27;some&#x27; math. You need to be able to understand the basic algorithms of the graphics pipeline to use them correctly and experiment. The best source for a detailed and &#x27;gentile&#x27; intro is still one of the introduction to computer graphic books. You can sit with a pad of paper and work through some of the formulas on paper until you understand what they do.<p>One of my favorites, because it does not use any particular language and the math derivations are detailed and easy to fallow.<p>Fundamentals of Computer Graphics - Shirley <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Fundamentals-Computer-Graphics-Peter-Shirley&#x2F;dp&#x2F;1568814690" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Fundamentals-Computer-Graphics-Peter-...</a>
jlaroccoover 8 years ago
Maybe my expectations are too high, but that&#x27;s just a collection of random comments loosely related to graphics. It&#x27;s a terrible introduction, and it doesn&#x27;t give any concrete information on how to get started.<p>My advice for people interested in graphics would be to jump in and get started with a tutorial on the web and then get a book or two to learn more. My recommendations would be:<p>Introduction To Ray Tracing - It focuses on ray tracing, but many of the topics (vectors, matrices, shading, view transforms, etc.) are applicable regardless of the actual rendering method, and it does a good job explaining all of it.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Introduction-Tracing-Kaufmann-Computer-Graphics-ebook&#x2F;dp&#x2F;B003VWBY18&#x2F;ref=mt_kindle?_encoding=UTF8&amp;me=" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Introduction-Tracing-Kaufmann-Compute...</a><p>Real Time Rendering - This also covers all the math, but focuses on rendering at a higher level and covers more ground.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Real-Time-Rendering-Third-Tomas-Akenine-Moller&#x2F;dp&#x2F;1568814240&#x2F;ref=sr_1_1?ie=UTF8&amp;qid=1477765570&amp;sr=8-1&amp;keywords=real+time+rendering" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Real-Time-Rendering-Third-Tomas-Akeni...</a><p>Finally, Computer Graphics: Principles and Practice - This is a great general reference for more specific topics. It&#x27;s like Real Time Rendering expanded to cover more topics and going into more depth. Not a beginner reference, but great to have when you need more information on something.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Computer-Graphics-Principles-Practice-3rd&#x2F;dp&#x2F;0321399528&#x2F;ref=dp_ob_title_bk" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Computer-Graphics-Principles-Practice...</a>
elpockoover 8 years ago
Graphics programming introduction, followed by fashion advice for software developers. Heh.
aj7over 8 years ago
Does this person know anything about graphics, or is this some sort of creative writing or reportorial exercise?<p>How can one introduce vectors without the word &quot;direction&quot;?<p>How can one so thoroughly screw up the introduction to illumination?
评论 #12824821 未加载
评论 #12824945 未加载
评论 #12827658 未加载
posterboyover 8 years ago
js;dr: the page doesn&#x27;t render without javascript.
评论 #12823899 未加载
评论 #12824156 未加载
评论 #12823884 未加载
评论 #12826775 未加载