MCPcopy Create free account
hub / github.com/TheRealMJP/DeferredTexturing / CreateBuffers

Method CreateBuffers

SampleFramework12/v1.00/Graphics/Model.cpp:673–701  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

671}
672
673void Model::CreateBuffers()
674{
675 Assert_(meshes.Size() > 0);
676
677 StructuredBufferInit sbInit;
678 sbInit.Stride = sizeof(MeshVertex);
679 sbInit.NumElements = vertices.Size();;
680 sbInit.InitData = vertices.Data();
681 vertexBuffer.Initialize(sbInit);
682
683 FormattedBufferInit fbInit;
684 fbInit.Format = DXGI_FORMAT_R16_UINT;
685 fbInit.NumElements = indices.Size();
686 fbInit.InitData = indices.Data();
687 indexBuffer.Initialize(fbInit);
688
689 uint64 vtxOffset = 0;
690 uint64 idxOffset = 0;
691 const uint64 numMeshes = meshes.Size();
692 for(uint64 i = 0; i < numMeshes; ++i)
693 {
694 uint64 vbOffset = vtxOffset * sizeof(MeshVertex);
695 uint64 ibOffset = idxOffset * sizeof(uint16);
696 meshes[i].InitCommon(&vertices[vtxOffset], &indices[idxOffset], vertexBuffer.GPUAddress + vbOffset, indexBuffer.GPUAddress + ibOffset, vtxOffset, idxOffset);
697
698 vtxOffset += meshes[i].NumVertices();
699 idxOffset += meshes[i].NumIndices();
700 }
701}
702
703// == Geometry helpers ============================================================================
704

Callers

nothing calls this directly

Calls 6

InitCommonMethod · 0.80
NumVerticesMethod · 0.80
NumIndicesMethod · 0.80
SizeMethod · 0.45
DataMethod · 0.45
InitializeMethod · 0.45

Tested by

no test coverage detected