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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-08-31 19:39:17 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-09-01 01:30:36 +0300
commit052538edc1fba109d3427471047611888ed13bea (patch)
tree8d3bfbd0b1045d7e62647b8cff9f4e4aa28ef56d /source/blender/gpu/shaders
parent3e7feaff44b70972751c9a62b83bde50a9c09592 (diff)
Cleanup: Use GPUBatch for icon and area drawing
This is in order to remove GPU_draw_primitive to streamline the drawing abstraction.
Diffstat (limited to 'source/blender/gpu/shaders')
-rw-r--r--source/blender/gpu/shaders/gpu_shader_2D_image_multi_rect_vert.glsl31
-rw-r--r--source/blender/gpu/shaders/gpu_shader_2D_image_rect_vert.glsl8
2 files changed, 12 insertions, 27 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_image_multi_rect_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_image_multi_rect_vert.glsl
index d25cd586e65..640ceb97e5b 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_image_multi_rect_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_image_multi_rect_vert.glsl
@@ -13,34 +13,19 @@ flat out vec4 finalColor;
void main()
{
- /* Rendering 2 triangle per icon. */
- int i = gl_VertexID / 6;
- int v = gl_VertexID % 6;
+ vec4 pos = calls_data[gl_InstanceID * 3];
+ vec4 tex = calls_data[gl_InstanceID * 3 + 1];
+ finalColor = calls_data[gl_InstanceID * 3 + 2];
- vec4 pos = calls_data[i * 3];
- vec4 tex = calls_data[i * 3 + 1];
- finalColor = calls_data[i * 3 + 2];
-
- /* TODO Remove this */
- if (v == 2) {
- v = 4;
- }
- else if (v == 3) {
- v = 0;
- }
- else if (v == 5) {
- v = 2;
+ if (gl_VertexID == 0) {
+ pos.xy = pos.xz;
+ tex.xy = tex.xz;
}
-
- if (v == 0) {
+ else if (gl_VertexID == 1) {
pos.xy = pos.xw;
tex.xy = tex.xw;
}
- else if (v == 1) {
- pos.xy = pos.xz;
- tex.xy = tex.xz;
- }
- else if (v == 2) {
+ else if (gl_VertexID == 2) {
pos.xy = pos.yw;
tex.xy = tex.yw;
}
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_image_rect_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_image_rect_vert.glsl
index fcd877a37eb..ab9c30505c2 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_image_rect_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_image_rect_vert.glsl
@@ -14,13 +14,13 @@ void main()
vec2 uv;
vec2 co;
if (gl_VertexID == 0) {
- co = rect_geom.xw;
- uv = rect_icon.xw;
- }
- else if (gl_VertexID == 1) {
co = rect_geom.xy;
uv = rect_icon.xy;
}
+ else if (gl_VertexID == 1) {
+ co = rect_geom.xw;
+ uv = rect_icon.xw;
+ }
else if (gl_VertexID == 2) {
co = rect_geom.zw;
uv = rect_icon.zw;