关闭

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

718人阅读 评论(0) 收藏 举报

 由于窗口改变大小写时会触发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;
        }
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13284次
    • 积分:242
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章存档
    最新评论