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

原创 2007年09月12日 14:55:00

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

Directx9.0 学习教程3 -图形学之创建点 线 三角形 等

1、首先 介绍点的表示方法 struct CUSTOMVERTEX { float x,y,z; }; CUSTOMVERTEX Vertices[] = { {-5.0, -5.0, 0....
  • cq361106306
  • cq361106306
  • 2014年09月28日 15:29
  • 1543

Directx3D9学习之二:Windows编程之最简单窗口程序

Directx3D9学习之二:Windows编程之最简单窗口程序 一、一些基本知识介绍 由于D3D的编程要借助于windows的窗口来体现,所以也需要懂一些windows的编程知识(以前做得比较多的是...
  • lhqsine
  • lhqsine
  • 2015年01月31日 23:05
  • 2786

【DirectX3D】零基础画三角形

初始化工作: DirectX是一系列COM 对象,其中一种是Direct3D,其创建释放也比较简单 d3d->CreateDevice() d3d->Release() Swap Chai...
  • himilong
  • himilong
  • 2015年09月12日 20:51
  • 214

【DirectX 3D游戏开发】DirectX 3D 窗口的创建

3D窗口创建工程链接:             我前面在我DirectX 2D 游戏的开发的博客里写过关于DirectX 2D游戏窗口的创建,当然那个2D并不是DirectX Draw 的2D,而是运...
  • shangdi712
  • shangdi712
  • 2015年09月09日 23:48
  • 805

mfc动态改变对话框窗口大小和显示位置

[cpp] view plaincopyprint? void CMainFrame::OnChangeSize()   {      // TODO: Add your command...
  • mowwwcom
  • mowwwcom
  • 2014年11月13日 17:33
  • 3836

DirectX学习笔记(三):利用线框模式绘制可旋转的正方体

前言: 一个场景中,任何物体都可以用三角形网格来逼近表示。也就是说,三角形网格是构成物体模型的基本单元。 如图: 利用线框模式绘制可旋转的正方体的具体操作: 1.顶...
  • lishuzhai
  • lishuzhai
  • 2016年09月12日 22:24
  • 2915

OpenGL编程(六)通过三角形绘画出3D模型

使用三角形绘制3D模型 三角形是基本的多边形,任何多变形都能由三角形组成。三角形是由三个顶点的连线组成。三个点分别是v0;v1;v2。1、绕法 从某个顶点开始,有两种连线的方法,顺时针和逆时针...
  • chenxiqilin
  • chenxiqilin
  • 2016年08月07日 21:50
  • 3971

directx学习之在屏幕上画一个三角形

前一张已经输出了一个背景为紫色的屏幕,这一节的目标是在该屏幕上输出一个三角形。下面将逐一介绍建立一个三角形的过程。 一个三角形有三个点,叫做顶点。三个点的不同的集合可以建立不同的三角形。能让...
  • rootusers
  • rootusers
  • 2014年12月18日 14:02
  • 6323

DirectX3D游戏开发二 绘制第一个图形

在前一章节我们已经创建了我们的第一个DirectX3D项目,但是只是显示一个灰色的窗口而已,并没有进行相应的 绘图操作。那么今天,我们就来让窗口变得更漂亮一些。    今天主要讲通过顶点缓冲区绘制图形...
  • liuyi1207164339
  • liuyi1207164339
  • 2015年08月28日 17:08
  • 1558

windows命令行窗口大小修改

Windows 命令行 cmd 窗口系统默认的大小(80*40)对于现在的屏幕配置已经跟不上时代了,我们总是要把它改大些,而且缓冲区大小也想改得大大的。单纯的为当前的 Windows 命令行窗口修改显...
  • qq_34296043
  • qq_34296043
  • 2017年01月30日 14:27
  • 1617
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DirectX 3D中由窗口改变大小而引发的某些三角形不能绘制的问题
举报原因:
原因补充:

(最多只允许输入30个字)