hmm
This commit is contained in:
@@ -50,7 +50,7 @@ Ks 0.000000 0.000000 0.000000
|
|||||||
Ke 0.000000 0.000000 0.000000
|
Ke 0.000000 0.000000 0.000000
|
||||||
Ni 1.000000
|
Ni 1.000000
|
||||||
d 1.000000
|
d 1.000000
|
||||||
illum 60
|
illum 100000
|
||||||
|
|
||||||
newmtl rightWall
|
newmtl rightWall
|
||||||
Ns 9.803922
|
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];
|
anz[v] = attrib.normals[3 * idx.normal_index + 2];
|
||||||
}
|
}
|
||||||
|
|
||||||
Material* mat;
|
Material* mtl;
|
||||||
if (baseMaterial == nullptr || !baseMaterial) {
|
if (baseMaterial == nullptr) {
|
||||||
tinyobj::material_t material = materials[shapes[s].mesh.material_ids[f]];
|
tinyobj::material_t tinyMtl = materials[shapes[s].mesh.material_ids[f]];
|
||||||
bool illum = false;
|
bool illum = false;
|
||||||
if (material.illum > 0.0f) illum = true;
|
if (tinyMtl.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);
|
// 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 {
|
} else {
|
||||||
mat = baseMaterial;
|
mtl = baseMaterial;
|
||||||
}
|
}
|
||||||
|
|
||||||
// glm::vec3 normal = getNormal(
|
// 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[1], any[1], anz[1]},
|
||||||
{anx[2], any[2], anz[2]},
|
{anx[2], any[2], anz[2]},
|
||||||
|
|
||||||
mat,
|
mtl,
|
||||||
};
|
};
|
||||||
|
|
||||||
triangles.push_back(tmp);
|
triangles.push_back(tmp);
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
#include "../src/inferno.hpp"
|
#include "../src/inferno.hpp"
|
||||||
|
|
||||||
static const int width = 2000;
|
static const int width = 500;
|
||||||
static const int height = 2000;
|
static const int height = 500;
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
InfernoEngine inferno;
|
InfernoEngine inferno;
|
||||||
@@ -18,15 +18,20 @@ int main(int argc, char** argv) {
|
|||||||
Sky* sky = new SolidSky({ 0.0f, 0.0f, 0.0f }, 0.0f);
|
Sky* sky = new SolidSky({ 0.0f, 0.0f, 0.0f }, 0.0f);
|
||||||
scene->sky = sky;
|
scene->sky = sky;
|
||||||
|
|
||||||
Material* mat = new GlossyMaterial({ 1.2f, 1.2f, 1.2f }, 0.15f, fastDegreetoRadian(25.0f));
|
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//models//resources//", mat);
|
// 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);
|
Sphere sphere1({ 0.0f, -0.6f, -4.0f }, 0.4f, mat);
|
||||||
mesh->Translate({ 0.01f, -1.0, -3.6f });
|
scene->objects.push_back(&sphere1);
|
||||||
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//");
|
// 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);
|
Mesh* mesh1 = new Mesh(tris1);
|
||||||
mesh1->Translate({ 0.01f, -1.0, -3.6f });
|
mesh1->Translate({ 0.01f, -1.0, -3.6f });
|
||||||
|
|||||||
Reference in New Issue
Block a user