【CSDN浅墨】读书笔记3
2013-07-07 16:03
204 查看
【顶点缓存步骤】
1.设计顶点缓存:灵活顶点格式(固定功能流水线)
灵活顶点格式(Flexible Vertex Fomat, FVF)
先声明格式:
例如:
2.创建顶点缓存:
声明或定义一个指针指向IDirectVertexBuffer9,然后用CreateVertexBuffer(...)创建顶点缓存,传入指针变量,将内存地址复制给刚刚的那个指针变量。
3.访问顶点缓存
用上面声明的IDirectVertexBuffer9指针变量,LOCK和UNLOCK之间执行访问。
需要顶一个VOID*变量,类似数组形式进行锁定和解锁数据
采用灵活顶点格式需要进行SetStreamSource、SetFVF、DrawPrimitive
SetStreamSource(...)把包含的几何体信息的顶点缓存和渲染流水线相关联
SetFVF(...)指定我们使用的灵活顶点格式
DrawPrimitive(...)根据顶点缓存中的顶点进行绘制
【索引缓存步骤】
1.设计顶点格式
2.创建顶点缓存以及索引缓存
3.访问顶点缓存以及索引缓存
3.1 填充顶点缓冲区
3.2 创建索引缓存数组
3.3 填充索引缓冲区
4.绘制图形
g_pd3dDevice->SetStreamSource( 0, g_pVertexBuffer, 0, sizeof(CUSTOMVERTEX) );
g_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
g_pd3dDevice->SetIndices(g_pIndexBuffer);
g_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 17, 0, 16);
1.设计顶点缓存:灵活顶点格式(固定功能流水线)
灵活顶点格式(Flexible Vertex Fomat, FVF)
先声明格式:
例如:
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)注:“()”内为FVF格式。
2.创建顶点缓存:
声明或定义一个指针指向IDirectVertexBuffer9,然后用CreateVertexBuffer(...)创建顶点缓存,传入指针变量,将内存地址复制给刚刚的那个指针变量。
3.访问顶点缓存
用上面声明的IDirectVertexBuffer9指针变量,LOCK和UNLOCK之间执行访问。
需要顶一个VOID*变量,类似数组形式进行锁定和解锁数据
void* pVertices; g_pVertexBuf->Lock(0, 0, (void**)&pVertices, 0); //加锁 pVertices[0] = CUSTOMVERTEX( -80.0f, -80.0f, 0.0f, 1.0f, D3DCOLOR_XRGB(255, 0, 0)); // V0 pVertices[1] = CUSTOMVERTEX( -80.0f, 80.0f, 0.0f, 1.0f, D3DCOLOR_XRGB(0, 255, 0)); // V1 pVertices[2] = CUSTOMVERTEX( 80.0f, 80.0f, 0.0f, 1.0f, D3DCOLOR_XRGB(0, 255, 0)); // V2 pVertices[3] = CUSTOMVERTEX( 80.0f, -80.0f 0.0f, 1.0f, D3DCOLOR_XRGB(255, 0, 255)); // V3 g_pVertexBuf->Unlock(); //解锁4.图形的绘制
采用灵活顶点格式需要进行SetStreamSource、SetFVF、DrawPrimitive
SetStreamSource(...)把包含的几何体信息的顶点缓存和渲染流水线相关联
SetFVF(...)指定我们使用的灵活顶点格式
DrawPrimitive(...)根据顶点缓存中的顶点进行绘制
【索引缓存步骤】
1.设计顶点格式
2.创建顶点缓存以及索引缓存
3.访问顶点缓存以及索引缓存
3.1 填充顶点缓冲区
3.2 创建索引缓存数组
3.3 填充索引缓冲区
4.绘制图形
g_pd3dDevice->SetStreamSource( 0, g_pVertexBuffer, 0, sizeof(CUSTOMVERTEX) );
g_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
g_pd3dDevice->SetIndices(g_pIndexBuffer);
g_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 17, 0, 16);
相关文章推荐
- 【CSDN浅墨】读书笔记2
- 【CSDN浅墨】读书笔记4
- 【CSDN浅墨】读书笔记5
- 【CSDN浅墨】读书笔记1<Direct3D基础知识以及Direct3D初始化步骤>
- 实在受不了csdn了,转移转移
- 读书笔记SendMessage需要投递到消息队列吗(转)
- Servlet与JSP权威指南-读书笔记
- CSDN博客存在的一些问题
- Factory模式 http://blog.csdn.net/tf576776047/article/details/6895545
- 《C++ Primer 4th》读书笔记 第6章-语句
- 《程序员的呐喊》读书笔记
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 读书笔记_红黑树_C实现
- 转载:http://blog.csdn.net/u010128736/ ORB-SLAM2详解(三)自动地图初始化
- 读书笔记之支持向量机(SVM)基础
- C++Primer 读书笔记 第一篇 C++ 概述
- jsp乱码解决大全(转自csdn一高手)
- 我在CSDN上安家喽