8bebb29a06
* Refactor window creation and size handling * Require pixel aspect ratio to be > 0 * Fix screen scaling when window is resized - Ensure the screen retains its correct pixel aspect ratio - Updated public API on `RenderPass` ... this will continue to be unstable until the initial release - Add build instructions for the internal shaders
44 lines
851 B
GLSL
44 lines
851 B
GLSL
// IMPORTANT: This shader needs to be compiled out-of-band to SPIR-V
|
|
// See: https://github.com/parasyte/pixels/issues/9
|
|
|
|
#version 450
|
|
|
|
out gl_PerVertex {
|
|
vec4 gl_Position;
|
|
};
|
|
|
|
layout(location = 0) out vec2 v_TexCoord;
|
|
|
|
layout(set = 0, binding = 2) uniform Locals {
|
|
mat4 u_Transform;
|
|
};
|
|
|
|
const vec2 positions[6] = vec2[6](
|
|
// Upper left triangle
|
|
vec2(-1.0, -1.0),
|
|
vec2(1.0, -1.0),
|
|
vec2(-1.0, 1.0),
|
|
|
|
// Lower right triangle
|
|
vec2(-1.0, 1.0),
|
|
vec2(1.0, -1.0),
|
|
vec2(1.0, 1.0)
|
|
);
|
|
|
|
const vec2 uv[6] = vec2[6](
|
|
// Upper left triangle
|
|
vec2(0.0, 0.0),
|
|
vec2(1.0, 0.0),
|
|
vec2(0.0, 1.0),
|
|
|
|
// Lower right triangle
|
|
vec2(0.0, 1.0),
|
|
vec2(1.0, 0.0),
|
|
vec2(1.0, 1.0)
|
|
);
|
|
|
|
void main() {
|
|
v_TexCoord = uv[gl_VertexIndex];
|
|
gl_Position = u_Transform * vec4(positions[gl_VertexIndex], 0.0, 1.0);
|
|
}
|