shader/sprite_vtx.glsl

Sat, 19 Apr 2025 13:00:32 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 19 Apr 2025 13:00:32 +0200
changeset 85
f51eec4e7ccb
parent 83
f7ce0db6f72b
child 88
6234b7ea48f3
permissions
-rw-r--r--

fix debug output

15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 #version 400 core
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2
16
c5dde81b6fb2 add text rendering and demo FPS counter
Mike Becker <universe@uap-core.de>
parents: 15
diff changeset
3 layout(location = 0) in vec2 position;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 out vec2 texcoord;
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 uniform mat4 projection;
83
f7ce0db6f72b implement view matrix in sprite shader
Mike Becker <universe@uap-core.de>
parents: 42
diff changeset
7 uniform mat4 view;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 uniform mat4 model;
41
df81d493716e add correct interleaving of opaque and transparent sprites
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
9 uniform float depth;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 void main(void) {
83
f7ce0db6f72b implement view matrix in sprite shader
Mike Becker <universe@uap-core.de>
parents: 42
diff changeset
12 vec4 pos = projection*view*model*vec4(position.x, position.y, 0, 1.0);
41
df81d493716e add correct interleaving of opaque and transparent sprites
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
13 // apply depth
42
cc912686f663 increase maximum possible number of 2D layers
Mike Becker <universe@uap-core.de>
parents: 41
diff changeset
14 pos.z = depth / -1024.0;
41
df81d493716e add correct interleaving of opaque and transparent sprites
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
15 gl_Position = pos;
16
c5dde81b6fb2 add text rendering and demo FPS counter
Mike Becker <universe@uap-core.de>
parents: 15
diff changeset
16 texcoord = vec2(model[0].x, model[1].y)*position;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 }

mercurial