From 4aca5eead41da9e720920aa1c6cc3c58b8c7d12a Mon Sep 17 00:00:00 2001 From: JonasJan2 Date: Mon, 27 May 2024 18:21:09 +0200 Subject: [PATCH] added test blocks --- obj/Xblock.obj | 40 ++++++++++++++++++++++++++++++++++++++++ obj/Yblock.obj | 40 ++++++++++++++++++++++++++++++++++++++++ obj/Yblock_rotated.obj | 40 ++++++++++++++++++++++++++++++++++++++++ obj/Zblock.obj | 40 ++++++++++++++++++++++++++++++++++++++++ src/main.c | 20 ++++++++++++-------- 5 files changed, 172 insertions(+), 8 deletions(-) create mode 100644 obj/Xblock.obj create mode 100644 obj/Yblock.obj create mode 100644 obj/Yblock_rotated.obj create mode 100644 obj/Zblock.obj diff --git a/obj/Xblock.obj b/obj/Xblock.obj new file mode 100644 index 0000000..531e1a2 --- /dev/null +++ b/obj/Xblock.obj @@ -0,0 +1,40 @@ +# Blender 4.1.1 +# www.blender.org +mtllib Xblock.mtl +o Cube +v 1.740000 0.130000 -0.150000 +v 1.740000 -0.130000 -0.150000 +v 1.740000 0.130000 0.150000 +v 1.740000 -0.130000 0.150000 +v -1.740000 0.130000 -0.150000 +v -1.740000 -0.130000 -0.150000 +v -1.740000 0.130000 0.150000 +v -1.740000 -0.130000 0.150000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +s 0 +usemtl Material +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/4/2 7/6/2 8/7/2 +f 8/8/3 7/9/3 5/10/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/4/5 4/5/5 +f 6/11/6 5/10/6 1/1/6 2/13/6 diff --git a/obj/Yblock.obj b/obj/Yblock.obj new file mode 100644 index 0000000..845b7b9 --- /dev/null +++ b/obj/Yblock.obj @@ -0,0 +1,40 @@ +# Blender 4.1.1 +# www.blender.org +mtllib Yblock.mtl +o Cube +v 0.230000 0.130000 -1.230000 +v 0.230000 -0.130000 -1.230000 +v 0.230000 0.130000 1.230000 +v 0.230000 -0.130000 1.230000 +v -0.230000 0.130000 -1.230000 +v -0.230000 -0.130000 -1.230000 +v -0.230000 0.130000 1.230000 +v -0.230000 -0.130000 1.230000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +s 0 +usemtl Material +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/4/2 7/6/2 8/7/2 +f 8/8/3 7/9/3 5/10/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/4/5 4/5/5 +f 6/11/6 5/10/6 1/1/6 2/13/6 diff --git a/obj/Yblock_rotated.obj b/obj/Yblock_rotated.obj new file mode 100644 index 0000000..83b122b --- /dev/null +++ b/obj/Yblock_rotated.obj @@ -0,0 +1,40 @@ +# Blender 4.1.1 +# www.blender.org +mtllib Yblock_rotated.mtl +o Cube +v 1.231565 1.164580 -0.150000 +v 1.395188 0.962522 -0.150000 +v 1.231565 1.164580 0.150000 +v 1.395188 0.962522 0.150000 +v -1.395188 -0.962522 -0.150000 +v -1.231565 -1.164580 -0.150000 +v -1.395188 -0.962522 0.150000 +v -1.231565 -1.164580 0.150000 +vn -0.6293 0.7771 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.7771 -0.6293 -0.0000 +vn 0.6293 -0.7771 -0.0000 +vn 0.7771 0.6293 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +s 0 +usemtl Material +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/4/2 7/6/2 8/7/2 +f 8/8/3 7/9/3 5/10/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/4/5 4/5/5 +f 6/11/6 5/10/6 1/1/6 2/13/6 diff --git a/obj/Zblock.obj b/obj/Zblock.obj new file mode 100644 index 0000000..4db8bb1 --- /dev/null +++ b/obj/Zblock.obj @@ -0,0 +1,40 @@ +# Blender 4.1.1 +# www.blender.org +mtllib Zblock.mtl +o Cube +v 0.280000 1.000000 -0.170000 +v 0.280000 -1.000000 -0.170000 +v 0.280000 1.000000 0.170000 +v 0.280000 -1.000000 0.170000 +v -0.280000 1.000000 -0.170000 +v -0.280000 -1.000000 -0.170000 +v -0.280000 1.000000 0.170000 +v -0.280000 -1.000000 0.170000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +s 0 +usemtl Material +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/4/2 7/6/2 8/7/2 +f 8/8/3 7/9/3 5/10/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/4/5 4/5/5 +f 6/11/6 5/10/6 1/1/6 2/13/6 diff --git a/src/main.c b/src/main.c index 29be5a5..b8d18e0 100644 --- a/src/main.c +++ b/src/main.c @@ -40,7 +40,6 @@ char* textureFiles[NUM_TEXTURES] = { }; ObjectData* objectData; -int numFaces[]; bool exitRequested = false; @@ -58,8 +57,13 @@ const GLfloat pi = 3.14159f; vec3 cameraPosition = {0.0f, 3.0f, 5.5f}; -char* defaultModel = "../obj/plane.obj"; -char* model = "../obj/earth.obj"; +int numModels = 4; +char* models[] = { + "../obj/Yblock.obj", + "../obj/Zblock.obj", + "../obj/Yblock_rotated.obj", + "../obj/Xblock.obj" +}; // input handler for camera movement void handleInputs(double deltaTime) { @@ -194,8 +198,8 @@ void init(void) { // --------------- READ MODEL FILES - char** paths = {&defaultModel, &model}; - objectData = readObjFiles(paths, 2); + + objectData = readObjFiles(models, numModels); stbi_set_flip_vertically_on_load(flipFlag); @@ -305,10 +309,10 @@ void draw(void) { glUniformMatrix4fv(glGetUniformLocation(program, "projection"), 1, GL_FALSE, (GLfloat*)&projection); - vec4 lightPosition = {cos(stepi) * 1000.0f, 0.0f, sin(stepi) * 1000.0f, 1.0f}; - multiplyAny((GLfloat *)&lightPosition, (GLfloat *)&viewingTransformation, (GLfloat *)&lightPosition, 4, 4, 1); + //vec4 lightPosition = {cos(stepi) * 1000.0f, 0.0f, sin(stepi) * 1000.0f, 1.0f}; + //multiplyAny((GLfloat *)&lightPosition, (GLfloat *)&viewingTransformation, (GLfloat *)&lightPosition, 4, 4, 1); - glUniform3f(glGetUniformLocation(program, "lightPosition"), lightPosition.x, lightPosition.y, lightPosition.z); + //glUniform3f(glGetUniformLocation(program, "lightPosition"), lightPosition.x, lightPosition.y, lightPosition.z); // SET MATERIAL DATA