几种DrawPrimitive用法
来源:互联网 发布:为什么淘宝打不开 编辑:程序博客网 时间:2024/04/30 03:39
绘制函数
VOID Render()
{
g_pd3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(10,10,100),1.0f,0);
if(SUCCEEDED(g_pd3dDevice->BeginScene()))
{
g_pd3dDevice->SetStreamSource(0,g_pVB,0,sizeof(CUSTEMVERTEX));
g_pd3dDevice->SetFVF(D3DFVF_CUSTEMVERTEX);
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST,0,1);
g_pd3dDevice->EndScene();
}
g_pd3dDevice->Present(NULL,NULL,NULL,NULL);
}
这里我们的DrawPrimitive是采用了D3DPT_TRIANGLELIST方式从第0个顶点开始往后渲染了1次。我们就得到了一个三角形。
我们再看看下面的定义:
typedef enum _D3DPRIMITIVETYPE {
D3DPT_POINTLIST = 1,
D3DPT_LINELIST = 2,
D3DPT_LINESTRIP = 3,
D3DPT_TRIANGLELIST = 4,
D3DPT_TRIANGLESTRIP = 5,
D3DPT_TRIANGLEFAN = 6,
D3DPT_FORCE_DWORD = 0x7fffffff, /* force 32-bit size enum */
} D3DPRIMITIVETYPE;
共有D3DPT_POINTLIST、D3DPT_LINELIST、D3DPT_LINESTRIP、D3DPT_TRIANGLELIST、D3DPT_TRIANGLESTRIP、D3DPT_TRIANGLEFAN这几种顶点渲染方式,从字面意思就能理解是怎么回事。
具体实现代码如下:
//从第0个点开始用D3DPT_POINTLIST模式渲染6个点
g_pd3dDevice->DrawPrimitive(D3DPT_POINTLIST,0,6);
//从第0个点开始用D3DPT_LINELIST 模式渲染3条线
g_pd3dDevice->DrawPrimitive(D3DPT_LINELIST,0,3);
//从第0个点开始用D3DPT_LINESTRIP 模式渲染5条线
g_pd3dDevice->DrawPrimitive(D3DPT_LINELIST,0,5);
//从第0个点开始用D3DPT_TRIANGLELIST 模式渲染2个三角形
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST,0,2);
//从第0个点开始用D3DPT_TRIANGLESTRIP 模式渲染4个三角形
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,4)
;
//从第0个点开始用D3DPT_TRIANGLEFAN模式渲染3个三角形
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,3);
所有计算机中复杂的图形都是用这几种点的渲染方式实现的,虽然简单但是很重要。通过这次的内容,我们理论上就能够把我们想显示的任何平面的图像都显示到D3D窗口里了
- 几种DrawPrimitive用法
- 几种DrawPrimitive用法
- 几种DrawPrimitive用法
- DrawPrimitive用法
- D3D中几种DrawPrimitive用法
- DrawPrimitive
- DrawPrimitive()
- DrawPrimitive
- DrawPrimitive
- IDirect3DDevice9::DrawPrimitive
- Request几种用法
- buffer几种用法
- const几种用法
- Intent几种用法
- using的几种用法using的几种用法
- using的几种用法
- using的几种用法
- using的几种用法
- C++代码创建窗体
- php5中的魔术方法
- Java 并发中的一些细节问题
- flash笔记之抠图
- 判断iphone4 retain屏幕方法
- 几种DrawPrimitive用法
- 记一次ORACLE SQLPLUS 无响应 导致的奇怪问题
- LDO 参数
- 软件中的八二原则(二)
- C++ 学习之构造函数:构造函数小结3 默认构造函数、隐式类型转换和复制构造函数
- 图示
- 第一范式(1NF)
- SPDY
- away3d 正立方体旋转,鼠标悬停停止旋转,鼠标离开继续旋转,点击某个面,打开新页面。