All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
D3D11DrawContext Class Reference

D3D11 specialized DrawContext class. More...

#include <d3d11DrawContext.h>

Inheritance diagram for D3D11DrawContext:
DrawContext

Public Types

typedef ID3D11Buffer * VertexBufferBinding
 
- Public Types inherited from DrawContext
typedef std::vector< PatchArrayPatchArrayVector
 
typedef std::vector< float > FVarData
 

Public Member Functions

virtual ~D3D11DrawContext ()
 
template<class VERTEX_BUFFER >
void UpdateVertexTexture (VERTEX_BUFFER *vbo, ID3D11DeviceContext *pd3d11DeviceContext)
 
bool SetFVarDataTexture (Far::PatchTables const &patchTables, ID3D11DeviceContext *pd3d11DeviceContext, int fvarWidth, FVarData const &fvarData)
 
- Public Member Functions inherited from DrawContext
 DrawContext ()
 Constructor. More...
 
virtual ~DrawContext ()
 Descrtuctor. More...
 
bool IsAdaptive () const
 
PatchArrayVector const & GetPatchArrays () const
 

Static Public Member Functions

static D3D11DrawContextCreate (Far::PatchTables const *patchTables, ID3D11DeviceContext *pd3d11DeviceContext, int numVertexElements)
 Create an D3D11DrawContext from Far::PatchTables. More...
 
- Static Public Member Functions inherited from DrawContext
static void ConvertPatchArrays (Far::PatchTables::PatchArrayVector const &farPatchArrays, DrawContext::PatchArrayVector &osdPatchArrays, int maxValence, int numElements)
 

Public Attributes

ID3D11Buffer * patchIndexBuffer
 
ID3D11Buffer * ptexCoordinateBuffer
 
ID3D11ShaderResourceView * ptexCoordinateBufferSRV
 
ID3D11Buffer * fvarDataBuffer
 
ID3D11ShaderResourceView * fvarDataBufferSRV
 
ID3D11ShaderResourceView * vertexBufferSRV
 
ID3D11Buffer * vertexValenceBuffer
 
ID3D11ShaderResourceView * vertexValenceBufferSRV
 
ID3D11Buffer * quadOffsetBuffer
 
ID3D11ShaderResourceView * quadOffsetBufferSRV
 

Additional Inherited Members

- Static Protected Member Functions inherited from DrawContext
static void packFVarData (Far::PatchTables const &patchTables, int fvarWidth, FVarData const &src, FVarData &dst)
 
- Protected Attributes inherited from DrawContext
PatchArrayVector _patchArrays
 
bool _isAdaptive
 

Detailed Description

D3D11 specialized DrawContext class.

D3D11DrawContext implements the OSD drawing interface with Microsoft(c) DirectX D3D11 API. Some functionality may be disabled depending on compile and run-time driver support.

Contexts interface the serialized topological data pertaining to the geometric primitives with the capabilities of the selected discrete compute device.

Definition at line 63 of file d3d11DrawContext.h.

Member Typedef Documentation

typedef ID3D11Buffer* VertexBufferBinding

Definition at line 65 of file d3d11DrawContext.h.

Constructor & Destructor Documentation

virtual ~D3D11DrawContext ( )
virtual

Member Function Documentation

static D3D11DrawContext* Create ( Far::PatchTables const *  patchTables,
ID3D11DeviceContext *  pd3d11DeviceContext,
int  numVertexElements 
)
static

Create an D3D11DrawContext from Far::PatchTables.

Parameters
patchTablesA valid set of Far::PatchTables
pd3d11DeviceContextA device context
numVertexElementsThe number of vertex elements
bool SetFVarDataTexture ( Far::PatchTables const &  patchTables,
ID3D11DeviceContext *  pd3d11DeviceContext,
int  fvarWidth,
FVarData const &  fvarData 
)

Sets face-varying data buffer

Parameters
patchTablesA valid set of Far::PatchTables
pd3d11DeviceContextA device context
fvarWidthTotal face-varying primvar data width in fvarData
fvarDataVector containing the face-varying data
Returns
True if the operation was successful
void UpdateVertexTexture ( VERTEX_BUFFER *  vbo,
ID3D11DeviceContext *  pd3d11DeviceContext 
)
inline

Set vbo as a vertex texture (for gregory patch drawing)

Parameters
vboThe vertex buffer object to update
pd3d11DeviceContextA device context

Definition at line 88 of file d3d11DrawContext.h.

Member Data Documentation

ID3D11Buffer* fvarDataBuffer

Definition at line 101 of file d3d11DrawContext.h.

ID3D11ShaderResourceView* fvarDataBufferSRV

Definition at line 102 of file d3d11DrawContext.h.

ID3D11Buffer* patchIndexBuffer

Definition at line 96 of file d3d11DrawContext.h.

ID3D11Buffer* ptexCoordinateBuffer

Definition at line 98 of file d3d11DrawContext.h.

ID3D11ShaderResourceView* ptexCoordinateBufferSRV

Definition at line 99 of file d3d11DrawContext.h.

ID3D11Buffer* quadOffsetBuffer

Definition at line 107 of file d3d11DrawContext.h.

ID3D11ShaderResourceView* quadOffsetBufferSRV

Definition at line 108 of file d3d11DrawContext.h.

ID3D11ShaderResourceView* vertexBufferSRV

Definition at line 104 of file d3d11DrawContext.h.

ID3D11Buffer* vertexValenceBuffer

Definition at line 105 of file d3d11DrawContext.h.

ID3D11ShaderResourceView* vertexValenceBufferSRV

Definition at line 106 of file d3d11DrawContext.h.


The documentation for this class was generated from the following file: