Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
LayoutBuilder.h
Ir a la documentación de este archivo.
1
6#pragma once
7#include "Prerequisites.h"
8
9class
11public:
12 // **Add() base** (per-vertex por defecto)
14 Add(const char* semantic,
15 DXGI_FORMAT format,
16 UINT semanticIndex = 0,
17 UINT inputSlot = 0,
18 UINT alignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT,
19 D3D11_INPUT_CLASSIFICATION slotClass = D3D11_INPUT_PER_VERTEX_DATA,
20 UINT instanceStepRate = 0) {
21 D3D11_INPUT_ELEMENT_DESC d{};
22 d.SemanticName = semantic;
23 d.SemanticIndex = semanticIndex;
24 d.Format = format;
25 d.InputSlot = inputSlot;
26 d.AlignedByteOffset = alignedByteOffset;
27 d.InputSlotClass = slotClass;
28 d.InstanceDataStepRate = instanceStepRate;
29 m_elems.push_back(d);
30 return *this;
31 }
32
33 // **Atajo** para instancing
35 AddInstance(const char* semantic,
36 DXGI_FORMAT format,
37 UINT semanticIndex = 0,
38 UINT inputSlot = 1,
39 UINT alignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT,
40 UINT instanceStepRate = 1) {
41 return Add(semantic, format, semanticIndex, inputSlot, alignedByteOffset,
42 D3D11_INPUT_PER_INSTANCE_DATA, instanceStepRate);
43 }
44
45 const std::vector<D3D11_INPUT_ELEMENT_DESC>& Get() const { return m_elems; }
46 UINT Count() const { return (UINT)m_elems.size(); }
47
48private:
49 std::vector<D3D11_INPUT_ELEMENT_DESC> m_elems;
50};
51
Declara la API de Prerequisites dentro del subsistema Core.
UINT Count() const
std::vector< D3D11_INPUT_ELEMENT_DESC > m_elems
LayoutBuilder & AddInstance(const char *semantic, DXGI_FORMAT format, UINT semanticIndex=0, UINT inputSlot=1, UINT alignedByteOffset=D3D11_APPEND_ALIGNED_ELEMENT, UINT instanceStepRate=1)
const std::vector< D3D11_INPUT_ELEMENT_DESC > & Get() const
LayoutBuilder & Add(const char *semantic, DXGI_FORMAT format, UINT semanticIndex=0, UINT inputSlot=0, UINT alignedByteOffset=D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_CLASSIFICATION slotClass=D3D11_INPUT_PER_VERTEX_DATA, UINT instanceStepRate=0)