图形故障Xna图形教程-调试

本文关键字:图形 调试 Xna 故障 教程 | 更新日期: 2023-09-27 17:54:53

我的地形有奇怪的颜色,像这样:

http://tinypic.com/view.php?pic=307w421& s = 7

有人知道这里出了什么问题吗?我应该在代码的哪个区域(概念上)进行调试?

更新:

这是来自我学校的教程,基于:http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Starting_a_project.php

我们使用了BasicEffect着色器并制作了引擎的各个部分,例如:相机,从高度图派生的3d顶点地形,基本照明,基本软法线和用于优化的缓冲区。

VertexPositionColorNormal结构:

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

图形故障Xna图形教程-调试

尝试删除本行末尾的,:

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

我也注意到你已经添加了一个constructor到你的代码,但没有一个在Riemer的网站。

另外,您可以将代码以zip文件的形式发布到某个地方,这样我们可以查看一下。