| @@ -1,19 +1,17 @@ | |||||
| #version 450 core | #version 450 core | ||||
| layout(pixel_center_integer) in vec4 gl_FragCoord; | |||||
| in vec4 gl_FragCoord; | |||||
| out vec4 Color; | out vec4 Color; | ||||
| const float NOISE_RANGE = 0.02; | |||||
| const float NOISE_RANGE = 0.05; | |||||
| const float NOISE_BASE = 0.05; | const float NOISE_BASE = 0.05; | ||||
| float random(vec4 seed) | |||||
| { | |||||
| float random(vec4 seed) { | |||||
| return fract(sin(dot(seed, vec4(12.9898, 78.233, 45.164, 53.1324))) * 43758.5453); | return fract(sin(dot(seed, vec4(12.9898, 78.233, 45.164, 53.1324))) * 43758.5453); | ||||
| } | } | ||||
| void main() | |||||
| { | |||||
| void main() { | |||||
| float rnd = random(gl_FragCoord); | float rnd = random(gl_FragCoord); | ||||
| vec3 rbg = vec3(NOISE_BASE + NOISE_RANGE * rnd); | vec3 rbg = vec3(NOISE_BASE + NOISE_RANGE * rnd); | ||||
| @@ -2,7 +2,6 @@ | |||||
| layout (location = 0) in vec3 Position; | layout (location = 0) in vec3 Position; | ||||
| void main() | |||||
| { | |||||
| void main() { | |||||
| gl_Position = vec4(Position, 1.0); | gl_Position = vec4(Position, 1.0); | ||||
| } | } | ||||
| @@ -1,8 +1,11 @@ | |||||
| #version 450 core | #version 450 core | ||||
| out vec4 Color; | |||||
| in FragmentData { | |||||
| vec3 color; | |||||
| } data; | |||||
| void main() | |||||
| { | |||||
| Color = vec4(1.0, 1.0, 1.0, 1.0); | |||||
| out vec4 color; | |||||
| void main() { | |||||
| color = vec4(data.color, 1.0); | |||||
| } | } | ||||
| @@ -1,16 +1,19 @@ | |||||
| #version 450 core | #version 450 core | ||||
| layout (location = 0) in vec3 Position; | |||||
| layout (location = 0) in vec3 position; | |||||
| layout (std140, binding = 0) uniform Camera | |||||
| { | |||||
| layout (std140, binding = 0) uniform Camera { | |||||
| mat4 projection; | mat4 projection; | ||||
| mat4 view; | mat4 view; | ||||
| }; | |||||
| } camera; | |||||
| layout (location = 1) uniform mat4 model; | layout (location = 1) uniform mat4 model; | ||||
| void main() | |||||
| { | |||||
| gl_Position = projection * view * model * vec4(Position, 1.0); | |||||
| out FragmentData { | |||||
| vec3 color; | |||||
| } data; | |||||
| void main() { | |||||
| data.color = vec3((position.xy + vec2(1.0)) / 2.0, 0.0); | |||||
| gl_Position = camera.projection * camera.view * model * vec4(position, 1.0); | |||||
| } | } | ||||