MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Blast / initialize

Method initialize

samples/SampleBase/renderer/CustomRenderMesh.cpp:43–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43void CustomRenderMesh::initialize(const void* vertices, uint32_t numVertices, uint32_t vertexSize, std::vector<D3D11_INPUT_ELEMENT_DESC>& inputDesc, const uint16_t* faces, uint32_t numFaces)
44{
45 ID3D11Device* device = GetDeviceManager()->GetDevice();
46
47 m_inputDesc = inputDesc;
48 m_numVertices = numVertices;
49 m_vertexSize = vertexSize;
50 m_numFaces = numFaces;
51
52 // VB
53 {
54 D3D11_SUBRESOURCE_DATA vertexBufferData;
55
56 ZeroMemory(&vertexBufferData, sizeof(vertexBufferData));
57 vertexBufferData.pSysMem = vertices;
58
59 D3D11_BUFFER_DESC bufferDesc;
60
61 memset(&bufferDesc, 0, sizeof(D3D11_BUFFER_DESC));
62 bufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
63 bufferDesc.ByteWidth = vertexSize * numVertices;
64 bufferDesc.CPUAccessFlags = 0;
65 bufferDesc.MiscFlags = 0;
66 bufferDesc.Usage = D3D11_USAGE_IMMUTABLE;
67
68 V(device->CreateBuffer(&bufferDesc, &vertexBufferData, &m_vertexBuffer));
69 }
70
71 // IB
72 if (faces != nullptr)
73 {
74 D3D11_SUBRESOURCE_DATA indexBufferData;
75
76 ZeroMemory(&indexBufferData, sizeof(indexBufferData));
77 indexBufferData.pSysMem = faces;
78
79 D3D11_BUFFER_DESC bufferDesc;
80
81 memset(&bufferDesc, 0, sizeof(D3D11_BUFFER_DESC));
82 bufferDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;
83 bufferDesc.ByteWidth = sizeof(uint16_t) * numFaces;
84 bufferDesc.CPUAccessFlags = 0;
85 bufferDesc.MiscFlags = 0;
86 bufferDesc.Usage = D3D11_USAGE_IMMUTABLE;
87
88 V(device->CreateBuffer(&bufferDesc, &indexBufferData, &m_indexBuffer));
89 }
90}
91
92CustomRenderMesh::~CustomRenderMesh()
93{

Callers

nothing calls this directly

Calls 2

GetDeviceManagerFunction · 0.85
GetDeviceMethod · 0.80

Tested by

no test coverage detected