2022-08-19 04:20:53 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "texture.h"
|
|
|
|
|
2022-09-22 04:11:12 +00:00
|
|
|
#include <assimp/material.h>
|
|
|
|
#include <unordered_map>
|
2022-08-19 04:20:53 +00:00
|
|
|
|
|
|
|
namespace simpleengine::gfx {
|
|
|
|
class Material {
|
|
|
|
public:
|
2022-09-22 04:11:12 +00:00
|
|
|
std::unordered_map<aiTextureType, std::vector<Texture>> textures;
|
2022-08-19 04:20:53 +00:00
|
|
|
|
|
|
|
float ambient_scalar;
|
|
|
|
float diffuse_scalar;
|
|
|
|
float specular_scalar;
|
|
|
|
float shine;
|
|
|
|
float reflectivity;
|
|
|
|
|
2022-09-22 04:11:12 +00:00
|
|
|
Material(std::unordered_map<aiTextureType, std::vector<Texture>> textures, float shine = 1.f, float reflectivity = 0.f, float specular_scalar = 0.f, float ambient_scalar = 0.f, float diffuse_scalar = 0.f) :
|
|
|
|
textures(textures), ambient_scalar(ambient_scalar), diffuse_scalar(diffuse_scalar), specular_scalar(specular_scalar),
|
2022-08-19 04:20:53 +00:00
|
|
|
shine(shine), reflectivity(reflectivity) {
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|