关于图元
来源:互联网 发布:php抽象类有什么用 编辑:程序博客网 时间:2024/04/28 14:30
建模软件那更容易理解一些。我们的物体是中空的,仅表面上由一些面片拼接而成,而这些面片通常又是由一个一个更小的图元来构成的。
在D3D中,我们采用的多是三角形网格(Triangle Mesh)来进行拼接。
但是实际上D3D图元类型是分六种,三角形图元的创建方式也有三种。了解它们的
但是实际上D3D图元类型是分六种,三角形图元的创建方式也有三种。了解它们的
原理对我们优化程序算法有很大的好处。
点列集合
线列集合
线带集合
三角形列
三角形带
三角形扇
1:绘制点是相当容易的,我们给出点的空间坐标,再分别绘制就好了
如:g_pD3DDevice->DrawPrimitive(D3DPT_POINTLIST, 0, 6);
恩,其中g_pD3DDevice是D3D设备指针,函数第一个参数是我们设置的灵活顶点格式结构,0是偏移量,设置为0代表从FVF结构中第一个顶点
开始绘制,6是从偏移量开始绘制6个图元。
2:线列
g_pD3DDevice->DrawPrimitive(D3DPT_LINELIST, 0, 3);
参数和点差不多了。这里系统会默认的将FVF结构中的第1个点和第2个点连接成一个线段,第3个点和第4个点连接成一个线段,如此反复,结
果我们得到的将是一系列未必连接的线段。
3:线带
g_pD3DDevice->DrawPrimitive(D3DPT_LINESTRIP, 0, 5);
参数不说了,值得注意的是线带和线列区别在于,系统会默认的将第1,2个点连接之后,会再将2,3点连接,之后3,4点,如此类推,我们
得到的将会是一系列连接起来的线段,当然在相同点数下,获得线段会比线列多,
4:三角形扇
g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, 0, 4);
这个绘制的方法是0,1,2点绘制一个三角形,之后0,2,3点绘制一个三角形,之后是0,3,4。。。呃,还是一会画图好
5:三角行列
g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2);
这个绘制方法是0,1,2点绘制一个三角后,3,4,5点绘制一个三角。
6:三角形带
g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 4);
这个绘制方法是0,1,2点绘制一个三角形,1,2,3绘制一个三角行,2,3,4绘制一个三角行。
- 关于图元
- 关于友元
- 关于友元
- 关于泽元软件
- 关于元数据
- 关于元数据
- 关于友元摘录
- 关于元编程(Metaprogramming)
- 关于C++友元
- 关于元数据
- 关于乘法逆元
- 关于友元函数
- 关于友元函数
- 关于享元模式
- 关于python元类
- 关于友元
- 关于友元
- 关于友元函数
- C++程序效率优化
- tomcat 集群 解决unable to send replicated message问题
- Refining Uncle Bob’s Clean Code(一)
- ubuntu11.10声音太小的调整
- js复制网页内容到剪切板
- 关于图元
- samba学习/smbclient/mount挂载window共享文件夹
- Google+ Hangouts技术解密
- MyEclipse下Axis2插件的下载和安装
- this解释
- SQL SERVER 递归 CTE
- PB9中通过网址(域名)获取IP的方法
- JSTL之数字、日期格式化
- 在MFC程序中显示JPG/GIF图像