OpenSubdiv.OPENSUBDIV_VERSION.Bfr
OpenSubdiv.OPENSUBDIV_VERSION.Far
OpenSubdiv.OPENSUBDIV_VERSION.Osd
OpenSubdiv.OPENSUBDIV_VERSION.Sdc
OpenSubdiv.OPENSUBDIV_VERSION.Vtr

OpenSubdiv.OPENSUBDIV_VERSION.Osd.CpuD3D11VertexBuffer

概述

OpenSubdiv是一个高性能、专业级别、开源的Subdivision曲面细分表面技术库,可以用于影视、游戏、实时交互等领域。Osd.CpuD3D11VertexBuffer是OpenSubdiv库中的一种类型,提供了基于CPU计算和D3D11渲染的顶点缓冲区对象。

类型定义

class OsdCpuD3D11VertexBuffer : public OsdCpuVertexBuffer {
public:
    /// 构造函数
    OsdCpuD3D11VertexBuffer(int numElements, int numVertices);
 
    /// 析构函数
    virtual ~OsdCpuD3D11VertexBuffer();
 
    /// 获取DX11环境的顶点缓冲区对象
    ID3D11Buffer ** BindD3D11Buffer();
};

构造函数

OsdCpuD3D11VertexBuffer(int numElements, int numVertices)
  • 功能:创建一个由CPU和D3D11共同管理的顶点缓冲区对象。
  • 参数:
    • numElements:表示每个顶点所包含的属性数量(如坐标信息+法线信息,或者纹理坐标等信息)。
    • numVertices:表示缓冲区中顶点的数量。

析构函数

virtual ~OsdCpuD3D11VertexBuffer()
  • 功能:释放该顶点缓冲区对象所占据的内存。

BindD3D11Buffer函数

ID3D11Buffer ** BindD3D11Buffer()
  • 功能:获取顶点缓冲区对象的ID3D11Buffer指针,用于在DX11环境中绑定该顶点缓冲区对象。
  • 返回值:返回一个ID3D11Buffer类型的指针。

参考资料