Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharpDX工具包模型由内而外渲染_C#_Sharpdx - Fatal编程技术网

C# SharpDX工具包模型由内而外渲染

C# SharpDX工具包模型由内而外渲染,c#,sharpdx,C#,Sharpdx,不久前,我决定从XNA切换到SharpDX Toolkit,因为它受到了积极的支持,并且与XNA非常相似。虽然我在创建2D游戏方面没有遇到任何问题,但我决定尝试一个基本的3D游戏。我可以加载模型和它的纹理,但当它渲染时,它只显示背向摄影机一侧的纹理,而不显示中间的任何东西 这是我用来设置环境的代码 Vector3 cameraPosition = new Vector3(0, 0, -10f * 2.5f); Vector3 cameraTarget = Vector3.Zero

不久前,我决定从XNA切换到SharpDX Toolkit,因为它受到了积极的支持,并且与XNA非常相似。虽然我在创建2D游戏方面没有遇到任何问题,但我决定尝试一个基本的3D游戏。我可以加载模型和它的纹理,但当它渲染时,它只显示背向摄影机一侧的纹理,而不显示中间的任何东西

这是我用来设置环境的代码

    Vector3 cameraPosition = new Vector3(0, 0, -10f * 2.5f);
    Vector3 cameraTarget = Vector3.Zero;

    BoundingSphere modelBounds = model.CalculateBounds();

    float fovAngle = MathUtil.DegreesToRadians(45);
    float aspectRatio = (float)GraphicsDevice.BackBuffer.Width / GraphicsDevice.BackBuffer.Height;
    float near = 0.01f;
    float far = 100f;
    float scaling = 10f / modelBounds.Radius;

    Matrix translation = Matrix.Scaling(scaling) * Matrix.RotationY((float)gameTime.TotalGameTime.TotalSeconds) * Matrix.Translation(0, -modelBounds.Center.Y * scaling, 0);
    Matrix lookAt = Matrix.LookAtLH(cameraPosition, cameraTarget, Vector3.Up);
    Matrix projection = Matrix.PerspectiveFovLH(.9f, aspectRatio, near, far);
这就是呈现它的代码

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(Color.CornflowerBlue);

        model.Draw(GraphicsDevice, translation, lookAt, projection);

        base.Draw(gameTime);
    }

感谢您提供的任何帮助。

请注意,当曲面法线反转时,会出现这种行为;背面消隐是隐藏正面,显示背面而不是消隐。如果多边形方向错误,法线可以翻转。请参阅以获取解释和修复。谢谢您的帮助,效果非常好。