hmm
This commit is contained in:
@@ -50,7 +50,7 @@ Ks 0.000000 0.000000 0.000000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 60
|
||||
illum 100000
|
||||
|
||||
newmtl rightWall
|
||||
Ns 9.803922
|
||||
|
||||
@@ -66,14 +66,16 @@ std::vector<Triangle*> LoadTrianglesBasic(std::string path, std::string basePath
|
||||
anz[v] = attrib.normals[3 * idx.normal_index + 2];
|
||||
}
|
||||
|
||||
Material* mat;
|
||||
if (baseMaterial == nullptr || !baseMaterial) {
|
||||
tinyobj::material_t material = materials[shapes[s].mesh.material_ids[f]];
|
||||
Material* mtl;
|
||||
if (baseMaterial == nullptr) {
|
||||
tinyobj::material_t tinyMtl = materials[shapes[s].mesh.material_ids[f]];
|
||||
bool illum = false;
|
||||
if (material.illum > 0.0f) illum = true;
|
||||
mat = new Material({ material.diffuse[0], material.diffuse[1], material.diffuse[2] }, material.illum, 0.0f, 0.0f, 0.0f, false, illum);
|
||||
if (tinyMtl.illum > 0.0f) illum = true;
|
||||
// TODO: Weird bug where imported illumination is always equal to 15
|
||||
if (illum) tinyMtl.illum = 50;
|
||||
mtl = new Material({ tinyMtl.diffuse[0], tinyMtl.diffuse[1], tinyMtl.diffuse[2] }, tinyMtl.illum, 0.0f, 0.0f, 0.0f, false, illum);
|
||||
} else {
|
||||
mat = baseMaterial;
|
||||
mtl = baseMaterial;
|
||||
}
|
||||
|
||||
// glm::vec3 normal = getNormal(
|
||||
@@ -92,7 +94,7 @@ std::vector<Triangle*> LoadTrianglesBasic(std::string path, std::string basePath
|
||||
{anx[1], any[1], anz[1]},
|
||||
{anx[2], any[2], anz[2]},
|
||||
|
||||
mat,
|
||||
mtl,
|
||||
};
|
||||
|
||||
triangles.push_back(tmp);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
#include "../src/inferno.hpp"
|
||||
|
||||
static const int width = 2000;
|
||||
static const int height = 2000;
|
||||
static const int width = 500;
|
||||
static const int height = 500;
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
InfernoEngine inferno;
|
||||
@@ -18,15 +18,20 @@ int main(int argc, char** argv) {
|
||||
Sky* sky = new SolidSky({ 0.0f, 0.0f, 0.0f }, 0.0f);
|
||||
scene->sky = sky;
|
||||
|
||||
Material* mat = new GlossyMaterial({ 1.2f, 1.2f, 1.2f }, 0.15f, fastDegreetoRadian(25.0f));
|
||||
std::vector<Triangle*> tris = LoadTrianglesBasic("E://Projects//Inferno//resources//models//dragon-cornell-size.obj", "E://Projects//Inferno//models//resources//", mat);
|
||||
Material* mat = new GlossyMaterial({ 1.2f, 1.2f, 1.2f }, 0.1f, fastDegreetoRadian(20.0f));
|
||||
// std::vector<Triangle*> tris = LoadTrianglesBasic("E://Projects//Inferno//resources//models//dragon-cornell-size.obj", "E://Projects//Inferno//resources//models", mat);
|
||||
// std::vector<Triangle*> tris = LoadTrianglesBasic("/home/ben/programming/inferno/resources/models/dragon-cornell-size.obj", "/home/ben/programming/inferno/resources/models/", mat);
|
||||
|
||||
Mesh* mesh = new Mesh(tris);
|
||||
mesh->Translate({ 0.01f, -1.0, -3.6f });
|
||||
mesh->Optimise();
|
||||
scene->meshs.push_back(mesh);
|
||||
Sphere sphere1({ 0.0f, -0.6f, -4.0f }, 0.4f, mat);
|
||||
scene->objects.push_back(&sphere1);
|
||||
|
||||
std::vector<Triangle*> tris1 = LoadTrianglesBasic("E://Projects//Inferno//resources//models//cornell-box.obj", "E://Projects//Inferno//resources//models//");
|
||||
// Mesh* mesh = new Mesh(tris);
|
||||
// mesh->Translate({ 0.01f, -1.0, -3.6f });
|
||||
// mesh->Optimise();
|
||||
// scene->meshs.push_back(mesh);
|
||||
|
||||
// std::vector<Triangle*> tris1 = LoadTrianglesBasic("E://Projects//Inferno//resources//models//cornell-box.obj", "E://Projects//Inferno//resources//models//");
|
||||
std::vector<Triangle*> tris1 = LoadTrianglesBasic("/home/ben/programming/inferno/resources/models/cornell-box.obj", "/home/ben/programming/inferno/resources/models/");
|
||||
|
||||
Mesh* mesh1 = new Mesh(tris1);
|
||||
mesh1->Translate({ 0.01f, -1.0, -3.6f });
|
||||
|
||||
Reference in New Issue
Block a user