|
@@ -18,6 +18,12 @@
|
|
|
|
|
|
#include "la_5.h"
|
|
|
|
|
|
+#ifdef LA_USE_GLES
|
|
|
+#define TNS_SHADER_VERSION "#version 320 es"
|
|
|
+#else
|
|
|
+#define TNS_SHADER_VERSION "#version 430"
|
|
|
+#endif
|
|
|
+
|
|
|
extern "C" const char* TNS_SHADER_COLOR_COMMON=R"(
|
|
|
#define M_PI 3.1415926535897932384626433832795
|
|
|
float rad(float d){ return d/180.0*M_PI; }
|
|
@@ -589,7 +595,7 @@ vec4 halftone(vec4 color){
|
|
|
)";
|
|
|
|
|
|
|
|
|
-extern "C" const char* TNS_VERTEX_SIMPLE_MATCAP = R"(#version 320 es
|
|
|
+extern "C" const char* TNS_VERTEX_SIMPLE_MATCAP = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform mat4 mProjection;
|
|
|
uniform mat4 mModel;
|
|
@@ -605,7 +611,7 @@ void main(){
|
|
|
fNormal = normalize(N);
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* TNS_FRAGMENT_SIMPLE_MATCAP = R"(#version 320 es
|
|
|
+extern "C" const char* TNS_FRAGMENT_SIMPLE_MATCAP = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
smooth in vec3 fNormal;
|
|
|
out vec4 outColor;
|
|
@@ -622,7 +628,7 @@ void main(){
|
|
|
outColor = vec4(vec3(0.84, 0.41, 0.16)*value,1);
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* TNS_VERTEX_GRID = R"(#version 320 es
|
|
|
+extern "C" const char* TNS_VERTEX_GRID = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
|
|
|
uniform mat4 mProjection;
|
|
@@ -642,7 +648,7 @@ void main(){
|
|
|
uv = vUV;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* TNS_FRAGMENT_TRANSPARNT_GRID = R"(#version 320 es
|
|
|
+extern "C" const char* TNS_FRAGMENT_TRANSPARNT_GRID = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
in vec4 fColor;
|
|
|
in vec2 uv;
|
|
@@ -653,7 +659,7 @@ void main(){
|
|
|
outColor = c;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_IMM_VERTEX_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_IMM_VERTEX_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform mat4 mProjection;
|
|
|
uniform mat4 mModel;
|
|
@@ -677,7 +683,7 @@ void main(){
|
|
|
fNormal= normalize((mModel * vec4(vNormal,0.)).xyz);
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_IMM_FRAGMENT_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_IMM_FRAGMENT_SHADER = TNS_SHADER_VERSION R"(
|
|
|
#extension GL_ARB_shading_language_420pack : enable // uniform sampler binding
|
|
|
precision highp float;
|
|
|
precision highp int;
|
|
@@ -864,7 +870,7 @@ void main(){
|
|
|
outGPos = fGPos;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_OBJECT_FRAGMENT_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_OBJECT_FRAGMENT_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform int UseNormal;
|
|
|
uniform float UseHalftone;
|
|
@@ -907,7 +913,7 @@ void main(){
|
|
|
outColor = color; outGPos = fGPos;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_FLOOR_VERTEX_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_FLOOR_VERTEX_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform mat4 mProjection;
|
|
|
uniform mat4 mModel;
|
|
@@ -922,7 +928,7 @@ void main(){
|
|
|
fColor=vColor;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_FLOOR_FRAGMENT_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_FLOOR_FRAGMENT_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform vec3 uViewPos;
|
|
|
uniform float uFar;
|
|
@@ -934,7 +940,7 @@ void main(){
|
|
|
outColor=vec4(fColor.rgb,fColor.a*fac);
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_RAY_VERTEX_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_RAY_VERTEX_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
in vec3 vUV;
|
|
|
in vec4 vVertex;
|
|
@@ -988,7 +994,7 @@ vec4 fxaa(in sampler2D tex, vec2 uv, vec2 texsize) {
|
|
|
return vec4(texture(tex, offuv).rgb,colm4.a);
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_RAY_FRAGMENT_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_RAY_FRAGMENT_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform vec3 uViewDir;
|
|
|
uniform vec3 uViewPos;
|
|
@@ -1010,7 +1016,7 @@ void main(){
|
|
|
outColor = mul*color+buffer_color;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_SCENE_VERTEX_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_SCENE_VERTEX_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform mat4 mProjection;
|
|
|
uniform mat4 mModel;
|
|
@@ -1032,7 +1038,7 @@ void main(){
|
|
|
fGPos= mShadow * mModel * vVertex;\
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_SCENE_FRAGMENT_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_SCENE_FRAGMENT_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
uniform highp sampler2D TexColor;
|
|
|
uniform highp sampler2DMS TexColorMS;\
|
|
@@ -1068,7 +1074,7 @@ void main(){
|
|
|
outColor=GetShadow(fGPos)*fColor;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_CASCADE_SHADOW_VERTEX_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_CASCADE_SHADOW_VERTEX_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
in vec4 vVertex;
|
|
|
uniform mat4 mModel;
|
|
@@ -1080,7 +1086,7 @@ void main(){
|
|
|
extern "C" const char* LA_CASCADE_SHADOW_FRAGMENT_SHADER = "#version 320 es\n \
|
|
|
precision highp float;\nvoid main(){gl_FragDepth = gl_FragCoord.z;}";
|
|
|
|
|
|
-extern "C" const char* LA_SELECTION_VERTEX_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_SELECTION_VERTEX_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
in vec4 vVertex;
|
|
|
in vec3 vColor;
|
|
@@ -1096,7 +1102,7 @@ void main(){
|
|
|
fIdColor = vColor;
|
|
|
})";
|
|
|
|
|
|
-extern "C" const char* LA_SELECTION_FRAGMENT_SHADER = R"(#version 320 es
|
|
|
+extern "C" const char* LA_SELECTION_FRAGMENT_SHADER = TNS_SHADER_VERSION R"(
|
|
|
precision highp float;
|
|
|
flat in vec3 fIdColor;
|
|
|
out vec4 outColor;
|