Исправление шейдера для работы с нормалями
This commit is contained in:
Binary file not shown.
@@ -1,12 +1,12 @@
|
||||
# Blender MTL File: 'cube.blend'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl Material
|
||||
newmtl CubeColor
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Kd 0.800000 0.447721 0.037177
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
@@ -16,7 +16,7 @@ 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 Material
|
||||
usemtl CubeColor
|
||||
s off
|
||||
f 5//1 3//1 1//1
|
||||
f 3//2 8//2 4//2
|
||||
|
@@ -5,10 +5,18 @@ layout (location = 1) in vec3 v_normal;
|
||||
|
||||
out vec4 a_color;
|
||||
uniform mat4 projview;
|
||||
uniform mat4 model;
|
||||
|
||||
void main(){
|
||||
// gl_Position = vec4(v_position, 1) * projview;
|
||||
gl_Position = projview * vec4(v_position, 1);
|
||||
a_color = vec4(0.5, 0, 1, 1);
|
||||
gl_Position = projview * model * vec4(v_position, 1);
|
||||
|
||||
// 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(vec3(0.5, 0, 1) * l, 1);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user