我的地形变得像这样奇怪的颜色:
http://tinypic.com/view.php?pic=307w421&s=7
有谁知道这里出了什么问题? 在我的代码的哪个区域(概念上)我应该调试这个?
来自我校的教程基于:http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Starting_a_project.php
我们使用了BasicEffect着色器并制作了引擎的各个部分,例如:相机,从heigthmap派生的3d顶点地形,基本光照,基本软法线和用于优化的缓冲区。
VertexPositionColorNormal Struct:
public struct VertexPositionColorNormal : IVertexType
{
#region Field
public Vector3 Position, Normal;
public Color Color;
#endregion
#region Constructor
public VertexPositionColorNormal(Vector3 position, Color color, Vector3 normal)
{
Position = position;
Color = color;
Normal = normal;
}
#endregion
#region properties
public static VertexElement[] VertexElements =
{
new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 0),
new VertexElement(sizeof(float) * 3, VertexElementFormat.Color, VertexElementUsage.Color, 0),
new VertexElement(sizeof(float)*3+4,VertexElementFormat.Vector3, VertexElementUsage.Normal,0),
};
public readonly static VertexDeclaration VertexDeclaration = new VertexDeclaration(VertexElements);
VertexDeclaration IVertexType.VertexDeclaration
{
get { return VertexDeclaration; }
}
#endregion
答案 0 :(得分:1)
尝试删除此行末尾的,
:
new VertexElement(sizeof(float)*3+4,VertexElementFormat.Vector3, VertexElementUsage.Normal,0),
我还注意到您在代码中添加了constructor
,但Riemer的网站上没有。{/ p>
此外,您可能更容易将代码作为zip文件发布到某处,以便我们可以看一看。