| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
- // All rights reserved.
- // Code licensed under the BSD License.
- // http://www.anki3d.org/LICENSE
- #pragma anki mutator TEXTURE_TYPE 0 1 // 0: no tex, 1: rgba tex
- #pragma anki start vert
- #include <AnKi/Shaders/Common.glsl>
- layout(location = 0) in Vec2 in_pos;
- layout(location = 1) in Vec4 in_col;
- #if TEXTURE_TYPE > 0
- layout(location = 2) in Vec2 in_uv;
- #endif
- #if TEXTURE_TYPE > 0
- layout(location = 0) out Vec2 out_uv;
- #endif
- layout(location = 1) out Vec4 out_col;
- out gl_PerVertex
- {
- Vec4 gl_Position;
- };
- layout(push_constant) uniform u_
- {
- Vec4 u_transform; // x: x scale, y: y scale, z: x transl, w: y transl
- };
- void main()
- {
- #if TEXTURE_TYPE > 0
- out_uv = in_uv;
- #endif
- out_col = in_col;
- const Vec2 pos = u_transform.xy * in_pos + u_transform.zw;
- gl_Position = Vec4(pos, 0.0, 1.0);
- }
- #pragma anki end
- #pragma anki start frag
- #include <AnKi/Shaders/Common.glsl>
- #if TEXTURE_TYPE > 0
- layout(location = 0) in Vec2 in_uv;
- #endif
- layout(location = 1) in Vec4 in_col;
- layout(location = 0) out Vec4 out_col;
- #if TEXTURE_TYPE > 0
- layout(set = 0, binding = 0) uniform sampler u_trilinearRepeatSampler;
- layout(set = 0, binding = 1) uniform texture2D u_tex;
- #endif
- void main()
- {
- #if TEXTURE_TYPE == 0
- out_col = in_col;
- #elif TEXTURE_TYPE == 1
- out_col = in_col * texture(u_tex, u_trilinearRepeatSampler, in_uv);
- #endif
- }
- #pragma anki end
|