From 20ec554ff045a5408bb6fabb78b897757dcbf7b2 Mon Sep 17 00:00:00 2001 From: luboslenco Date: Fri, 10 Jan 2020 20:01:56 +0100 Subject: [PATCH] Improve channel viewing in 2D view --- Shaders/painter/glsl/layer_view.frag.glsl | 17 ++++++++++++- Shaders/painter/hlsl/layer_merge.vert.glsl | Bin 640 -> 650 bytes Shaders/painter/hlsl/layer_view.frag.glsl | Bin 726 -> 1470 bytes Shaders/painter/hlsl/src/build.bat | 7 ++++++ Shaders/painter/hlsl/src/layer_view.frag.hlsl | 17 ++++++++++++- Shaders/raytrace/raytrace_bake_ao.cso | Bin 6788 -> 6788 bytes Shaders/raytrace/raytrace_bake_bent.cso | Bin 7116 -> 7116 bytes Shaders/raytrace/raytrace_bake_light.cso | Bin 8924 -> 8924 bytes Shaders/raytrace/raytrace_bake_thick.cso | Bin 7084 -> 7084 bytes Shaders/raytrace/src/raytrace_bake_ao.hlsl | 2 +- Shaders/raytrace/src/raytrace_bake_bent.hlsl | 2 +- Shaders/raytrace/src/raytrace_bake_light.hlsl | 2 +- Shaders/raytrace/src/raytrace_bake_thick.hlsl | 2 +- Sources/arm/Tool.hx | 4 ++- Sources/arm/ui/UIView2D.hx | 23 +++++++++++++++--- 15 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 Shaders/painter/hlsl/src/build.bat diff --git a/Shaders/painter/glsl/layer_view.frag.glsl b/Shaders/painter/glsl/layer_view.frag.glsl index fb5ca02a..5d3fdd19 100644 --- a/Shaders/painter/glsl/layer_view.frag.glsl +++ b/Shaders/painter/glsl/layer_view.frag.glsl @@ -1,8 +1,23 @@ #version 330 uniform sampler2D tex; +uniform int channel; in vec2 texCoord; in vec4 color; out vec4 FragColor; void main() { - FragColor = textureLod(tex, texCoord, 0) * color; + if (channel == 1) { + FragColor = textureLod(tex, texCoord, 0).rrra * color; + } + else if (channel == 2) { + FragColor = textureLod(tex, texCoord, 0).ggga * color; + } + else if (channel == 3) { + FragColor = textureLod(tex, texCoord, 0).bbba * color; + } + else if (channel == 4) { + FragColor = textureLod(tex, texCoord, 0).aaaa * color; + } + else { + FragColor = textureLod(tex, texCoord, 0).rgba * color; + } } diff --git a/Shaders/painter/hlsl/layer_merge.vert.glsl b/Shaders/painter/hlsl/layer_merge.vert.glsl index 64937e0e4c669e40aa9b28db1bf122f73075b039..38cf0b8fd9cb0ca6f4e03f6fb510984f57846bc6 100644 GIT binary patch delta 25 gcmZo*?P3*RPR`F^U?|8hW?(Eytzcl<$X3M!08vi{KL7v# delta 15 WcmeBTZD3_%EXXfrVAv>7#RLEy>I16) diff --git a/Shaders/painter/hlsl/layer_view.frag.glsl b/Shaders/painter/hlsl/layer_view.frag.glsl index e732fbcf778890d9dde5e88e8a0967e53dff4262..8ec76148fd3d09406886d5976d3808d00112f29c 100644 GIT binary patch literal 1470 zcmcIkziSg=7=F)7wU%N+q0mXcp+f{Irie%>#Wt5~gw~Y1ONlP=QcshTCLy_@f=CxP zb#n9{kfTEl`QGon_xE!Nnbk1ZulD@CPBZ8d z;X*XO-fY+WW{=3&sr#)~&?J@=U>H_qEq}bQ?Re?h(etIJKTl3iKN)!PVuA=Cy1_aO zUx4XzMBfqSSOt3vclLV^n7}eX6N3R8vw&mea%`Ie1ds*hfoXu{4Zv~3!Z}&q0w@>v zz?}{tIO3X|$61nuQ z(rIbebF!Uv6N*=;nHQ28NZnDmOrtN{;T4fF|QAg_KGEpr_6-U7t*g|yePTDA#{IHR^d zb%2`^4Gg;M5}dR`=Yc}#SWFVE7Vve_#4hbJumWilApQcx4nV;YAXWj22f4Vq?Es3w08og*2E<|g|DOS tex; SamplerState _tex_sampler; +uniform int channel; float4 main(float4 color : TEXCOORD0, float2 texCoord : TEXCOORD1) : SV_Target0 { - return tex.SampleLevel(_tex_sampler, texCoord, 0) * color; + if (channel == 1) { + return tex.SampleLevel(_tex_sampler, texCoord, 0).rrra * color; + } + else if (channel == 2) { + return tex.SampleLevel(_tex_sampler, texCoord, 0).ggga * color; + } + else if (channel == 3) { + return tex.SampleLevel(_tex_sampler, texCoord, 0).bbba * color; + } + else if (channel == 4) { + return tex.SampleLevel(_tex_sampler, texCoord, 0).aaaa * color; + } + else { + return tex.SampleLevel(_tex_sampler, texCoord, 0).rgba * color; + } } diff --git a/Shaders/raytrace/raytrace_bake_ao.cso b/Shaders/raytrace/raytrace_bake_ao.cso index 6ec8ae1cf65b48ca8aca07d760cf007935fb1856..89859ae8434f774921c9a292a8c91b92d5f42764 100644 GIT binary patch delta 36 ucmV+<0NekBHH0-3L|8&Y+_#$g$|-6G`S_=Ul9=T@u@rI_0jslz7ySY>>JZ}q delta 36 scmZoMZ7~&biEwi6?cx$%Ct0&S+~#4I{Nwj4H;NRAGp^X&F8-GZ0R4v!wEzGB diff --git a/Shaders/raytrace/raytrace_bake_bent.cso b/Shaders/raytrace/raytrace_bake_bent.cso index c349073847cb9cdca7c884ea6744eefc06bc8536..3e92e65c26305c18198a7077b3ac7af034d057d1 100644 GIT binary patch delta 37 vcmV+=0NVe|H_SH_L|8&YMLn4hpP2C|(+8;5%$p4Lu@v|h0suU-4j8@zDaj8a delta 37 vcmV+=0NVe|H_SH_L|8&YS4FD`TBgc6*0qd@sK2_ku@v|h0>C%34j8@zH~SE5 diff --git a/Shaders/raytrace/raytrace_bake_light.cso b/Shaders/raytrace/raytrace_bake_light.cso index ab055dfb06aed01c11e1e11bb8194b6dab9b7ced..5febbfa85831c5aa977c39327a57fe765502d7a4 100644 GIT binary patch delta 37 tcmccPddF47CBn&B$Hw4#G;bkid-IxW8`O9%Y!tDRW@60U93tJp4gd?14MqR} delta 37 tcmccPddF47CBn&hVP=#}+26lr#v@`lL|8&YOKUo5x2CbGu@w3e2?z>f1Rw~4_(!uB6A1wd qm>MAQu{A*AV{Ef36hZ<4F|%zJIspZ2H46F|ldKm?0g$uz7qtUw5+4l! delta 84 zcmV-a0IUD3H>@`lL|8&Yl