Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gpu_shader_3D_selection_id_vert.glsl « shaders « gpu « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: aa544ea82ee1d98741f7cc6f595bf9690101cfe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

uniform mat4 ModelViewProjectionMatrix;

in vec3 pos;

#ifndef UNIFORM_ID
uniform uint offset;
in uint color;

flat out vec4 id;
#endif

void main()
{
#ifndef UNIFORM_ID
	id = vec4(
		(((color + offset)      ) & uint(0xFF)) * (1.0f / 255.0f),
		(((color + offset) >>  8) & uint(0xFF)) * (1.0f / 255.0f),
		(((color + offset) >> 16) & uint(0xFF)) * (1.0f / 255.0f),
		(((color + offset) >> 24)             ) * (1.0f / 255.0f));
#endif

	vec4 pos_4d = vec4(pos, 1.0);
	gl_Position = ModelViewProjectionMatrix * pos_4d;

#ifdef USE_WORLD_CLIP_PLANES
	/* Warning: ModelMatrix is typically used but select drawing is different. */
	world_clip_planes_calc_clip_distance(pos);
#endif
}