Direct3D中的绘制

创建顶点缓存和索引缓存

HRESULT  IDirect3DDevice9::CreateVertexBuffer创建顶点缓存

HRESULT  IDirect3DDevice9::CreateIndexBuffer 创建索引缓存

 

访问缓存内容

Lock要方云的缓存,访问完后,unlock

 

 

获取顶点缓存和索引缓存的信息

D3DVERTEXBUFFER_DESC  vbDescription;

VertexBUFFER->GetDesc(&vbDescription);

 

绘制状态(如 线框模式)

Device->SetRenderState

 

 

创建好了顶点(索引)缓存,绘制之前的准备工作

指定数据输入流,将顶点数据和数据流链接,实质是将几何体信息传至绘制流水线

Device->SetStreamSource

设置顶点结构体格式

Device->SetFVF

设置索引缓存

Device->SetIndices

 

 

 

 

使用顶点缓存和索引缓存进行绘制

Device->DrawPrimitive

Device->DrawIndexedPrimitive

 

Begin/End  Scene

绘图在两者之间完成

Device->BeginScene();

绘图

Device->EndScene();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Direct3D11 是 Windows 平台上的一种图形 API,用于开发 3D 游戏和应用程序。模型绘制Direct3D11 最基本的操作之一,可以通过以下步骤实现: 1. 加载模型数据:从文件读取模型数据,包括顶点、索引、材质等信息。可以使用第三方库(如 Assimp)来实现模型数据的加载。 2. 创建顶点缓冲区:将模型顶点数据存储到顶点缓冲区,可以使用 ID3D11Device::CreateBuffer() 函数来创建顶点缓冲区对象。需要指定缓冲区的大小、用途(如顶点缓冲区)、CPU 访问方式等属性。 3. 创建索引缓冲区:将模型索引数据存储到索引缓冲区,可以使用 ID3D11Device::CreateBuffer() 函数来创建索引缓冲区对象。需要指定缓冲区的大小、用途(如索引缓冲区)、CPU 访问方式等属性。 4. 创建常量缓冲区:定义渲染管线的常量变量,可以使用 ID3D11Device::CreateBuffer() 函数来创建常量缓冲区对象。需要指定缓冲区的大小、用途(如常量缓冲区)、CPU 访问方式等属性。 5. 设置顶点输入布局:指定顶点缓冲区的数据类型和排列方式,可以使用 ID3D11Device::CreateInputLayout() 函数来创建顶点输入布局对象。 6. 设置渲染状态:指定渲染管线的各项状态,如混合、深度测试、采样等状态。 7. 设置着色器程序:指定渲染管线的顶点着色器、像素着色器等程序。 8. 绘制模型:使用 ID3D11DeviceContext::DrawIndexed() 函数来绘制模型,该函数需要指定顶点数、索引数、起始索引等参数。 需要注意的是,以上步骤只是模型绘制的基本流程,实际应用还需要根据具体需求进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值