added material rendering

This commit is contained in:
2026-04-27 15:56:33 +03:00
parent 457b455042
commit cbcfdce047
16 changed files with 178 additions and 29 deletions

View File

@@ -16,9 +16,10 @@ struct PerMeshData_t
{
mat4 m_matTranslation;
mat4 m_matRotation;
uint32_t m_uAlbedo;
MaterialData_t m_textureData;
};
class CFunnyMeshInstance;
class CFunnyMesh: public IMesh
{
@@ -56,6 +57,7 @@ public:
virtual void SetPosition( Vector vPosition ) override;
virtual void SetRotation( Quat vRotation ) override;
virtual void SetScale( Vector vScale ) override;
virtual void SetMaterial( CBaseMaterial *pMaterial ) override;
virtual void Frame();
PerMeshData_t m_data = {};
@@ -104,7 +106,6 @@ void CFunnyMeshInstance::Frame()
glm_scale_make(m, v);
glm_mat4_mul(m_data.m_matTranslation, m, m_data.m_matTranslation);
m_data.m_uAlbedo = 0;
/*
V_printf("AAAAA %f %f %f %f\n", m_data.m_matTranslation[0][0], m_data.m_matTranslation[0][1], m_data.m_matTranslation[0][2], m_data.m_matTranslation[0][3]);
V_printf("AAAAA %f %f %f %f\n", m_data.m_matTranslation[1][0], m_data.m_matTranslation[1][1], m_data.m_matTranslation[1][2], m_data.m_matTranslation[1][3]);
@@ -113,6 +114,12 @@ void CFunnyMeshInstance::Frame()
*/
}
void CFunnyMeshInstance::SetMaterial( CBaseMaterial *pMaterial )
{
pMaterial->SetUpMesh(&m_data.m_textureData);
}
class CFunnyWorldRenderer: public IWorldRenderer
{
@@ -131,6 +138,8 @@ public:
virtual void DestroyMesh( IMesh *pMesh ) override;
virtual void ConfigureShader( IShader *pShader ) override;
virtual ITextureArray *GetTextures() override;
private:
CUtlVector<CFunnyMesh*> m_pMeshes;
IImage *m_pOutputImage = NULL;
@@ -395,3 +404,9 @@ void CFunnyWorldRenderer::DestroyMesh( IMesh *pMesh )
}
ITextureArray *CFunnyWorldRenderer::GetTextures()
{
return m_pTextures;
}