UF Game 游戏开发

分享游戏开发的经验和技巧,包括各种游戏开发套件和工具的使用

固定functionvs着色器:对于初学者来说?

我正在上大学的计算机科学。 尽管我打算利用现有的引擎来创建一个小游戏,但我现在的目标是学习基本原理,即3D编程。 我已经对DirectX和OpenGL之间的select做了一些研究,所产生的一般情绪是,无论您selectOpenGL还是DirectX作为您的训练平台,许多知识都可以转移到其他平台。 因此,由于OpenGL支持更多的系统(可能是一个愚蠢的理由select学习),我决定先学习OpenGL。 在做出了OpenGL学习的决定之后,我做了一些更多的研究,并发现了一个二分法,我一直不知道这一点:固定function的OpenGL与现代可编程着色器的OpenGL。 起初,我认为这是一个明显的select,我应该select学习基于着色器的OpenGL,因为这是当今业界最常用的。 然而,我却偶然发现了位于这里的Jason L. McKesson非常stream行的Learning Modern 3D Graphics Programming : http : //www.arcsynthesis.org/gltut/ 我通读了介绍性文章,在“关于本书”一节中,作者指出: “首先,当用户遇到必须用可编程性解决的graphics问题时,必须放弃大部分用这种方法学到的东西,可编程性几乎消除了所有的固定functionstream水线,所以知识不容易转移。 但同时也使得固定function为初学者提供了一个更容易,更直接的学习曲线,通过陈述: “通常认为使用固定function管道教新手graphics程序员是最容易的。 当然,你可以看到为什么我可能会冲突学习的范式:我花了很多时间学习(后来不再学习)固定function的方式,还是select着色器? 我主要关心的是,现代可编程着色器不知何故需要程序员已经了解固定functionstream水线,但我怀疑是这样。 TL; DR =作为一个有抱负的游戏graphics程序员,通过固定function或基于现代着色器的编程来学习3D编程对我来说是最有利的吗?