Добавлен ресурсы пункта 1 по методичке для лабы 2
This commit is contained in:
parent
e8fe646155
commit
b6a9f07e8b
75
lab2/src/render/render-1.cpp
Normal file
75
lab2/src/render/render-1.cpp
Normal file
@ -0,0 +1,75 @@
|
||||
//
|
||||
// Created by vlad on 23.03.23.
|
||||
//
|
||||
|
||||
#include "render.h"
|
||||
#include "../graphics/MeshLoader.h"
|
||||
#include "../graphics/Shader.h"
|
||||
|
||||
#include <glm/ext/matrix_transform.hpp>
|
||||
|
||||
static Mesh* mesh_xyz;
|
||||
static Mesh* mesh_sphere;
|
||||
static Mesh* mesh_cone;
|
||||
|
||||
static Shader* shader;
|
||||
|
||||
|
||||
void renderScene(Camera& cam) {
|
||||
auto projview = cam.getProjection() * cam.getView();
|
||||
shader->use();
|
||||
shader->uniformMatrix("projview", projview);
|
||||
|
||||
// мировой центр
|
||||
shader->uniformMatrix("model", glm::mat4(1.0f));
|
||||
mesh_xyz->draw();
|
||||
|
||||
// снеговик, типа в ряд по частям по оси X
|
||||
mesh_sphere->draw();
|
||||
|
||||
auto translate = glm::translate(glm::mat4(1.0f), glm::vec3(2, 0 ,0));
|
||||
auto scale_0_5 = glm::scale(glm::mat4(1.0f), glm::vec3(0.5, 0.5 ,0.5));
|
||||
|
||||
shader->uniformMatrix("model", translate * scale_0_5);
|
||||
mesh_sphere->draw();
|
||||
|
||||
shader->uniformMatrix("model", translate * translate * scale_0_5 * scale_0_5);
|
||||
mesh_sphere->draw();
|
||||
|
||||
shader->uniformMatrix("model", translate * translate * translate * scale_0_5);
|
||||
mesh_cone->draw();
|
||||
}
|
||||
|
||||
int loadResources() {
|
||||
mesh_xyz = MeshLoader::loadMesh("res/xyz");
|
||||
if (mesh_xyz == nullptr) {
|
||||
std::cerr << "Failed to load 'xyz' mesh!" << std::endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
mesh_sphere = MeshLoader::loadMesh("res/sphere");
|
||||
if (mesh_sphere == nullptr) {
|
||||
std::cerr << "Failed to load 'sphere' mesh!" << std::endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
mesh_cone = MeshLoader::loadMesh("res/cone");
|
||||
if (mesh_cone == nullptr) {
|
||||
std::cerr << "Failed to load 'cone' mesh!" << std::endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
shader = Shader::loadShader("res/main-colored.vsh", "res/main-colored.fsh");
|
||||
if (shader == nullptr) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void unloadResources() {
|
||||
delete mesh_xyz;
|
||||
delete mesh_cone;
|
||||
delete mesh_sphere;
|
||||
delete shader;
|
||||
}
|
12
res/cone.mtl
Normal file
12
res/cone.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl Material.002
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.028972 0.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
134
res/cone.obj
Normal file
134
res/cone.obj
Normal file
@ -0,0 +1,134 @@
|
||||
# Blender v3.4.1 OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib cone.mtl
|
||||
o Cone
|
||||
v 0.000000 -1.000000 -1.000000
|
||||
v 0.195090 -1.000000 -0.980785
|
||||
v 0.382683 -1.000000 -0.923880
|
||||
v 0.555570 -1.000000 -0.831470
|
||||
v 0.707107 -1.000000 -0.707107
|
||||
v 0.831470 -1.000000 -0.555570
|
||||
v 0.923880 -1.000000 -0.382683
|
||||
v 0.980785 -1.000000 -0.195090
|
||||
v 1.000000 -1.000000 0.000000
|
||||
v 0.980785 -1.000000 0.195090
|
||||
v 0.923880 -1.000000 0.382683
|
||||
v 0.831470 -1.000000 0.555570
|
||||
v 0.707107 -1.000000 0.707107
|
||||
v 0.555570 -1.000000 0.831470
|
||||
v 0.382683 -1.000000 0.923880
|
||||
v 0.195090 -1.000000 0.980785
|
||||
v 0.000000 -1.000000 1.000000
|
||||
v -0.195090 -1.000000 0.980785
|
||||
v -0.382683 -1.000000 0.923880
|
||||
v -0.555570 -1.000000 0.831470
|
||||
v -0.707107 -1.000000 0.707107
|
||||
v -0.831470 -1.000000 0.555570
|
||||
v -0.923880 -1.000000 0.382683
|
||||
v -0.980785 -1.000000 0.195090
|
||||
v -1.000000 -1.000000 0.000000
|
||||
v -0.980785 -1.000000 -0.195090
|
||||
v -0.923880 -1.000000 -0.382683
|
||||
v -0.831470 -1.000000 -0.555570
|
||||
v -0.707107 -1.000000 -0.707107
|
||||
v -0.555570 -1.000000 -0.831470
|
||||
v -0.382683 -1.000000 -0.923880
|
||||
v -0.195090 -1.000000 -0.980785
|
||||
v 0.000000 1.000000 0.000000
|
||||
vn 0.0878 0.4455 -0.8910
|
||||
vn 0.2599 0.4455 -0.8567
|
||||
vn 0.4220 0.4455 -0.7896
|
||||
vn 0.5680 0.4455 -0.6921
|
||||
vn 0.6921 0.4455 -0.5680
|
||||
vn 0.7896 0.4455 -0.4220
|
||||
vn 0.8567 0.4455 -0.2599
|
||||
vn 0.8910 0.4455 -0.0878
|
||||
vn 0.8910 0.4455 0.0878
|
||||
vn 0.8567 0.4455 0.2599
|
||||
vn 0.7896 0.4455 0.4220
|
||||
vn 0.6921 0.4455 0.5680
|
||||
vn 0.5680 0.4455 0.6921
|
||||
vn 0.4220 0.4455 0.7896
|
||||
vn 0.2599 0.4455 0.8567
|
||||
vn 0.0878 0.4455 0.8910
|
||||
vn -0.0878 0.4455 0.8910
|
||||
vn -0.2599 0.4455 0.8567
|
||||
vn -0.4220 0.4455 0.7896
|
||||
vn -0.5680 0.4455 0.6921
|
||||
vn -0.6921 0.4455 0.5680
|
||||
vn -0.7896 0.4455 0.4220
|
||||
vn -0.8567 0.4455 0.2599
|
||||
vn -0.8910 0.4455 0.0878
|
||||
vn -0.8910 0.4455 -0.0878
|
||||
vn -0.8567 0.4455 -0.2599
|
||||
vn -0.7896 0.4455 -0.4220
|
||||
vn -0.6921 0.4455 -0.5680
|
||||
vn -0.5680 0.4455 -0.6921
|
||||
vn -0.4220 0.4455 -0.7896
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn -0.2599 0.4455 -0.8567
|
||||
vn -0.0878 0.4455 -0.8910
|
||||
usemtl Material.002
|
||||
s off
|
||||
f 1//1 33//1 2//1
|
||||
f 2//2 33//2 3//2
|
||||
f 3//3 33//3 4//3
|
||||
f 4//4 33//4 5//4
|
||||
f 5//5 33//5 6//5
|
||||
f 6//6 33//6 7//6
|
||||
f 7//7 33//7 8//7
|
||||
f 8//8 33//8 9//8
|
||||
f 9//9 33//9 10//9
|
||||
f 10//10 33//10 11//10
|
||||
f 11//11 33//11 12//11
|
||||
f 12//12 33//12 13//12
|
||||
f 13//13 33//13 14//13
|
||||
f 14//14 33//14 15//14
|
||||
f 15//15 33//15 16//15
|
||||
f 16//16 33//16 17//16
|
||||
f 17//17 33//17 18//17
|
||||
f 18//18 33//18 19//18
|
||||
f 19//19 33//19 20//19
|
||||
f 20//20 33//20 21//20
|
||||
f 21//21 33//21 22//21
|
||||
f 22//22 33//22 23//22
|
||||
f 23//23 33//23 24//23
|
||||
f 24//24 33//24 25//24
|
||||
f 25//25 33//25 26//25
|
||||
f 26//26 33//26 27//26
|
||||
f 27//27 33//27 28//27
|
||||
f 28//28 33//28 29//28
|
||||
f 29//29 33//29 30//29
|
||||
f 30//30 33//30 31//30
|
||||
f 16//31 24//31 32//31
|
||||
f 31//32 33//32 32//32
|
||||
f 32//33 33//33 1//33
|
||||
f 32//31 1//31 2//31
|
||||
f 2//31 3//31 4//31
|
||||
f 4//31 5//31 6//31
|
||||
f 6//31 7//31 8//31
|
||||
f 8//31 9//31 10//31
|
||||
f 10//31 11//31 12//31
|
||||
f 12//31 13//31 14//31
|
||||
f 14//31 15//31 16//31
|
||||
f 16//31 17//31 18//31
|
||||
f 18//31 19//31 20//31
|
||||
f 20//31 21//31 22//31
|
||||
f 22//31 23//31 24//31
|
||||
f 24//31 25//31 26//31
|
||||
f 26//31 27//31 28//31
|
||||
f 28//31 29//31 30//31
|
||||
f 30//31 31//31 32//31
|
||||
f 32//31 2//31 8//31
|
||||
f 2//31 4//31 8//31
|
||||
f 4//31 6//31 8//31
|
||||
f 8//31 10//31 16//31
|
||||
f 10//31 12//31 16//31
|
||||
f 12//31 14//31 16//31
|
||||
f 16//31 18//31 24//31
|
||||
f 18//31 20//31 24//31
|
||||
f 20//31 22//31 24//31
|
||||
f 24//31 26//31 32//31
|
||||
f 26//31 28//31 32//31
|
||||
f 28//31 30//31 32//31
|
||||
f 32//31 8//31 16//31
|
12
res/sphere.mtl
Normal file
12
res/sphere.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl Material.001
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.355321 0.510855 1.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
1987
res/sphere.obj
Normal file
1987
res/sphere.obj
Normal file
File diff suppressed because it is too large
Load Diff
92
res/table.mtl
Normal file
92
res/table.mtl
Normal file
@ -0,0 +1,92 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 9
|
||||
|
||||
newmtl ShaderfxShader2
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl ShaderfxShader3
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl ShaderfxShader4
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl lambert10
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.500000 0.500000 0.500000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl lambert11
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.142857 0.142857 0.142857
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl lambert12
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.201299 0.201299 0.201299
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl phong1
|
||||
Ns 199.999995
|
||||
Ka 0.500000 0.500000 0.500000
|
||||
Kd 0.500000 0.500000 0.500000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 3
|
||||
|
||||
newmtl standardSurface4
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 1.000000 1.000000 1.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl three
|
||||
Ns 199.999995
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.076125 0.017521 0.000000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
125909
res/table.obj
Normal file
125909
res/table.obj
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user