Fixed default material with invalid texture

This commit is contained in:
Antoine Pilote
2023-08-02 15:34:26 -04:00
parent 1a8f4bd1aa
commit 30171518a0
5 changed files with 16 additions and 10 deletions

View File

@@ -82,14 +82,17 @@ namespace Nuake
m_LightsUniformBuffer = CreateRef<UniformBuffer>(128);
Ref<Material> material = MaterialManager::Get()->GetMaterial("default");
Ref<Material> defaultMaterial = CreateRef<Material>(Vector3{1, 1, 1});
defaultMaterial->SetName("white");
MaterialManager::Get()->RegisterMaterial(defaultMaterial);
CubeMesh = CreateRef<Mesh>();
CubeMesh->AddSurface(CubeVertices, CubeIndices);
CubeMesh->SetMaterial(material);
CubeMesh->SetMaterial(defaultMaterial);
QuadMesh = CreateRef<Mesh>();
QuadMesh->AddSurface(QuadVertices, { 0, 1, 2, 3, 4, 5 });
QuadMesh->SetMaterial(material);
QuadMesh->SetMaterial(defaultMaterial);
}
void Renderer::LoadShaders()

View File

@@ -329,6 +329,7 @@ namespace Nuake
if (!visibility.Visible)
continue;
Vector3 oldColor = Renderer::QuadMesh->GetMaterial()->data.m_AlbedoColor;
auto initialTransform = transform.GetGlobalTransform();
for (auto& p : emitterComponent.Emitter.Particles)
{
@@ -342,11 +343,14 @@ namespace Nuake
// Scale
particleTransform = glm::scale(particleTransform, transform.GetGlobalScale());
Renderer::QuadMesh->GetMaterial()->data.u_HasAlbedo = 0;
Renderer::QuadMesh->GetMaterial()->data.m_AlbedoColor = p.Color;
Renderer::SubmitMesh(Renderer::QuadMesh, particleTransform, (uint32_t)e);
}
}
Renderer::Flush(gBufferShader, false);
Renderer::Flush(gBufferShader, false);
Renderer::QuadMesh->GetMaterial()->data.m_AlbedoColor = oldColor;
}
}
}

View File

@@ -68,9 +68,7 @@ namespace Nuake
data.m_AlbedoColor = Vector3{ albedoColor.r, albedoColor.g, albedoColor.b };
m_Name = "New material";
m_Albedo = m_DefaultAlbedo;
m_Name = "default";
}
Material::~Material() {}

View File

@@ -11,8 +11,6 @@ namespace Nuake
class MaterialManager
{
private:
const std::string DEFAULT_MATERIAL = "resources/Textures/default/Default.png";
static Ref<MaterialManager> s_Instance;
std::map<std::string, Ref<Material>> m_Materials;
@@ -24,6 +22,7 @@ namespace Nuake
public:
const std::string DEFAULT_MATERIAL = "resources/Textures/default/Default.png";
std::string CurrentlyBoundedMaterial = "";
MaterialManager();

View File

@@ -5,6 +5,8 @@
#include "src/Core/Maths.h"
#include "src/Core/Timestep.h"
#include "src/Rendering/Textures/Material.h"
#include <random>
namespace Nuake