Minor patch - Log system + Exécutable fonctionnel

Feat :

+ Log systeme
This commit is contained in:
2024-04-10 13:04:34 +02:00
parent 05f12d15f9
commit d644d6966d
15 changed files with 683 additions and 406 deletions

View File

@@ -22,12 +22,15 @@ ModelClass::~ModelClass()
bool ModelClass::Initialize(ID3D11Device* device, ID3D11DeviceContext* deviceContext, char* modelFilename, char* textureFilename1, char* textureFilename2, char* textureFilename3,
char* textureFilename4, char* textureFilename5, char* textureFilename6)
{
logger.Log("Initializing model class", __FILE__, __LINE__);
bool result;
// Load in the model data.
result = LoadModel(modelFilename);
if (!result)
{
logger.Log("Failed to load model data", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
@@ -38,15 +41,19 @@ bool ModelClass::Initialize(ID3D11Device* device, ID3D11DeviceContext* deviceCon
result = InitializeBuffers(device);
if (!result)
{
logger.Log("Failed to initialize buffers", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
// Load the textures for this model.
result = LoadTextures(device, deviceContext, textureFilename1, textureFilename2, textureFilename3, textureFilename4, textureFilename5, textureFilename6);
if (!result)
{
logger.Log("Failed to load textures", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
logger.Log("Model class initialized", __FILE__, __LINE__);
return true;
}
@@ -88,6 +95,8 @@ ID3D11ShaderResourceView* ModelClass::GetTexture(int index)
bool ModelClass::InitializeBuffers(ID3D11Device* device)
{
logger.Log("Initializing buffers", __FILE__, __LINE__);
VertexType* vertices;
unsigned long* indices;
D3D11_BUFFER_DESC vertexBufferDesc, indexBufferDesc;
@@ -130,6 +139,7 @@ bool ModelClass::InitializeBuffers(ID3D11Device* device)
result = device->CreateBuffer(&vertexBufferDesc, &vertexData, &m_vertexBuffer);
if (FAILED(result))
{
logger.Log("Failed to create vertex buffer", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
@@ -150,6 +160,7 @@ bool ModelClass::InitializeBuffers(ID3D11Device* device)
result = device->CreateBuffer(&indexBufferDesc, &indexData, &m_indexBuffer);
if (FAILED(result))
{
logger.Log("Failed to create index buffer", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
@@ -160,6 +171,8 @@ bool ModelClass::InitializeBuffers(ID3D11Device* device)
delete[] indices;
indices = 0;
logger.Log("Buffers initialized", __FILE__, __LINE__);
return true;
}
@@ -210,6 +223,8 @@ void ModelClass::RenderBuffers(ID3D11DeviceContext* deviceContext)
bool ModelClass::LoadTextures(ID3D11Device* device, ID3D11DeviceContext* deviceContext, char* filename1, char* filename2, char* filename3, char* filename4, char* filename5,
char* filename6)
{
logger.Log("Loading textures", __FILE__, __LINE__);
bool result;
@@ -219,45 +234,54 @@ bool ModelClass::LoadTextures(ID3D11Device* device, ID3D11DeviceContext* deviceC
result = m_Textures[0].Initialize(device, deviceContext, filename1);
if (!result)
{
logger.Log("Failed to initialize texture", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
result = m_Textures[1].Initialize(device, deviceContext, filename2);
if (!result)
{
logger.Log("Failed to initialize texture", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
result = m_Textures[2].Initialize(device, deviceContext, filename3);
if (!result)
{
logger.Log("Failed to initialize texture", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
result = m_Textures[3].Initialize(device, deviceContext, filename4);
if (!result)
{
logger.Log("Failed to initialize texture", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
result = m_Textures[4].Initialize(device, deviceContext, filename5);
if (!result)
{
logger.Log("Failed to initialize texture", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
result = m_Textures[5].Initialize(device, deviceContext, filename6);
if (!result)
{
logger.Log("Failed to initialize texture", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
logger.Log("Textures loaded", __FILE__, __LINE__);
return true;
}
void ModelClass::ReleaseTextures()
{
logger.Log("Releasing textures", __FILE__, __LINE__);
// Release the texture object array.
if (m_Textures)
{
@@ -272,11 +296,15 @@ void ModelClass::ReleaseTextures()
m_Textures = 0;
}
logger.Log("Textures released", __FILE__, __LINE__);
return;
}
bool ModelClass::LoadModel(char* filename)
{
logger.Log("Loading model", __FILE__, __LINE__);
ifstream fin;
char input;
int i;
@@ -288,6 +316,7 @@ bool ModelClass::LoadModel(char* filename)
// If it could not open the file then exit.
if (fin.fail())
{
logger.Log("Failed to open model file", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
@@ -327,11 +356,15 @@ bool ModelClass::LoadModel(char* filename)
// Close the model file.
fin.close();
logger.Log("Model loaded", __FILE__, __LINE__);
return true;
}
void ModelClass::CalculateModelVectors()
{
logger.Log("Calculating model vectors", __FILE__, __LINE__);
int faceCount, i, index;
TempVertexType vertex1, vertex2, vertex3;
VectorType tangent, binormal;
@@ -394,11 +427,15 @@ void ModelClass::CalculateModelVectors()
m_model[index - 3].bz = binormal.z;
}
logger.Log("Model vectors calculated", __FILE__, __LINE__);
return;
}
void ModelClass::CalculateTangentBinormal(TempVertexType vertex1, TempVertexType vertex2, TempVertexType vertex3, VectorType& tangent, VectorType& binormal)
{
logger.Log("Calculating tangent and binormal", __FILE__, __LINE__);
float vector1[3], vector2[3];
float tuVector[2], tvVector[2];
float den;
@@ -449,16 +486,22 @@ void ModelClass::CalculateTangentBinormal(TempVertexType vertex1, TempVertexType
binormal.y = binormal.y / length;
binormal.z = binormal.z / length;
logger.Log("Tangent and binormal calculated", __FILE__, __LINE__);
return;
}
void ModelClass::ReleaseModel()
{
logger.Log("Releasing model", __FILE__, __LINE__);
if (m_model)
{
delete[] m_model;
m_model = 0;
}
logger.Log("Model released", __FILE__, __LINE__);
return;
}