Рефакторинг лабы 2, добавлен пункт 1 по методичке

This commit is contained in:
2023-04-06 16:35:39 +03:00
parent 1c7ef19ec8
commit e8fe646155
15 changed files with 26 additions and 11 deletions

BIN
res/christmas-tree.blend Normal file

Binary file not shown.

52
res/christmas-tree.mtl Normal file
View File

@@ -0,0 +1,52 @@
# Blender MTL File: 'christmas-tree.blend'
# Material Count: 5
newmtl Balls-1
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.048409 0.471644
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Balls-2
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.032897 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Green
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.055518 0.308912 0.004670
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl TopFigure
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 0.859637 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Trunc
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.206980 0.078561 0.032670
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

1974
res/christmas-tree.obj Normal file

File diff suppressed because it is too large Load Diff

24
res/main-colored.fsh Normal file
View File

@@ -0,0 +1,24 @@
#version 330 core
in vec4 fragColor;
in vec3 fragPos;
in vec3 fragNormal;
out vec4 f_color;
float map(float value, float min1, float max1, float min2, float max2) {
return min2 + (value - min1) * (max2 - min2) / (max1 - min1);
}
void main(){
vec3 lightColor = vec3(1, 1, 1);
vec3 lightDir = vec3(1, 1, 1);
// диффузное освещение
// dot получается [-1 ... 1]
float diff = dot(normalize(fragNormal), normalize(lightDir));
// теперь делаем диапазон [0.2 ... 1]
diff = map(diff, -1, 1, 0.2, 1);
f_color = vec4(diff * lightColor * fragColor.rgb, fragColor.a);
}

21
res/main-colored.vsh Normal file
View File

@@ -0,0 +1,21 @@
#version 330 core
layout (location = 0) in vec3 v_position;
layout (location = 1) in vec3 v_normal;
layout (location = 2) in vec3 v_color;
out vec4 fragColor;
out vec3 fragPos;
out vec3 fragNormal;
uniform mat4 projview;
uniform mat4 model;
void main(){
// gl_Position = vec4(v_position, 1) * projview;
fragPos = vec3(model * vec4(v_position, 1.0));
gl_Position = projview * vec4(fragPos, 1.0);
fragNormal = mat3(transpose(inverse(model))) * v_normal;
fragColor = vec4(v_color, 1);
}

BIN
res/snowman.blend Normal file

Binary file not shown.

42
res/snowman.mtl Normal file
View File

@@ -0,0 +1,42 @@
# Blender MTL File: 'snowman.blend'
# Material Count: 4
newmtl Body-0
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.041092 0.800000 0.056051
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Body-1
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.249637 0.165539 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Face
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.116962 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Neck
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.000000 0.626632
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

4614
res/snowman.obj Normal file

File diff suppressed because it is too large Load Diff

BIN
res/xyz.blend Normal file

Binary file not shown.

42
res/xyz.mtl Normal file
View File

@@ -0,0 +1,42 @@
# Blender MTL File: 'xyz.blend'
# Material Count: 4
newmtl Blue
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.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 Green
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 1.000000 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Red
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 1.000000 0.000000 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl center_color
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.043866 0.393530
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

229
res/xyz.obj Normal file
View File

