我一直在修补在 XNA/D3D (DX11) 中渲染台球。我编写了一个 Blinn-Phone 着色器,它使用 HLSL 中的 SamplerState 将我的台球纹理映射到我在 VisualStudio2012 中生成的球体 FBX。
我遇到了两个问题,这两个问题都在下图中最右边的球上最明显。
1)您可以看到纹理揭示了球体的底层多边形所在的位置。
2)在第三行的底部边缘,条纹下方只有一点白色,看起来非常锯齿或锯齿状。
纹理应用似乎在很大程度上超出了我的控制范围,因为顶点法线之间的插值是在管道内完成的,而不是由我完成的。
那么,我该如何改进呢?生成具有更多多边形的新球体?
我为抗锯齿做了以下工作,但坦率地说,如果有的话,它似乎做的很少:
graphics.PreferMultiSampling = true;
graphics.ApplyChanges();
GraphicsDevice.PresentationParameters.MultiSampleCount = 4;
这是我的纹理贴图状态,它的价值。任何想法将不胜感激。如果您需要更多信息,请告诉我!
sampler2D ColorSampler = sampler_state {
Texture = <ColorTexture>;
FILTER = MIN_MAG_MIP_LINEAR;
AddressU = Wrap;
AddressV = Wrap;
};