3

假设我的世界中有一个 3d 对象,如下所示。

http://en.wikipedia.org/wiki/File:Graftal3.png

我还有一个节点存储有关如何绘制的信息,例如......

http://en.wikipedia.org/wiki/File:Graftal4.png

我如何从一个插值到另一个。根据我的研究,我知道我将不得不使用顶点着色器。但困扰我的主要部分是第二个模型比原始图像有更多的顶点。

我希望得到一些关于如何实现这种影响的指导。

谢谢!

4

1 回答 1

2

对于您所描述的情况,顶点着色器是错误的。您想改用几何着色器。这要求您使用 Direct3D 10 或 OpenGL 3.2(或者带有合适扩展的 OGL2)

在几何着色器中,您向它提供基本几何数据,您可以根据需要从中发出额外的顶点。在您的情况下,您可能会用单行作为树的根,并根据需要对树进行细分。

您有多个着色器语言选项,具体取决于您打算让应用程序在其上运行的渲染系统。您尚未指定正在使用的渲染系统,实际实现将取决于此选择。

唯一真正的其他选择是以老式方式在着色器之外生成几何图形,然后在没有几何着色器的情况下渲染它,但仍根据需要使用顶点和像素着色器。

它还取决于您使用的 OGRE 版本。Ogre 1.6 及更高版本支持几何着色器,这应该没问题。

于 2012-08-22T06:39:09.693 回答