每个图形程序员应该写些什么[关闭]


18

我已经在SO上看到了这个问题,但是在这里我希望它专注于GFX。

因此,您认为每个有抱负的GFX程序员应该编写/更改哪些应用程序/功能以使其变得更好?

社区Wiki,因为没有“正确答案”。

LE:不是指实际的游戏,而是指图形功能,例如更改引擎中的某些内容(例如,它如何加载对象),制作合成器等等。


Answers:


22

我的答案始终是相同的:如果您以前没有写过,请编写raytracer。

您将不得不处理优化结构,数值精度以及各种各样的其他问题,但是您也将直接以光的数学方式工作,这是您在处理构成所有问题和近似值时很少采用的方式生产实时渲染器。

剥去所有加载系统的大厦,每周流行的术语,推迟或向前,然后,最后,您将离开,光线穿过介质。最后,这就是图形的全部内容。


有趣的是,我也在考虑建议使用光线跟踪器,这是一个非常不错的数学练习。我确实不同意延期是本周的流行语,就像光线追踪一样,渲染方式也发生了相当大的变化,对于图形程序员来说,这似乎是您应该意识到的事情。
Kaj 2010年

我要说的是,优化不如处理任意网格重要,这是很多人从不使用射线追踪器的步骤。
乔纳森·费斯霍夫

我第二(第三个?)这个建议,并警告(如前所述),它需要支持网格物体,而不仅仅是停留在棋盘上的发光球体上。任何尝试全局照明的奖励积分。即使您没有将其大量优化为实际可用的东西,您也应努力了解哪些位较慢以及为什么。
JasonD

这个建议有一个警告-尽管图形只需要轻便的行进介质,但对于实际(当前)生产环境中所需的内容,它却几乎没有提供培训。
Kaj 2010年

1
+1编写光线追踪器是我在大学图形课上学到的最有用的东西
Bryan Denny 2010年

7

这些天可能几乎没有实际用途,但是在软件渲染器(至少是一个基本的渲染器)(可能只是一些旋转的纹理立方体)上进行书写是值得进行的练习。

自己了解如何变换,投影,裁剪,深度排序,栅格化和纹理贴图多边形,可以使您更好地了解3D硬件和渲染API的功能


这个差不多。除此以外,带有alpha支持的sprite blitter。..或至少是任何东西,在其中您可以通过像素的位值来操纵像素。
Lassi Kinnunen

6

虽然不渲染代码,但我认为编写BSP编译器和随附的遍历代码是矢量数学中的不错练习。
其次,延迟渲染器。并不是因为这是渲染的最终答案,而是让您洞悉另一种渲染方法。


2

学习编写优质着色器的技巧和技巧。尽管并非在所有情况下都100%必要,但这是一项有价值的技能。


我同意您的回答,但是它的范围太广了,获得完整答案的一些资源和指向它们的链接不会受到损害:)。
lukas.pukenis 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.