@@ -0,0 +1,229 @@
# Blender v3.4.1 OBJ File: 'xyz.blend'
# www.blender.org
mtllib xyz.mtl
o DirY_y
v -0.000000 1.000000 0.000000
v 0.038239 0.900000 0.038239
v 0.038239 0.900000 -0.038239
v -0.038239 0.900000 -0.038239
v -0.038239 0.900000 0.038239
v 0.078238 0.900000 0.078239
v 0.078238 0.900000 -0.078239
v -0.078239 0.900000 -0.078239
v -0.078239 0.900000 0.078239
v 0.038239 0.050702 0.038239
v 0.038239 0.050702 -0.038239
v -0.038239 0.050702 -0.038239
v -0.038239 0.050702 0.038239
vt 0.500000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.500000 0.875000
vt 0.125000 0.500000
vt 0.875000 0.500000
vt 0.412763 0.500000
vt 0.587237 0.500000
vt 0.587237 0.500000
vt 0.342866 0.500000
vt 0.657135 0.500000
vt 0.412763 0.500000
vt 0.657135 0.500000
vt 0.342866 0.500000
vn 0.7876 0.6162 0.0000
vn -0.7876 0.6162 0.0000
vn 0.0000 0.6162 -0.7876
vn 0.0000 0.6162 0.7876
vn -1.0000 -0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 0.0000 1.0000
vn 1.0000 0.0000 0.0000
usemtl Green
s off
f 1/1/1 6/2/1 7/3/1
f 8/4/2 9/5/2 1/6/2
f 7/7/3 8/4/3 1/6/3
f 9/5/4 6/8/4 1/6/4
f 4/9/5 13/10/5 5/11/5
f 3/12/6 6/8/6 2/13/6
f 4/9/6 7/7/6 3/12/6
f 2/13/6 9/5/6 5/11/6
f 5/11/6 8/4/6 4/9/6
f 3/12/7 12/14/7 4/9/7
f 5/11/8 10/15/8 2/13/8
f 2/13/9 11/16/9 3/12/9
f 4/9/5 12/14/5 13/10/5
f 3/12/6 7/7/6 6/8/6
f 4/9/6 8/4/6 7/7/6
f 2/13/6 6/8/6 9/5/6
f 5/11/6 9/5/6 8/4/6
f 3/12/7 11/16/7 12/14/7
f 5/11/8 13/10/8 10/15/8
f 2/13/9 10/15/9 11/16/9
o center_Cube
v -0.060000 -0.060000 -0.060000
v -0.060000 -0.060000 0.060000
v -0.060000 0.060000 -0.060000
v -0.060000 0.060000 0.060000
v 0.060000 -0.060000 -0.060000
v 0.060000 -0.060000 0.060000
v 0.060000 0.060000 -0.060000
v 0.060000 0.060000 0.060000
vt 0.625000 0.000000
vt 0.375000 0.250000
vt 0.375000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.375000 1.000000
vt 0.125000 0.750000
vt 0.125000 0.500000
vt 0.875000 0.500000
vt 0.625000 1.000000
vt 0.875000 0.750000
vn -1.0000 0.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 0.0000 1.0000
usemtl center_color
s off
f 15/17/10 16/18/10 14/19/10
f 17/20/11 20/21/11 16/18/11
f 21/22/12 18/23/12 20/21/12
f 19/24/13 14/25/13 18/23/13
f 20/21/14 14/26/14 16/27/14
f 17/28/15 19/24/15 21/22/15
f 15/17/10 17/20/10 16/18/10
f 17/20/11 21/22/11 20/21/11
f 21/22/12 19/24/12 18/23/12
f 19/24/13 15/29/13 14/25/13
f 20/21/14 18/23/14 14/26/14
f 17/28/15 15/30/15 19/24/15
o DirZ_z
v -0.000000 -0.000000 1.000000
v 0.038239 -0.038239 0.900000
v 0.038238 0.038239 0.900000
v -0.038239 0.038239 0.900000
v -0.038239 -0.038239 0.900000
v 0.078239 -0.078239 0.900000
v 0.078238 0.078239 0.900000
v -0.078239 0.078239 0.900000
v -0.078239 -0.078239 0.900000
v 0.038239 -0.038239 0.050702
v 0.038239 0.038239 0.050702
v -0.038239 0.038239 0.050702
v -0.038239 -0.038239 0.050702
vt 0.500000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.500000 0.875000
vt 0.125000 0.500000
vt 0.875000 0.500000
vt 0.412763 0.500000
vt 0.587237 0.500000
vt 0.587237 0.500000
vt 0.342866 0.500000
vt 0.657135 0.500000
vt 0.412763 0.500000
vt 0.657135 0.500000
vt 0.342866 0.500000
vn 0.7876 0.0000 0.6162
vn -0.7876 -0.0000 0.6162
vn 0.0000 0.7876 0.6162
vn 0.0000 -0.7876 0.6162
vn -1.0000 -0.0000 -0.0000
vn -0.0000 0.0000 -1.0000
vn -0.0000 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
vn 1.0000 0.0000 0.0000
usemtl Blue
s off
f 22/31/16 27/32/16 28/33/16
f 29/34/17 30/35/17 22/36/17
f 28/37/18 29/34/18 22/36/18
f 30/35/19 27/38/19 22/36/19
f 25/39/20 34/40/20 26/41/20
f 24/42/21 27/38/21 23/43/21
f 25/39/21 28/37/21 24/42/21
f 23/43/21 30/35/21 26/41/21
f 26/41/21 29/34/21 25/39/21
f 24/42/22 33/44/22 25/39/22
f 26/41/23 31/45/23 23/43/23
f 23/43/24 32/46/24 24/42/24
f 25/39/20 33/44/20 34/40/20
f 24/42/21 28/37/21 27/38/21
f 25/39/21 29/34/21 28/37/21
f 23/43/21 27/38/21 30/35/21
f 26/41/21 30/35/21 29/34/21
f 24/42/22 32/46/22 33/44/22
f 26/41/23 34/40/23 31/45/23
f 23/43/24 31/45/24 32/46/24
o DirX_x
v 1.000000 0.000000 0.000000
v 0.900000 -0.038239 0.038239
v 0.900000 -0.038239 -0.038239
v 0.900000 0.038239 -0.038239
v 0.900000 0.038239 0.038239
v 0.900000 -0.078239 0.078239
v 0.900000 -0.078239 -0.078239
v 0.900000 0.078239 -0.078239
v 0.900000 0.078239 0.078239
v 0.050702 -0.038239 0.038239
v 0.050702 -0.038239 -0.038239
v 0.050702 0.038239 -0.038239
v 0.050702 0.038239 0.038239
vt 0.500000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.375000 0.500000
vt 0.625000 0.500000
vt 0.500000 0.875000
vt 0.125000 0.500000
vt 0.875000 0.500000
vt 0.412763 0.500000
vt 0.587237 0.500000
vt 0.587237 0.500000
vt 0.342866 0.500000
vt 0.657135 0.500000
vt 0.412763 0.500000
vt 0.657135 0.500000
vt 0.342866 0.500000
vn 0.6162 -0.7876 0.0000
vn 0.6162 0.7876 0.0000
vn 0.6162 0.0000 -0.7876
vn 0.6162 0.0000 0.7876
vn -0.0000 1.0000 0.0000
vn -1.0000 -0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn -0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
usemtl Red
s off
f 35/47/25 40/48/25 41/49/25
f 42/50/26 43/51/26 35/52/26
f 41/53/27 42/50/27 35/52/27
f 43/51/28 40/54/28 35/52/28
f 38/55/29 47/56/29 39/57/29
f 37/58/30 40/54/30 36/59/30
f 38/55/30 41/53/30 37/58/30
f 36/59/30 43/51/30 39/57/30
f 39/57/30 42/50/30 38/55/30
f 37/58/31 46/60/31 38/55/31
f 39/57/32 44/61/32 36/59/32
f 36/59/33 45/62/33 37/58/33
f 38/55/29 46/60/29 47/56/29
f 37/58/30 41/53/30 40/54/30
f 38/55/30 42/50/30 41/53/30
f 36/59/30 40/54/30 43/51/30
f 39/57/30 43/51/30 42/50/30
f 37/58/31 45/62/31 46/60/31
f 39/57/32 47/56/32 44/61/32
f 36/59/33 44/61/33 45/62/33