CGameObject::~CGameObject() { RELEASE_COM( m_alphaBlendState ); RELEASE_COM( m_inputLayout ); RELEASE_COM( m_vertexBuffer ); RELEASE_COM( m_pTextureSampler ); }
void CGameObject::BuildBuffers() { RELEASE_COM( m_vertexBuffer ); RELEASE_COM( m_indexBuffer ); // Build Vertex Buffer Description D3D11_BUFFER_DESC vertexBufferDesc = {}; vertexBufferDesc.Usage = D3D11_USAGE_IMMUTABLE; vertexBufferDesc.ByteWidth = sizeof( SMeshBasic ) * m_meshData.vertices.size(); vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; D3D11_SUBRESOURCE_DATA vertexInitData = {}; vertexInitData.pSysMem = &m_meshData.vertices[0]; HR( theDevice->CreateBuffer( &vertexBufferDesc, &vertexInitData, &m_vertexBuffer ) ); // Build Index Buffer Description D3D11_BUFFER_DESC indexBufferDesc = {}; indexBufferDesc.Usage = D3D11_USAGE_IMMUTABLE; indexBufferDesc.ByteWidth = sizeof( uint32 ) * m_meshData.indices.size(); indexBufferDesc.BindFlags = D3D11_BIND_INDEX_BUFFER; D3D11_SUBRESOURCE_DATA indexInitData = {}; indexInitData.pSysMem = &m_meshData.indices[0]; HR( theDevice->CreateBuffer( &indexBufferDesc, &indexInitData, &m_indexBuffer ) ); }
Material::~Material() { RELEASE_COM(_texture); }