图形Glitch Xna GraphicsTutorial - 调试

时间:2011-05-05 19:33:53

标签: c# xna rendering terrain heightmap

我的地形变得像这样奇怪的颜色:

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

1 个答案:

答案 0 :(得分:1)

尝试删除此行末尾的,

new VertexElement(sizeof(float)*3+4,VertexElementFormat.Vector3, VertexElementUsage.Normal,0),

我还注意到您在代码中添加了constructor,但Riemer的网站上没有。{/ p>

此外,您可能更容易将代码作为zip文件发布到某处,以便我们可以看一看。