21 const D3D11_INPUT_ELEMENT_DESC sdkmesh_vertex_desc[] =
23 {
"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
24 {
"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 },
25 {
"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 24, D3D11_INPUT_PER_VERTEX_DATA, 0 },
26 {
"TANGENT", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 32, D3D11_INPUT_PER_VERTEX_DATA, 0 },
34 std::shared_ptr<CDXUTSDKMesh> sdk_mesh_;
36 struct cbs_mesh_data_ps
38 DirectX::XMFLOAT4 diffuse_color;
41 BOOL has_specular_tex;
45 struct cbs_mesh_data_vs
47 DirectX::XMFLOAT4X4
world;
55 virtual const D3D11_INPUT_ELEMENT_DESC* vertex_desc() {
return sdkmesh_vertex_desc; }
56 void load_texture(ID3D11Device* device, ID3D11Resource*
texture, ID3D11ShaderResourceView* srv,
void* context);
62 void create(ID3D11Device* device, LPCTSTR file);
63 virtual void render(ID3D11DeviceContext* context, DirectX::XMFLOAT4X4* to_clip);
size_t num_faces()
Returns the number of faces of a mesh.
Definition: sdk_mesh.cpp:167
const DirectX::XMFLOAT4X4 & world()
Returns the current world matrix of this mesh.
Definition: mesh.h:79
size_t num_vertices()
Returns the number of vertices of a mesh.
Definition: sdk_mesh.cpp:157
A d3d_mesh created with the SDKMesh DXUT loader.
Definition: sdk_mesh.h:31
virtual void render(ID3D11DeviceContext *context, DirectX::XMFLOAT4X4 *to_clip)
Renders the mesh using the shaders previously set.
Definition: sdk_mesh.cpp:67
Wrapper for a Direct3D texture object.
Definition: texture.h:25
Main D3D mesh interface class.
Definition: mesh.h:129