C# XNA漫反射着色器问题。有些地方有奇怪的影子。附图

C# XNA漫反射着色器问题。有些地方有奇怪的影子。附图,c#,xna,shader,shadow,normals,C#,Xna,Shader,Shadow,Normals,正如您在该图像中所看到的,漫反射着色在某些地方正常工作,但在其他地方,例如球体底部,您可以看到球体的正方形/三角形 网格 你知道这是什么原因吗?如果您需要更多与此相关的信息,请告诉我 密码如果需要,我可以上传法线计算和着色器效果 编辑: 这里有一个指向我正在使用的着色器的链接 链接到法线计算:坏区域中的着色实际上看起来像是从它应该的位置镜像过来的。着色器是你自己写的吗?看起来它可能在南半球计算出了错误的东西,可能是表面法线。我已经编辑了OP以包含着色器链接。我使用了一个reimers教程,并将其

正如您在该图像中所看到的,漫反射着色在某些地方正常工作,但在其他地方,例如球体底部,您可以看到球体的正方形/三角形 网格

你知道这是什么原因吗?如果您需要更多与此相关的信息,请告诉我 密码如果需要,我可以上传法线计算和着色器效果

编辑: 这里有一个指向我正在使用的着色器的链接


链接到法线计算:

坏区域中的着色实际上看起来像是从它应该的位置镜像过来的。着色器是你自己写的吗?看起来它可能在南半球计算出了错误的东西,可能是表面法线。我已经编辑了OP以包含着色器链接。我使用了一个reimers教程,并将其更改为包含法线。我也尝试过使用basicefect进行漫反射,效果也一样。似乎在形状的北面也有同样的效果。你能在着色器中看到我可能做错了什么吗?你确定所有顶点都有相同的颜色和正确的法线吗?我确定顶点的颜色相同。至于法线,我在计算中附加了一个链接。我只是觉得奇怪,阴影是完美的,在一些地方,而不是其他地方。