如何消除Direct3D中的锯齿? -- 关于Mesh.TessellateNPatches的使用
堆烟 2007-12-10 09:22:01 我通过Mesh.Cylinder和Mesh.Cone得到的圆柱和三角锥来生成3D坐标轴,在非特定角度会出现非常明显的锯齿。。。
只是为了得到三维坐标轴,没有其他的任何需要。
打算使用Mesh.TessellateNPatches细分Mesh来消除锯齿现象:
cylinder是一个Mesh。下面的代码隐去了异常处理部分。
VertexBuffer vb = cylinder.VertexBuffer;
GraphicsStream adj = vb.Lock(0,0,0);
Mesh tmp = Mesh.TessellateNPatches( cylinder, adj, 4, true);
if( tmp != null) cylinder = tmp;
....
在执行到语句tmp = Mesh.TessellateNPatches( cylinder, adj, 4, true);时会抛出异常,是不是不能这样调用啊?
谢谢了。。。。