Direct3D 9学习笔记(3)基本顶点绘制
一.顶点缓存和索引缓存概念
二.顶点缓存
HRESULT CreateVertexBuffer([in] UINT Length,[in] DWORD Usage,[in] DWORD FVF,[in] D3DPOOL Pool,[out, retval] IDirect3DVertexBuffer9 **ppVertexBuffer,[in] HANDLE *pSharedHandle);
http://msdn.microsoft.com/en-us/library/windows/desktop/bb174364(v=vs.85).aspx
如下顶点数据结构
struct Vertex {Vertex(){}Vertex(float x, float y, float z){_x = x; _y = y; _z = z;}float _x, _y, _z;static const DWORD FVF; };
然后创建一个顶点缓存
Device->CreateVertexBuffer(3 * sizeof(Vertex), // size in bytesD3DUSAGE_WRITEONLY, // flagsVertex::FVF, // vertex formatD3DPOOL_MANAGED, // managed memory pool&Triangle, // return create vertex buffer0); // not used - set to 0
三.向顶点缓存写数据
http://msdn.microsoft.com/en-us/library/windows/desktop/bb205915(v=vs.85).aspx
// // Fill the buffers with the triangle data. //Vertex* vertices; Triangle->Lock(0, 0, (void**)&vertices, 0);vertices[0] = Vertex(-1.0f, 0.0f, 2.0f); vertices[1] = Vertex( 0.0f, 1.0f, 2.0f); vertices[2] = Vertex( 1.0f, 0.0f, 2.0f);Triangle->Unlock();
四.获取顶点坐标信息
/* Vertex Buffer Description */ typedef struct _D3DVERTEXBUFFER_DESC {D3DFORMAT Format;D3DRESOURCETYPE Type;DWORD Usage;D3DPOOL Pool;UINT Size;DWORD FVF;} D3DVERTEXBUFFER_DESC;D3DVERTEXBUFFER_DESC desc={}; Triangle->GetDesc(&desc);
五.设置绘制状态
使用IDirect3DDevice9接口的SetRenderState方法设置
Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
比如顶点的绘制方法可以是点或填充,上面D3DFILL_WIREFRAME是以连接点来绘制
六.
Direct3D 9学习笔记(3)基本顶点绘制相关推荐
- OpenGL学习笔记(一)绘制点线面及多面体
OpenGL学习笔记(一)绘制点线面及多面体 绘制点线面 #include <iostream> #include <GL/GLUT.h> #define PI 3.14159 ...
- OpenCV学习笔记(5)_ ellipse绘制函数浅析
OpenCV学习笔记(5)_ ellipse绘制函数浅析 文章目录 OpenCV学习笔记(5)_ ellipse绘制函数浅析 1. ellipse第一种重载--绘制椭圆弧 1.1 函数原型 1.2 参 ...
- Flutter学习笔记 —— CustomPainter自定义画布绘制爱心
Flutter学习笔记 -- CustomPainter自定义画布绘制爱心 前言 效果图 代码示例 温馨提示 结束语 前言 最近在学习Flutter中 Canvas相关内容,今天尝试写了一个爱心Dem ...
- R语言可视化学习笔记之ggridges包绘制山峦图
作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源. 严涛老师的绘图教程还有: gganimate |诺奖文章里面的动图绘制教程来了!! ggplot2学习笔记之 ...
- AD20学习笔记2---原理图绘制及编译检查
前言: 本文学习视频是B站点击率第一的凡亿教育<Altium Designer 20 19(入门到精通全38集)四层板智能车PCB设计视频教程>,视频地址:Altium Designer ...
- 学习...笔记08:Origin绘制常见图像的方法总结
文章目录 前言 一.获取绘图使用的数据 1.准备磁滞回线的数据 2.准备标量场平面视图的数据 3.准备带箭头矢量图的数据 4.准备矢量场平面视图的数据 5.准备标量场的数据 6.准备拼图的数据 二.O ...
- openGL学习笔记三十七:绘制简单地图
地形本质上由一个个顶点(x,y,z)组成多个三角面连接而成. 地形有两种来源: 1.美术使用3dmax.maya.bleader工具,画点.线.面,导出三维模型,然后在游戏中加载进来,进行绘制 ...
- OSG学习笔记-基本几何体的绘制(3-2)
3.2 基本几何体的绘制 本节的例子主要是基本图形的绘制,如线段.三角形.圆及四边形等. 我们知道任何复杂的东西都是由一些简单的部分组合构成的,对于OSG创建的场景和对象也同样如此,它们是有简 ...
- 【机器视觉学习笔记】直方图的绘制及直方图均衡化(C++)
目录 概念 直方图定义 直方图均衡化 为什么要选用累积分布函数 如何运用累积分布函数使得直方图均衡化 C++ 源码 直方图均衡化 绘制直方图 主函数 效果 完整源码 平台:Windows 10 20H ...
最新文章
- eclipse中 properties文件编码问题
- java 实现部门树_(java实现)哈夫曼(Huffman)树编码(自编压缩项目基础)
- Python爬虫:Xpath语法笔记
- redis系列:通过文章点赞排名案例学习sortedset命令
- 如何在移动端复制到剪切板
- python一步将npy数据保存成mat
- DTCoreText
- python识别文字软件_使用Python和大漠插件进行文字识别含软件源码
- lua脚本java_java操作lua脚本
- java 构建位图_调整位图大小而不创建新位图
- html移动图片广告代码,右下角弹出广告代码 控制div移动 1)div是否
- python中复数类型虚部为零时表示为_关于 Python 的复数类型,以下选项中描述错误的是...
- 创业十年的感悟,创业者首先要让自己活下去
- win7系统ntp时间服务器,win7与内部ntp服务器同步时间出来错误【NTP时间同步服务器】...
- 数据库和网页之间的数据交互
- 英语日常用语900句(3)
- 快速识别图像的人工智能图像识别小程序分享
- 福禄克同轴适配器DTX-COAX配DTX-1800用
- Android-开发之从掉洞到填坑之路,android开发规范阿里
- 成都盛铭轩:客服应该怎么做
热门文章
- java kv对象_java入门之——对象转型
- baseline如何发布_baseline-简单的字符串基线。-Dan Gass
- vc 串口 实时保存_Arduino提高篇22—实时时钟DS1302
- oracle12542,Oracle 11Gr1监听报错 TNS-12542 12560 00512
- java bundle类_java ResourceBundle介绍
- 网易云api如何调用_谈谈网易云如何快速升级
- mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
- php 中文名称排序 源码,四种排序算法PHP实现类
- 系统学习机器学习之误差理论
- python回调类_python 回调函数和回调方法的实现分析