shader/sprite_vtx.glsl

Sun, 11 May 2025 14:51:00 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 11 May 2025 14:51:00 +0200
changeset 116
bfb2a7d62047
parent 115
e5f8c99b0987
permissions
-rw-r--r--

replace scaling with correct mesh sizes

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
115
e5f8c99b0987 refactor rendering 1/3 - create new mesh structs
Mike Becker <universe@uap-core.de>
parents: 102
diff changeset
3 layout(location = 0) in vec2 in_pos;
e5f8c99b0987 refactor rendering 1/3 - create new mesh structs
Mike Becker <universe@uap-core.de>
parents: 102
diff changeset
4 layout(location = 1) in vec2 in_uv;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 out vec2 texcoord;
88
6234b7ea48f3 add support for 2d textures in sprite shader - fixes #386
Mike Becker <universe@uap-core.de>
parents: 83
diff changeset
6 out vec2 uvcoord;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 uniform mat4 projection;
83
f7ce0db6f72b implement view matrix in sprite shader
Mike Becker <universe@uap-core.de>
parents: 42
diff changeset
9 uniform mat4 view;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 uniform mat4 model;
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 void main(void) {
115
e5f8c99b0987 refactor rendering 1/3 - create new mesh structs
Mike Becker <universe@uap-core.de>
parents: 102
diff changeset
13 vec4 pos = projection*view*model*vec4(in_pos.xy, 0.0, 1.0);
41
df81d493716e add correct interleaving of opaque and transparent sprites
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
14 gl_Position = pos;
115
e5f8c99b0987 refactor rendering 1/3 - create new mesh structs
Mike Becker <universe@uap-core.de>
parents: 102
diff changeset
15 uvcoord = in_uv;
e5f8c99b0987 refactor rendering 1/3 - create new mesh structs
Mike Becker <universe@uap-core.de>
parents: 102
diff changeset
16 // TODO: we don't need that in the future
e5f8c99b0987 refactor rendering 1/3 - create new mesh structs
Mike Becker <universe@uap-core.de>
parents: 102
diff changeset
17 texcoord = vec2(model[0].x, model[1].y)*in_pos;
15
362b7659dc76 add shader loading and unloading
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 }

mercurial