Skip to content

Commit 36696bb

Browse files
committed
Added specular
1 parent 6709138 commit 36696bb

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

Engine/src/Components/MaterialComponent.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ void Prisma::MaterialComponent::roughnessMetalness(std::vector<Texture> roughnes
282282

283283
void Prisma::MaterialComponent::specular(std::vector<Texture> specular) {
284284
m_specular = specular;
285+
CacheScene::getInstance().updateTextures(true);
285286
}
286287

287288
std::vector<Prisma::Texture>& Prisma::MaterialComponent::specular() {
@@ -294,6 +295,7 @@ std::vector<Prisma::Texture>& Prisma::MaterialComponent::roughnessMetalness() {
294295

295296
void Prisma::MaterialComponent::ambientOcclusion(std::vector<Texture> ambientOcclusion) {
296297
m_ambientOcclusion = ambientOcclusion;
298+
CacheScene::getInstance().updateTextures(true);
297299
}
298300

299301
std::vector<Prisma::Texture>& Prisma::MaterialComponent::ambientOcclusion() {
@@ -347,6 +349,7 @@ bool Prisma::MaterialComponent::plain() {
347349

348350
void Prisma::MaterialComponent::rtMaterial(RayTracingMaterial rtMaterial) {
349351
m_rtMaterial = rtMaterial;
352+
CacheScene::getInstance().updateStatus(true);
350353
}
351354

352355
Prisma::MaterialComponent::RayTracingMaterial Prisma::MaterialComponent::rtMaterial() {
@@ -355,6 +358,7 @@ Prisma::MaterialComponent::RayTracingMaterial Prisma::MaterialComponent::rtMater
355358

356359
void Prisma::MaterialComponent::isSpecular(bool specular) {
357360
m_isSpecular = specular;
361+
CacheScene::getInstance().updateStatus(true);
358362
}
359363

360364
bool Prisma::MaterialComponent::isSpecular() {
@@ -363,6 +367,7 @@ bool Prisma::MaterialComponent::isSpecular() {
363367

364368
void Prisma::MaterialComponent::roughness(float roughness) {
365369
m_roughness = roughness;
370+
CacheScene::getInstance().updateStatus(true);
366371
}
367372

368373
float Prisma::MaterialComponent::roughness() const {
@@ -371,11 +376,15 @@ float Prisma::MaterialComponent::roughness() const {
371376

372377
void Prisma::MaterialComponent::metalness(float metalness) {
373378
m_metalness = metalness;
379+
CacheScene::getInstance().updateStatus(true);
374380
}
375381

376382
float Prisma::MaterialComponent::metalness() const {
377383
return m_metalness; }
378384

379-
void Prisma::MaterialComponent::emission(float emission) { m_emission = emission; }
385+
void Prisma::MaterialComponent::emission(float emission) {
386+
m_emission = emission;
387+
CacheScene::getInstance().updateStatus(true);
388+
}
380389

381390
float Prisma::MaterialComponent::emission() const { return m_emission; }

Engine/src/SceneData/SceneLoader.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,15 @@ std::shared_ptr<Prisma::Mesh> Prisma::SceneLoader::getMesh(aiMesh* mesh, const a
336336
currentMaterial->ambientOcclusion(loadMaterialTextures(material, aiTextureType_AMBIENT_OCCLUSION));
337337
float roughness = 0;
338338
float metalness = 0;
339+
float emission = 0;
339340
material->Get(AI_MATKEY_ROUGHNESS_FACTOR, roughness);
340341
material->Get(AI_MATKEY_METALLIC_FACTOR, metalness);
342+
material->Get(AI_MATKEY_EMISSIVE_INTENSITY, emission);
343+
341344
currentMaterial->roughness(roughness);
342345
currentMaterial->metalness(metalness);
346+
//currentMaterial->emission(emission);
347+
343348
/*std::vector<Texture> emptyVector;
344349
if (currentMaterial->diffuse().empty())
345350
{

0 commit comments

Comments
 (0)