DirectX 3D中由窗口改变大小而引发的某些三角形不能绘制的问题

 由于窗口改变大小写时会触发Device.DeviceReset事件。此时,device.RenderState.CullMode 会被系统置为默认值

Cull.CounterClockwise(按逆时针顶点剔除背面),这将造成某些三角形不能绘制的问题。解决此问题的方法如下:

 

        /**//// <summary>
        
/// 设备重置事件,当设备重置时device.RenderState.CullMode将被系统设为默认值CounterClockwise
        
/// </summary>

        private void OnResetDevice(object sender, EventArgs e)
        
...{
            Device dev 
= (Device)sender;
            
/**//* 
             * 定义支持的剔除模式,这些模式指定在几何体呈现期间如何剔除背面。           
             * Clockwise:按顺时针顶点剔除背面;CounterClockwise:按逆时针顶点剔除背面;None:不剔除背面            
             * 默认值为 CounterClockwise
             
*/

            device.RenderState.CullMode 
= Cull.None;
        }
阅读更多
文章标签: object
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

DirectX 3D中由窗口改变大小而引发的某些三角形不能绘制的问题

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