繁体   English   中英

使用SlimDX进行奇怪的渲染(面上有孔)

[英]Strange rendering using SlimDX (holes in faces)

我仅用SlimDX(DirectX 11)渲染一个简单的旋转立方体就遇到了问题。 多维数据集正在旋转,这些是我得到的图像:

渲染问题

我使用此顶点着色器:

    float4x4 WorldViewProj : register(c0);
    float4 VShader(float4 position : POSITION) : SV_POSITION
    {
        return mul(float4(position.xyz, 1.0), WorldViewProj);
    }

这就是我准备WorldViewProj的方式:

ProjectionMatrix = Matrix.PerspectiveFovLH((float)(Math.PI / 4.0), 1f, -1, 20);
ViewMatrix = Matrix.LookAtLH(new Vector3(0f, 0, ypos), new Vector3(0f, 0, 10), new Vector3(0f, 1f, 0f)); 

Matrix positionMatrix = Matrix.Translation(position);
Matrix rotationMatrix = Matrix.RotationYawPitchRoll(rotation.X, rotation.Y, rotation.Z);
Matrix scaleMatrix = Matrix.Scaling(scale);
Matrix worldMatrix = rotationMatrix * scaleMatrix * positionMatrix;
worldMatrix = Matrix.Transpose(worldMatrix);

Matrix WorldViewProj = ViewMatrix * ProjectionMatrix * worldMatrix;

首先,我看到了这个问题: 使用SlimDX时剪辑和3D投影不正确

而且,矩阵可能出了点问题(因为我既不转置视图也不投影,而是转置世界-相反,则不渲染任何东西)。 但是,即使我将视图矩阵和投影矩阵都设置为单位矩阵,“孔”仍然存在。

请帮助并提前致谢!

发现问题。 索引缓冲区中的顶点顺序错误。 真可惜:)感谢大家的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM