*/}}
YimingWu 2 months ago
parent
commit
7d14ace2e2
1 changed files with 8 additions and 7 deletions
  1. 8 7
      resources/la_tns_shaders.cpp

+ 8 - 7
resources/la_tns_shaders.cpp

@@ -703,7 +703,8 @@ layout(location = 2) out vec3 outGPos;
 #with TNS_SHADER_LIBRARY
 #with TNS_GLES_UINT_TEXTURE
 
-vec3 ConvertColorSpace(vec3 color){
+vec4 ConvertColorSpace(vec4 _rgba){
+	vec3 color=_rgba.rgb;
     if(InputColorSpace!=OutputColorSpace){
         if(ColorMode==0){
             if(InputColorSpace==0) color=to_linear_srgb(color);
@@ -712,20 +713,20 @@ vec3 ConvertColorSpace(vec3 color){
         vec3 xyz; if(ColorMode==1){ color.y=pow(color.y,max(HCYGamma,1.)); color=okhsl_to_linear_srgb(color); }
         if(InputColorSpace==1){ xyz=Clay2XYZ(color); }
         if(InputColorSpace==0){ xyz=sRGB2XYZ(color); }
-        if(OutputColorSpace==0){ color=to_log_srgb(XYZ2sRGB(xyz)); }
-        if(OutputColorSpace==1){ color=to_log_clay(XYZ2Clay(xyz)); }
+        if(OutputColorSpace==0){ color=to_log_srgb(XYZ2sRGB(xyz)); /*_rgba.a=srgb_transfer_function(_rgba.a);*/ }
+        if(OutputColorSpace==1){ color=to_log_clay(XYZ2Clay(xyz)); /*_rgba.a=pow(_rgba.a,1.0/2.19921875);*/ }
     }else{
         if(ColorMode==1){ color.y=pow(color.y,max(HCYGamma,1.)); color=okhsl_to_srgb(color); }
         else if(ColorMode==0){ color=color; }
         else{
-            if(OutputColorSpace==0){ color=to_log_srgb(color); }
-            if(OutputColorSpace==1){ color=to_log_clay(color); }
+            if(OutputColorSpace==0){ color=to_log_srgb(color); /*_rgba.a=srgb_transfer_function(_rgba.a);*/ }
+            if(OutputColorSpace==1){ color=to_log_clay(color); /*_rgba.a=pow(_rgba.a,1.0/2.19921875);*/ }
         }
     }
     if(ShowStripes!=0){
         if(color.r>1.00001||color.g>1.00001||color.b>1.00001||color.r<0.||color.g<0.||color.b<0.){ color=mix(color,vec3(0.5,0.5,0.5),(sin((gl_FragCoord.x+gl_FragCoord.y)/2.)>0.)?1.:0.5); }
     }
-    return color;
+    return vec4(color,_rgba.a);
 }
 
 #ifdef GLES_UINT_TEXTURE
@@ -786,7 +787,7 @@ void main(){
         vec3 oNormal=fNormal; if(view<0.){ oNormal=-fNormal; }
         outNormal = oNormal;
     }
-    color=vec4(ConvertColorSpace(color.rgb),color.a); color.a=clamp(color.a,0.,1.);
+    color=ConvertColorSpace(color); color.a=clamp(color.a,0.,1.);
 	if(Composing!=0){
 		if(color.rgb!=vec3(0,0,0)){
 			//vec3 cl=srgb_to_okhsl(color.rgb);