假设我的世界中有一个3d对象看起来像下面的东西..
http://en.wikipedia.org/wiki/File:Graftal3.png
我还有一个节点存储有关如何绘制的信息,例如......
http://en.wikipedia.org/wiki/File:Graftal4.png
如何从一个插值到另一个插值。根据我的研究,我知道我将不得不使用顶点着色器。但困扰我的主要部分是第二个模型比原始图像有更多的顶点。
我希望得到一些关于如何实现这种影响的指导。
谢谢!
答案 0 :(得分:2)
对于您所描述的情况,顶点着色器是错误的。您想要使用几何着色器。这要求您使用Direct3D 10或OpenGL 3.2(或者具有合适扩展名的OGL2)
在几何着色器中,您可以使用基本几何数据为其提供数据,您可以根据需要从中生成其他顶点。在您的情况下,您可能需要使用树的根的单行来提供它,并根据需要对树进行细分。
您有多种着色器语言选项,具体取决于您打算运行应用程序的渲染系统。您尚未指定正在使用的渲染系统,实际实现将取决于此选择。
唯一真正的其他选择是以旧式方式在着色器之外生成几何体,然后在没有几何着色器的情况下渲染它,但仍然根据需要使用顶点和像素着色器。
它还取决于您使用的是哪个OGRE版本。 Ogre 1.6及以上版本支持几何着色器,这应该没问题。