[Vulkan] Builtin shaders and shaders offline compilation script
[platform/core/uifw/dali-core.git] / dali / graphics / vulkan / shaders / color-visual-shader.vert
1 #version 430
2
3 // in variables
4 layout( location = 0 ) in vec2 aPosition;
5
6 // uniforms
7 layout( set = 0, binding = 0, std140 ) uniform VertexData
8 {
9   mat4 uMvpMatrix;
10   vec3 uSize;
11
12   // Visual size and offset
13   vec2 offset;
14   vec2 size;
15   vec4 offsetSizeMode;
16   vec2 origin;
17   vec2 anchorPoint;
18 };
19
20 vec4 ComputeVertexPosition()
21 {
22   vec2 visualSize = mix(uSize.xy*size, size, offsetSizeMode.zw );
23   vec2 visualOffset = mix( offset, offset/uSize.xy, offsetSizeMode.xy);
24   return vec4( (aPosition + anchorPoint)*visualSize + (visualOffset + origin)*uSize.xy, 0.0, 1.0 );
25 }
26
27 void main()
28 {
29   gl_Position = uMvpMatrix * ComputeVertexPosition();
30 }