Добавлен снеговик, добавлены кординатные оси, рефактор рендеринга
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
# Blender MTL File: 'cube.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl CubeColor
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.447721 0.037177
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
@@ -1,32 +0,0 @@
|
||||
# Blender v3.4.1 OBJ File: 'cube.blend'
|
||||
# www.blender.org
|
||||
mtllib cube.mtl
|
||||
o Cube
|
||||
v 1.000000 1.000000 -1.000000
|
||||
v 1.000000 -1.000000 -1.000000
|
||||
v 1.000000 1.000000 1.000000
|
||||
v 1.000000 -1.000000 1.000000
|
||||
v -1.000000 1.000000 -1.000000
|
||||
v -1.000000 -1.000000 -1.000000
|
||||
v -1.000000 1.000000 1.000000
|
||||
v -1.000000 -1.000000 1.000000
|
||||
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
|
||||
usemtl CubeColor
|
||||
s off
|
||||
f 5//1 3//1 1//1
|
||||
f 3//2 8//2 4//2
|
||||
f 7//3 6//3 8//3
|
||||
f 2//4 8//4 6//4
|
||||
f 1//5 4//5 2//5
|
||||
f 5//6 2//6 6//6
|
||||
f 5//1 7//1 3//1
|
||||
f 3//2 7//2 8//2
|
||||
f 7//3 5//3 6//3
|
||||
f 2//4 4//4 8//4
|
||||
f 1//5 3//5 4//5
|
||||
f 5//6 1//6 2//6
|
@@ -1,10 +1,24 @@
|
||||
#version 330 core
|
||||
|
||||
in vec4 a_color;
|
||||
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(){
|
||||
f_color = a_color;
|
||||
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);
|
||||
}
|
||||
|
@@ -4,20 +4,18 @@ layout (location = 0) in vec3 v_position;
|
||||
layout (location = 1) in vec3 v_normal;
|
||||
layout (location = 2) in vec3 v_color;
|
||||
|
||||
out vec4 a_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;
|
||||
gl_Position = projview * model * vec4(v_position, 1);
|
||||
fragPos = vec3(model * vec4(v_position, 1.0));
|
||||
gl_Position = projview * vec4(fragPos, 1.0);
|
||||
|
||||
// dot получается [-1 ... 1]
|
||||
float l = dot((model * vec4(v_position, 1)).xyz, normalize(vec3(1, 1, 1)));
|
||||
// сначала делаем диапазон [1 ... 3]
|
||||
// потом [0.5 ... 1]
|
||||
l = (l + 2) / 3;
|
||||
|
||||
a_color = vec4(v_color * l, 1);
|
||||
fragNormal = mat3(transpose(inverse(model))) * v_normal;
|
||||
fragColor = vec4(v_color, 1);
|
||||
}
|
||||
|
||||
|
BIN
lab2/res/snowman.blend
Normal file
BIN
lab2/res/snowman.blend
Normal file
Binary file not shown.
42
lab2/res/snowman.mtl
Normal file
42
lab2/res/snowman.mtl
Normal file
@@ -0,0 +1,42 @@
|
||||
# Blender MTL File: 'mesh_snowman.blend'
|
||||
# Material Count: 4
|
||||
|
||||
newmtl Body-0
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.310327 0.800000 0.457029
|
||||
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.569280 0.266345 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.502547 0.345282
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
4839
lab2/res/snowman.obj
Normal file
4839
lab2/res/snowman.obj
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
42
lab2/res/xyz.mtl
Normal file
42
lab2/res/xyz.mtl
Normal 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
|
155
lab2/res/xyz.obj
Normal file
155
lab2/res/xyz.obj
Normal file
@@ -0,0 +1,155 @@
|
||||
# Blender v3.4.1 OBJ File: 'xyz.blend'
|
||||
# www.blender.org
|
||||
mtllib xyz.mtl
|
||||
o DirX_Cube.001
|
||||
v 0.000000 -0.039002 0.039002
|
||||
v 0.000000 0.039002 0.039002
|
||||
v 0.000000 -0.039002 -0.039002
|
||||
v 0.000000 0.039002 -0.039002
|
||||
v 0.874245 -0.039002 0.039002
|
||||
v 0.874245 0.039002 0.039002
|
||||
v 0.874245 -0.039002 -0.039002
|
||||
v 0.874245 0.039002 -0.039002
|
||||
v 0.871079 -0.088003 0.087236
|
||||
v 0.871079 0.088003 0.087236
|
||||
v 0.871079 -0.088003 -0.088770
|
||||
v 0.871079 0.088003 -0.088770
|
||||
v 0.999919 0.000000 -0.000767
|
||||
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
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.5640 0.0000 -0.8258
|
||||
vn 0.5640 0.0000 0.8258
|
||||
vn 0.5640 -0.8258 0.0000
|
||||
vn 0.5640 0.8258 0.0000
|
||||
usemtl Red
|
||||
s off
|
||||
f 2//1 3//1 1//1
|
||||
f 4//2 7//2 3//2
|
||||
f 6//3 1//3 5//3
|
||||
f 7//4 1//4 3//4
|
||||
f 4//5 6//5 8//5
|
||||
f 10//1 11//1 9//1
|
||||
f 11//6 12//6 13//6
|
||||
f 13//7 10//7 9//7
|
||||
f 11//8 13//8 9//8
|
||||
f 13//9 12//9 10//9
|
||||
f 2//1 4//1 3//1
|
||||
f 4//2 8//2 7//2
|
||||
f 6//3 2//3 1//3
|
||||
f 7//4 5//4 1//4
|
||||
f 4//5 2//5 6//5
|
||||
f 10//1 12//1 11//1
|
||||
o DirY_Cube.004
|
||||
v 0.039002 0.000000 0.039002
|
||||
v -0.039002 0.000000 0.039002
|
||||
v 0.039002 0.000000 -0.039002
|
||||
v -0.039002 0.000000 -0.039002
|
||||
v 0.039002 0.874245 0.039002
|
||||
v -0.039002 0.874245 0.039002
|
||||
v 0.039002 0.874245 -0.039002
|
||||
v -0.039002 0.874245 -0.039002
|
||||
v 0.088003 0.871079 0.087236
|
||||
v -0.088003 0.871079 0.087236
|
||||
v 0.088003 0.871079 -0.088770
|
||||
v -0.088003 0.871079 -0.088770
|
||||
v -0.000000 0.999919 -0.000767
|
||||
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
|
||||
vn -1.0000 -0.0000 0.0000
|
||||
vn 0.0000 0.5640 -0.8258
|
||||
vn 0.0000 0.5640 0.8258
|
||||
vn 0.8258 0.5640 0.0000
|
||||
vn -0.8258 0.5640 0.0000
|
||||
usemtl Green
|
||||
s off
|
||||
f 15//10 16//10 14//10
|
||||
f 17//11 20//11 16//11
|
||||
f 19//12 14//12 18//12
|
||||
f 20//13 14//13 16//13
|
||||
f 17//14 19//14 21//14
|
||||
f 23//10 24//10 22//10
|
||||
f 24//15 25//15 26//15
|
||||
f 26//16 23//16 22//16
|
||||
f 24//17 26//17 22//17
|
||||
f 26//18 25//18 23//18
|
||||
f 15//10 17//10 16//10
|
||||
f 17//11 21//11 20//11
|
||||
f 19//12 15//12 14//12
|
||||
f 20//13 18//13 14//13
|
||||
f 17//14 15//14 19//14
|
||||
f 23//10 25//10 24//10
|
||||
o DirZ_Cube.005
|
||||
v -0.039002 -0.039002 0.000000
|
||||
v -0.039002 0.039002 0.000000
|
||||
v 0.039002 -0.039002 0.000000
|
||||
v 0.039002 0.039002 0.000000
|
||||
v -0.039002 -0.039002 0.874245
|
||||
v -0.039002 0.039002 0.874245
|
||||
v 0.039002 -0.039002 0.874245
|
||||
v 0.039002 0.039002 0.874245
|
||||
v -0.087236 -0.088003 0.871079
|
||||
v -0.087236 0.088003 0.871079
|
||||
v 0.088770 -0.088003 0.871079
|
||||
v 0.088770 0.088003 0.871079
|
||||
v 0.000767 0.000000 0.999919
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.8258 0.0000 0.5640
|
||||
vn -0.8258 0.0000 0.5640
|
||||
vn 0.0000 -0.8258 0.5640
|
||||
vn 0.0000 0.8258 0.5640
|
||||
usemtl Blue
|
||||
s off
|
||||
f 28//19 29//19 27//19
|
||||
f 30//20 33//20 29//20
|
||||
f 32//21 27//21 31//21
|
||||
f 33//22 27//22 29//22
|
||||
f 30//23 32//23 34//23
|
||||
f 36//19 37//19 35//19
|
||||
f 37//24 38//24 39//24
|
||||
f 39//25 36//25 35//25
|
||||
f 37//26 39//26 35//26
|
||||
f 39//27 38//27 36//27
|
||||
f 28//19 30//19 29//19
|
||||
f 30//20 34//20 33//20
|
||||
f 32//21 28//21 27//21
|
||||
f 33//22 31//22 27//22
|
||||
f 30//23 28//23 32//23
|
||||
f 36//19 38//19 37//19
|
||||
o center_Cube.006
|
||||
v 0.062605 0.062605 -0.062605
|
||||
v 0.062605 -0.062605 -0.062605
|
||||
v 0.062605 0.062605 0.062605
|
||||
v 0.062605 -0.062605 0.062605
|
||||
v -0.062605 0.062605 -0.062605
|
||||
v -0.062605 -0.062605 -0.062605
|
||||
v -0.062605 0.062605 0.062605
|
||||
v -0.062605 -0.062605 0.062605
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
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
|
||||
usemtl center_color
|
||||
s off
|
||||
f 41//28 40//28 42//28
|
||||
f 43//29 42//29 46//29
|
||||
f 47//30 46//30 44//30
|
||||
f 45//31 44//31 40//31
|
||||
f 46//32 42//32 40//32
|
||||
f 43//33 47//33 45//33
|
||||
f 41//28 42//28 43//28
|
||||
f 43//29 46//29 47//29
|
||||
f 47//30 44//30 45//30
|
||||
f 45//31 40//31 41//31
|
||||
f 46//32 40//32 44//32
|
||||
f 43//33 45//33 41//33
|
Reference in New Issue
Block a user