如果我想开始学习3D计算机图形和几何建模,我需要哪一个?
#1 楼
从根本上讲,诸如OpenGL或Direct3D之类的渲染API提供了一个统一的接口,可以与底层的图形适配器进行通信。抽象背后隐藏着硬件上的差异,大大简化了开发。低级API提供了基本功能,可以完全控制您,但没有很多期望的功能。像OGRE或Irrlicht这样的3D渲染框架引入了3D对象的更易理解的概念,该对象可以在空间中移动(大多数时间不必担心变换矩阵),介绍了用于阴影投射(例如阴影贴图),加载的光源和算法常见的网格格式,列表继续。我将其称为框架,是因为您仍然需要使用实际代码自行开发应用程序,而引擎为您提供了用于开发软件的应用程序。这只是我个人的区别,并且在各种情况下这两个术语的用法不同。
在Blender或Autodesk Maya(离线)或3DExcite DeltaGen(实时)等3D创作/渲染软件中,您可以使用内置功能加载,显示或创建网格。这些应用程序以3D数据,图像或电影的创建为目标,通常您不能轻松地用它创建交互式应用程序。请注意,某些3D创作具有专门针对此功能的模块,例如Blender和集成的Blender游戏引擎。
3D游戏引擎最终为您提供了所有工具,使您轻松开发游戏。通常会为您提供一个关卡编辑器,一个材质编辑器,甚至可能是一种可见的脚本语言(例如Unreal的Blueprint或更早的Kismet),以实现动态行为和交互性。您不必担心渲染算法,因为它们已经为您实现。例如,您选择的引擎可能具有针对动态对象的SSAO和级联阴影贴图,以及针对静态几何体烘焙全局照明的解决方案。而且,游戏引擎不仅包括渲染,还包括其他方式。人工智能,声音,资产加载,将您的内容导出到可立即安装的包中等。
您可以看到,每个软件包通常都具有另一层抽象,理想地使您的生活更美好更简单。每个都有自己的目的,并允许您做不同的事情。请注意,上述用语非常广泛,人们有不同的看法,有时甚至就一类商品在何处结束而下一类商品在何处展开辩论。我的建议是不要为此沉迷。
评论
$ \ begingroup $
挑剔:Blender还具有集成的游戏引擎。
$ \ endgroup $
– Wumpf
2015年9月8日14:09
$ \ begingroup $
@Wumpf也没有任何内容指出maya不能用于类似元素的交互式游戏。 Maya运动捕捉就是这样工作的,考虑到软件价格,它作为游戏引擎的传导性不是很好。无论如何,这些术语绝对是分散的。
$ \ endgroup $
– joojaa
2015年9月10日在6:20
$ \ begingroup $
我编辑了答案,以包括您的评论。谢谢。
$ \ endgroup $
– David Kuri
2015年9月10日在9:26
评论
3D计算机图形学和几何建模包括很多东西,从照明算法到网格处理算法,再到创建具有纹理和动画效果的三维虚拟对象的“创意”任务。除了在同一空间外,这些东西没有太多共同之处。您能否详细说明您想确切学习什么?@ DavidKuri,computergraphics.stackexchange.com / questions / 1455 /…
在阅读其他问题时,您希望从头开始学习所有内容。因此,在进行软件光栅化之后(实际上是在其中复制专用GPU的工作),接下来将是普通渲染API。
@DavidKuri,我没得到你。
您似乎对学习感兴趣,而不仅仅是创建应用程序。例如,如果您开始使用游戏引擎,您可能不会学习阴影技术的工作原理,因为它们已经存在并且可以使用。从低级渲染API开始,并亲自实施阴影技术以学习它。