Revert "[Tizen] Revert "Updating shaders to test vulkan features.""
authorBowon Ryu <bowon.ryu@samsung.com>
Tue, 26 Nov 2024 06:11:50 +0000 (15:11 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Tue, 26 Nov 2024 06:11:50 +0000 (15:11 +0900)
This reverts commit db4ed5dedb4e852a7b4c127aefad332b9eaa3718.

79 files changed:
examples/animated-shapes/shaders/animated-shapes.frag
examples/animated-shapes/shaders/animated-shapes.vert
examples/bezier-curve/shaders/bezier-curve.frag
examples/bezier-curve/shaders/bezier-curve.vert
examples/bullet-physics/shaders/rendering-textured-shape.frag
examples/bullet-physics/shaders/rendering-textured-shape.vert
examples/contact-cards/shaders/clipped-image.frag
examples/contact-cards/shaders/clipped-image.vert
examples/line-mesh/shaders/line-mesh.frag
examples/line-mesh/shaders/line-mesh.vert
examples/mesh-morph/shaders/mesh-morph.frag
examples/mesh-morph/shaders/mesh-morph.vert
examples/metaball-explosion/shaders/metaball-refraction.frag
examples/metaball-explosion/shaders/metaball.frag
examples/metaball-explosion/shaders/metaball.vert
examples/metaball-refrac/shaders/fragment.frag
examples/metaball-refrac/shaders/metaball-refraction.frag
examples/metaball-refrac/shaders/metaball.frag
examples/metaball-refrac/shaders/metaball.vert
examples/particles/shaders/particle-view-simple.frag
examples/particles/shaders/particle-view-simple.vert
examples/particles/shaders/particle-view.frag
examples/particles/shaders/particle-view.vert
examples/perf-scroll/shaders/perf-scroll.frag
examples/perf-scroll/shaders/perf-scroll.vert
examples/point-mesh/shaders/point-mesh.frag
examples/point-mesh/shaders/point-mesh.vert
examples/reflection-demo/reflection-example.cpp
examples/reflection-demo/shaders/reflection-plasma.frag
examples/reflection-demo/shaders/reflection-simple.frag
examples/reflection-demo/shaders/reflection-tex.frag
examples/reflection-demo/shaders/reflection-textured.frag
examples/reflection-demo/shaders/reflection.frag
examples/reflection-demo/shaders/reflection.vert
examples/refraction-effect/shaders/refraction-effect-flat.frag
examples/refraction-effect/shaders/refraction-effect-flat.vert
examples/refraction-effect/shaders/refraction-effect-refraction.frag
examples/refraction-effect/shaders/refraction-effect-refraction.vert
examples/renderer-stencil/shaders/render-stencil-textured.frag
examples/renderer-stencil/shaders/render-stencil-textured.vert
examples/renderer-stencil/shaders/render-stencil.frag
examples/renderer-stencil/shaders/render-stencil.vert
examples/rendering-basic-light/shaders/rendering-basic-light.frag
examples/rendering-basic-light/shaders/rendering-basic-light.vert
examples/rendering-cube/shaders/rendering-cube.frag
examples/rendering-cube/shaders/rendering-cube.vert
examples/rendering-line/shaders/rendering-line.frag
examples/rendering-line/shaders/rendering-line.vert
examples/rendering-radial-progress/shaders/radial-progress-basic.frag
examples/rendering-radial-progress/shaders/radial-progress-basic.vert
examples/rendering-radial-progress/shaders/radial-progress-textured.frag
examples/rendering-radial-progress/shaders/radial-progress-textured.vert
examples/rendering-skybox/shaders/rendering-skybox-cube.frag
examples/rendering-skybox/shaders/rendering-skybox-cube.vert
examples/rendering-skybox/shaders/rendering-skybox-equirectangular.frag
examples/rendering-skybox/shaders/rendering-skybox.frag
examples/rendering-skybox/shaders/rendering-skybox.vert
examples/rendering-textured-cube/shaders/rendering-textured-cube.frag
examples/rendering-textured-cube/shaders/rendering-textured-cube.vert
examples/rendering-triangle/shaders/rendering-triangle.frag
examples/rendering-triangle/shaders/rendering-triangle.vert
examples/sparkle/shaders/sparkle-effect.frag
examples/sparkle/shaders/sparkle-effect.vert
examples/sparkle/sparkle-effect-example.cpp
examples/sparkle/sparkle-effect.h
examples/styling/shaders/image-channel-control.frag
examples/textured-mesh/shaders/textured-mesh.frag
examples/textured-mesh/shaders/textured-mesh.vert
examples/textured-mesh/textured-mesh-example.cpp
examples/uniform-blocks/shaders/uniform-block-alt.frag
examples/uniform-blocks/shaders/uniform-block.frag
examples/uniform-blocks/shaders/uniform-block.vert
examples/waves/shaders/waves.frag
examples/waves/shaders/waves.vert
resources/shaders/raymarch_sphere_shaded.fsh
resources/shaders/raymarch_sphere_shaded.vsh
resources/style/android/base-theme.json
resources/style/base-theme.json
resources/style/rpi/base-theme.json

index 6127684209ef5ea0eaf57428d9dc0d148d16f2c4..a5c57171e1e3bc207003b0bc7503d391ee41047a 100644 (file)
@@ -1,5 +1,11 @@
-uniform lowp vec4 uColor;
-varying lowp vec2 vCoefficient;
+//@version 100
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM lowp vec4 uColor;
+};
+
+INPUT lowp vec2 vCoefficient;
 
 void main()
 {
index 06e6523bbb08681bf68d2872853e4a962c83718a..5ba6c5c3baf69cb8d447fe62acb9b0110b21e2da 100644 (file)
@@ -1,7 +1,14 @@
-attribute mediump vec3 aCoefficient;
-uniform mediump mat4 uMvpMatrix;
-uniform mediump vec3 uPosition[MAX_POINT_COUNT];
-varying lowp vec2 vCoefficient;
+//@version 100
+
+INPUT mediump vec3 aCoefficient;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4 uMvpMatrix;
+UNIFORM mediump vec3 uPosition[MAX_POINT_COUNT];
+};
+
+OUTPUT lowp vec2 vCoefficient;
 
 void main()
 {
index ef6b09edec98c5c2f0b5b19bf716c262ed025d57..8633599cc5bdc61389f8a001994fd1017e4f363b 100644 (file)
@@ -1,4 +1,5 @@
-uniform lowp vec4 uColor;
+//@version 100
+
 
 void main()
 {
index a108a415dd9cd6a912d3a7af3de1219fad39f63c..1f807a543e987760bb4638b9a142a017c2c2a812 100644 (file)
@@ -1,6 +1,12 @@
-attribute mediump vec2 aPosition;
-uniform mediump mat4 uMvpMatrix;
-uniform vec3 uSize;
+//@version 100
+
+INPUT mediump vec2 aPosition;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4 uMvpMatrix;
+UNIFORM vec3 uSize;
+};
 
 void main()
 {
index 1f7bac252af444cb9952f2d9f51f0967b0b47f78..af4064f3052b814afd79270951589f6134738249 100644 (file)
@@ -1,7 +1,14 @@
-uniform sampler2D uTexture;
-uniform mediump float uBrightness;
-varying mediump vec2 vTexCoord;
-varying mediump vec3 vIllumination;
+//@version 100
+
+UNIFORM sampler2D uTexture;
+
+UNIFORM_BLOCK VanFrag
+{
+UNIFORM mediump float uBrightness;
+};
+
+INPUT mediump vec2 vTexCoord;
+INPUT mediump vec3 vIllumination;
 
 mediump vec3 redistribute_rgb(mediump vec3 color)
 {
@@ -23,7 +30,7 @@ mediump vec3 redistribute_rgb(mediump vec3 color)
 
 void main()
 {
-  mediump vec4 texColor = texture2D( uTexture, vTexCoord );
+  mediump vec4 texColor = TEXTURE( uTexture, vTexCoord );
   //mediump vec4 texColor = vec4(0.5,0.5,0.5,1.0);
   //gl_FragColor = vec4(texColor.rgb, 1.0);
 
index 02b1edbd6a611fa23335fbe8bd7b830da3a98173..abad5039eccf08153d8f5ee0072caae3c08f3c38 100644 (file)
@@ -1,11 +1,17 @@
-attribute mediump vec3 aPosition;  // DALi shader builtin
-attribute mediump vec2 aTexCoord;  // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump mat4 uViewMatrix; // DALi shader builtin
-uniform   mediump mat4 uModelView; // DALi shader builtin
-uniform   mediump vec3 uSize;      // DALi shader builtin
-varying mediump vec3 vIllumination;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump mat4 uViewMatrix; // DALi shader builtin
+UNIFORM   mediump mat4 uModelView; // DALi shader builtin
+UNIFORM   mediump vec3 uSize;      // DALi shader builtin
+};
+
+INPUT mediump vec3 aPosition;  // DALi shader builtin
+INPUT mediump vec2 aTexCoord;  // DALi shader builtin
+OUTPUT mediump vec3 vIllumination;
+OUTPUT mediump vec2 vTexCoord;
 
 void main()
 {
index bde9850c30c59b514fce8581b132a706742d168d..f9d801880b4f27b92935369255a3557eee281951 100644 (file)
@@ -1,3 +1,5 @@
+//@version 100
+
 // This fragment-shader does not output anything.
 // It's for a control which is just going to clip as specified in the vertex shader.
 
index cfe84bddc2aa31dd679cc6ca97992b093fe39a58..f8c8a96e33a929dbc802a292baad5dbfbfa26185 100644 (file)
@@ -1,13 +1,19 @@
+//@version 100
+
 // This vertex-shader mixes in the quad and circle geometry depending on the value of uDelta.
 //
 // uDelta is used to mix in the Circle and the Quad positions.
 // If uDelta is 0.0f, then the circle position is adopted and if it is 1.0f, then the quad position is adopted.
 
-attribute mediump vec2  aPositionCircle;
-attribute mediump vec2  aPositionQuad;
-uniform   mediump float uDelta;
-uniform mediump mat4    uMvpMatrix;
-uniform mediump vec3    uSize;
+INPUT mediump vec2  aPositionCircle;
+INPUT mediump vec2  aPositionQuad;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump float uDelta;
+UNIFORM mediump mat4  uMvpMatrix;
+UNIFORM mediump vec3  uSize;
+};
 
 void main()
 {
index c9eeb01ee812e8164f50b8fc0d88f161b1f7ed9d..4f11e44ea5addf4262d5321bc8cff84c1cc9bbba 100644 (file)
@@ -1,7 +1,13 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture;
+//@version 100
 
-varying lowp vec3 vColor;
+UNIFORM sampler2D sTexture;
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM lowp vec4 uColor;
+};
+
+INPUT lowp vec3 vColor;
 
 void main()
 {
index e9ff779e913a12107704dfaec4032efb2dcc447b..98949b86fe1586627e1dad479e68b1ccb2eaec20 100644 (file)
@@ -1,11 +1,17 @@
-attribute mediump vec2 aPosition1;
-attribute mediump vec2 aPosition2;
-attribute lowp vec3    aColor;
-uniform mediump mat4   uMvpMatrix;
-uniform mediump vec3   uSize;
-uniform mediump float  uMorphAmount;
+//@version 100
 
-varying lowp vec3 vColor;
+INPUT mediump vec2 aPosition1;
+INPUT mediump vec2 aPosition2;
+INPUT lowp vec3    aColor;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4   uMvpMatrix;
+UNIFORM mediump vec3   uSize;
+UNIFORM mediump float  uMorphAmount;
+};
+
+OUTPUT lowp vec3 vColor;
 
 void main()
 {
index 93f7a013b8fde5198889dbbe13da39e236e8c384..bdd5ca04b6ab124a896cd50ce653a81eee230a5b 100644 (file)
@@ -1,4 +1,6 @@
-varying lowp vec4 vColor;
+//@version 100
+
+INPUT lowp vec4 vColor;
 
 void main()
 {
index 766c88c25993a4198936e5e47d5ad5c1a559c765..222a5fd2d765fabb46ade7bb383ca1fb0e0a27d7 100644 (file)
@@ -1,11 +1,18 @@
-attribute mediump vec2 aInitPos;
-attribute mediump vec2 aFinalPos;
-attribute mediump vec3 aColor;
-uniform mediump mat4   uMvpMatrix;
-uniform mediump vec3   uSize;
-uniform mediump float  uDelta;
-uniform lowp vec4      uColor;
-varying lowp vec4      vColor;
+//@version 100
+
+INPUT mediump vec2 aInitPos;
+INPUT mediump vec2 aFinalPos;
+INPUT mediump vec3 aColor;
+
+OUTPUT lowp vec4      vColor;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4   uMvpMatrix;
+UNIFORM mediump vec3   uSize;
+UNIFORM mediump float  uDelta;
+UNIFORM lowp vec4      uColor;
+};
 
 void main()
 {
index ad67df6dee8a728c28aeb582dff31cd09629fa5d..7c3e15668fea77fb986694ea8a90112037483b29 100644 (file)
@@ -1,10 +1,18 @@
+//@version 100
+
 //Fragment shader code for metaball and background composition with refraction effect
 
 precision highp float;
-varying vec2 vTexCoord;
-uniform sampler2D sTexture;
-uniform sampler2D sEffect;
-uniform vec2 uPositionMetaball;
+INPUT vec2 vTexCoord;
+
+UNIFORM sampler2D sTexture;
+UNIFORM sampler2D sEffect;
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM vec2 uPositionMetaball;
+};
+
 void main()
 {
   vec2 zoomCoords;
@@ -13,7 +21,7 @@ void main()
   vec3 color = vec3(1.0, 1.0, 1.0);
   float ambient = 0.2;
 
-  vec4 metaColor = texture2D(sEffect, vTexCoord);
+  vec4 metaColor = TEXTURE(sEffect, vTexCoord);
 
   vec2 adjustedCoords = vTexCoord.xy * vec2(2.0) - vec2(1.0);
   fakePos = adjustedCoords.xy - vec2(uPositionMetaball.x, -uPositionMetaball.y);
@@ -65,7 +73,7 @@ void main()
   float specularFactor = max(0.0,dot(vertexToEye, lightReflect));
   specularFactor = pow(specularFactor, 32.0) * 0.7;
 
-  vec4 texColor = texture2D(sTexture, zoomCoords);
+  vec4 texColor = TEXTURE(sTexture, zoomCoords);
   gl_FragColor.rgb = texColor.rgb * ambient + color.rgb * texColor.rgb * lightDiffuse + vec3(specularFactor);
   gl_FragColor.a = 1.0;
 }
index 8411a1816aa931892ab143534ca7ca75b0ee3b8b..095eceb62fba155375a6ff9b4dc8dc8cf3e915df 100644 (file)
@@ -1,12 +1,19 @@
+//@version 100
+
 // Fragment shader code for metaball
 
 precision mediump float;
-varying vec2 vTexCoord;
-uniform vec2 uPositionMetaball;
-uniform vec2 uPositionVar;
-uniform vec2 uGravityVector;
-uniform float uRadius;
-uniform float uRadiusVar;
+
+INPUT vec2 vTexCoord;
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM vec2 uPositionMetaball;
+UNIFORM vec2 uPositionVar;
+UNIFORM vec2 uGravityVector;
+UNIFORM float uRadius;
+UNIFORM float uRadiusVar;
+};
 
 void main()
 {
index 911e77acce2fca757178756750ea2a58f39a8659..6f6dd4b1fa8fb5f21554eb0dc31807f708f43588 100644 (file)
@@ -1,11 +1,18 @@
+//@version 100
+
 //Vertex shader code for metaball
 
-attribute mediump vec2    aPosition;
-attribute mediump vec2    aTexture;
-uniform   mediump mat4    uMvpMatrix;
-uniform   mediump vec3    uSize;
-uniform   lowp    vec4    uColor;
-varying   mediump vec2    vTexCoord;
+INPUT mediump vec2    aPosition;
+INPUT mediump vec2    aTexture;
+
+OUTPUT   mediump vec2    vTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4    uMvpMatrix;
+UNIFORM   mediump vec3    uSize;
+UNIFORM   lowp    vec4    uColor;
+};
 
 void main()
 {
index 1878397babc5b175c30df33e6c9a5c916a06859f..df97aeea6e0b9cc17cd377b6dcb2b8548aa25ee5 100644 (file)
@@ -1,10 +1,13 @@
+//@version 100
+
 // Fragment shader code when there's no effect
 
 precision mediump float;
-varying vec2 vTexCoord;
-uniform sampler2D sTexture;
+
+INPUT vec2 vTexCoord;
+UNIFORM sampler2D sTexture;
 
 void main()
 {
-  gl_FragColor = texture2D(sTexture, vTexCoord);
+  gl_FragColor = TEXTURE(sTexture, vTexCoord);
 }
index e84f3ea5843e70ada2670281b916ee96411929ba..718ffa2f41ca4cca9702820bca684868c7e73701 100644 (file)
@@ -1,13 +1,15 @@
+//@version 100
 // Fragment shader code for metaball and background composition with refraction effect
 
 precision mediump float;
-varying vec2 vTexCoord;
-uniform sampler2D sTexture;
-uniform sampler2D sEffect;
+INPUT vec2 vTexCoord;
+
+UNIFORM sampler2D sTexture;
+UNIFORM sampler2D sEffect;
 
 void main()
 {
-  vec4 metaColor = texture2D(sEffect, vTexCoord);
+  vec4 metaColor = TEXTURE(sEffect, vTexCoord);
   vec2 zoomCoords;
   float bright = 1.0;
   if (metaColor.r > 0.85)
@@ -25,5 +27,5 @@ void main()
     zoomCoords = vTexCoord;
   }
 
-  gl_FragColor = texture2D(sTexture, zoomCoords) * bright;
+  gl_FragColor = TEXTURE(sTexture, zoomCoords) * bright;
 }
index ed8776733259a15d8dade4ee3e4e061f7908647f..2fdc26972cdbe00169d312682cd484735732fcde 100644 (file)
@@ -1,13 +1,19 @@
+//@version 100
+
 // Fragment shader for metaballs
 
 precision mediump float;
-varying vec2 vTexCoord;
-uniform vec2 uPositionMetaball;
-uniform vec2 uPositionVar;
-uniform vec2 uGravityVector;
-uniform float uRadius;
-uniform float uRadiusVar;
-uniform float uAspect;
+INPUT vec2 vTexCoord;
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM vec2 uPositionMetaball;
+UNIFORM vec2 uPositionVar;
+UNIFORM vec2 uGravityVector;
+UNIFORM float uRadius;
+UNIFORM float uRadiusVar;
+UNIFORM float uAspect;
+};
 
 void main()
 {
index 370d87025bee8e4b86e8c718b2ecd88a658e2cc2..fd002d969491dad188b449088ca8de144c07456b 100644 (file)
@@ -1,11 +1,16 @@
+//@version 100
 // Vertex shader for metaballs
 
-attribute mediump vec2    aPosition;
-attribute mediump vec2    aTexture;
-uniform   mediump mat4    uMvpMatrix;
-uniform   mediump vec3    uSize;
-uniform   lowp    vec4    uColor;
-varying   mediump vec2    vTexCoord;
+INPUT mediump vec2    aPosition;
+INPUT mediump vec2    aTexture;
+OUTPUT   mediump vec2    vTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4    uMvpMatrix;
+UNIFORM   mediump vec3    uSize;
+UNIFORM   lowp    vec4    uColor;
+};
 
 void main()
 {
index 942a401cf3fe3d56c41528f92708ee872b5ead53..457c31b6905062a2d305f2f196cde5dca59af247 100644 (file)
@@ -1,11 +1,15 @@
-#version 300 es
+//@version 100
+
 // Shader for an unlit, unfogged, textured mesh.
 
 precision mediump float;
-uniform vec4 uColor;
-out vec4 oFragColor;
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM vec4 uColor;
+};
 
 void main()
 {
 oFragColor = uColor;
gl_FragColor = uColor;
 }
index 59238621968043bc5cc27290d8052e9b2740a6fd..dc472ba11bd3e8d21038b6f805219459af3e74bd 100644 (file)
@@ -1,12 +1,18 @@
-#version 300 es
+//@version 100
+
 // Shader for simple textured geometry.
 
 precision mediump float;
-uniform mat4 uMvpMatrix;//by DALi
-uniform vec3 uSize;  // by DALi
-in vec3 aPosition;
+
+UNIFORM_BLOCK VertexBlock
+{
+  UNIFORM mat4 uMvpMatrix; //by DALi
+  UNIFORM vec3 uSize;  // by DALi
+};
+
+INPUT vec3 aPosition;
 
 void main()
 {
-  gl_Position = uMvpMatrix * vec4(aPosition * uSize, 1.f);
+  gl_Position = uMvpMatrix * vec4(aPosition * uSize, 1.0);
 }
index 293487c3a1b5d861ea11b1d157ff3610e4b784bb..c1c97ccc5f0555a4fc0b78feaf649e332dc21fb7 100644 (file)
@@ -1,16 +1,21 @@
-#version 300 es
+//@version 100
+
 // Fragment shader for particles, which simulates depth of field using
 // a combination of procedural texturing, alpha testing and alpha blending.
 
 precision lowp float;
-uniform float uAlphaTestRefValue;
-uniform vec2 uFadeRange; // near, far
-in vec2 vUvUnit;
-flat in float vDepth;
-flat in float vFocalDistance;
-flat in float vOpacity;
-flat in vec3 vColor;
-out vec4 oFragColor;
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM float uAlphaTestRefValue;
+UNIFORM vec2 uFadeRange; // near, far
+};
+
+INPUT vec2 vUvUnit;
+INPUT flat float vDepth;
+INPUT flat float vFocalDistance;
+INPUT flat float vOpacity;
+INPUT flat vec3 vColor;
 
 const float REF_VALUE_THRESHOLD = 1. / 64.;
 
@@ -35,5 +40,5 @@ void main()
   // Fade particles out as they get close to the near and far clipping planes
   alpha *= smoothstep(.0f, uFadeRange.x, vDepth) * smoothstep(1.f, uFadeRange.y, vDepth);
 
-  oFragColor = vec4(vColor, alpha);
+  gl_FragColor = vec4(vColor, alpha);
 }
index 33cc108a1d31ef92aae19a08293fdfcfe95efd6f..d1b301d34649a6b9f555e695a9c527eff7b02172 100644 (file)
@@ -1,22 +1,29 @@
-#version 300 es
+//@version 100
+
 // Shader for billboarded particles, where the vertices of the particles
 // are supplied as vec3 position (particle position) + vec2 sub-position.
 
 precision lowp float;
-uniform mat4 uModelView; // DALi
-uniform mat4 uProjection; // DALi
-uniform vec3 uSize; // DALi
-uniform vec4 uColor; // DALi
-
-uniform vec3 uSecondaryColor;
-uniform vec2 uDepthRange; // x is zNear, y is 1.f / (zFar - zNear)
-uniform float uTwinkleFrequency;
-uniform float uTwinkleSizeScale;
-uniform float uTwinkleOpacityWeight;
-uniform float uTime;
-uniform float uFocalLength;
-uniform float uAperture;
-uniform float uPopulation;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mat4 uModelView; // DALi
+UNIFORM mat4 uProjection; // DALi
+UNIFORM vec3 uSize; // DALi
+UNIFORM vec4 uColor; // DALi
+};
+
+UNIFORM_BLOCK Billboard
+{
+UNIFORM vec3 uSecondaryColor;
+UNIFORM vec2 uDepthRange; // x is zNear, y is 1.f / (zFar - zNear)
+UNIFORM float uTwinkleFrequency;
+UNIFORM float uTwinkleSizeScale;
+UNIFORM float uTwinkleOpacityWeight;
+UNIFORM float uTime;
+UNIFORM float uFocalLength;
+UNIFORM float uAperture;
+UNIFORM float uPopulation;
+};
 
 struct Scatter
 {
@@ -26,22 +33,29 @@ struct Scatter
 };
 
 const int SCATTER_VARS = 6; // Must match ParticleView::mScatterProps' size.
-uniform Scatter uScatter[SCATTER_VARS];
+
+UNIFORM_BLOCK ScatterBlock
+{
+UNIFORM Scatter uScatter[SCATTER_VARS];
+};
 
 const int POPULATION_GRANULARITY = 128;
-uniform float uOrderLookUp[POPULATION_GRANULARITY];
-
-in vec3 aPosition;
-in float aSeed;
-in vec4 aPath;
-in vec2 aSubPosition;
-in float aSize;
-
-flat out float vDepth;
-flat out float vFocalDistance;
-out vec2 vUvUnit;
-flat out float vOpacity;
-flat out vec3 vColor; // ignore alpha
+UNIFORM_BLOCK OrderLookup
+{
+UNIFORM float uOrderLookUp[POPULATION_GRANULARITY];
+};
+
+INPUT vec3 aPosition;
+INPUT float aSeed;
+INPUT vec4 aPath;
+INPUT vec2 aSubPosition;
+INPUT float aSize;
+
+OUTPUT flat float vDepth;
+OUTPUT flat float vFocalDistance;
+OUTPUT vec2 vUvUnit;
+OUTPUT flat float vOpacity;
+OUTPUT flat vec3 vColor; // ignore alpha
 
 float bezier(vec3 control, float alpha)
 {
index f9eba48f6bed27f971a4412edaf2dd0366d4bb4f..a3f24dd3a24b810cedadccac3d1f9e89e5b3f471 100644 (file)
@@ -1,8 +1,14 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM lowp vec4 uColor;
+}
+UNIFORM sampler2D sTexture;
+
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor;
+  gl_FragColor = TEXTURE( sTexture, vTexCoord ) * uColor;
 }
index 3cb2121bb4957aa8c5685f37189eeae072934323..643d96c81f07c7dff50c44def65edf212a4e2d62 100644 (file)
@@ -1,8 +1,14 @@
-attribute mediump vec2 aPosition;
-attribute mediump vec2 aTexCoord;
-uniform mediump mat4 uMvpMatrix;
-uniform mediump vec3 uSize;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+INPUT mediump vec2 aPosition;
+INPUT mediump vec2 aTexCoord;
+OUTPUT mediump vec2 vTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4 uMvpMatrix;
+UNIFORM mediump vec3 uSize;
+};
 
 void main()
 {
index 51be239623deb969ed380e8f2d020b71f0a855b3..08eb6021d842614252c19eca1728e08dfa79a52c 100644 (file)
@@ -1,13 +1,20 @@
-varying mediump vec3  vVertexColor;
-varying mediump float vHue;
-uniform lowp vec4     uColor;
-uniform sampler2D     sTexture1;
-uniform sampler2D     sTexture2;
-uniform lowp vec4     uFadeColor;
+//@version 100
+
+INPUT mediump vec3  vVertexColor;
+INPUT mediump float vHue;
+
+UNIFORM sampler2D   sTexture1;
+UNIFORM sampler2D   sTexture2;
+
+UNIFORM_BLOCK FragUniforms
+{
+UNIFORM lowp vec4     uColor;
+UNIFORM lowp vec4     uFadeColor;
+};
 
 void main()
 {
-  mediump vec4 texCol1 = texture2D(sTexture1, gl_PointCoord);
-  mediump vec4 texCol2 = texture2D(sTexture2, gl_PointCoord);
+  mediump vec4 texCol1 = TEXTURE(sTexture1, gl_PointCoord);
+  mediump vec4 texCol2 = TEXTURE(sTexture2, gl_PointCoord);
   gl_FragColor         = vec4(vVertexColor, 1.0) * ((texCol1 * vHue) + (texCol2 * (1.0 - vHue)));
 }
index 6afbdb4aca7fbb86f30375732654971facbb5bb9..4c129ee8a6a7341c7ab9d887cfebbed6e5683c9e 100644 (file)
@@ -1,12 +1,21 @@
-attribute mediump vec2 aPosition;
-attribute highp float  aHue;
-varying mediump vec2   vTexCoord;
-uniform mediump mat4   uMvpMatrix;
-uniform mediump vec3   uSize;
-uniform mediump float  uPointSize;
-uniform lowp vec4      uFadeColor;
-varying mediump vec3   vVertexColor;
-varying mediump float  vHue;
+//@version 100
+
+INPUT mediump vec2 aPosition;
+INPUT highp float  aHue;
+OUTPUT mediump vec2   vTexCoord;
+OUTPUT mediump vec3   vVertexColor;
+OUTPUT mediump float  vHue;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4   uMvpMatrix;
+UNIFORM mediump vec3   uSize;
+};
+
+UNIFORM_BLOCK Custom
+{
+UNIFORM mediump float  uPointSize;
+};
 
 vec3 hsv2rgb(vec3 c)
 {
index 773181801e4be243bbf6fad988bbc94185be3a9f..68b5691d341ba9447412c83c4bd7260af9a6b8b1 100644 (file)
@@ -78,7 +78,7 @@ Shader CreateShader(const std::string& vsh, const std::string& fsh)
   std::vector<char> fshShaderSource;
 
   // VSH
-  if(vsh[0] == '/')
+  if(vsh[0] == '/' && vsh[1] != '/')
   {
     std::string vshPath(DEMO_GAME_DIR);
     vshPath += '/';
@@ -91,7 +91,7 @@ Shader CreateShader(const std::string& vsh, const std::string& fsh)
   }
 
   // FSH
-  if(fsh[0] == '/')
+  if(fsh[0] == '/' && fsh[1] != '/')
   {
     std::string fshPath(DEMO_GAME_DIR);
     fshPath += '/';
index 47b0055c5de8d76943609e27b769284f1cf147b8..15bf7aac48a40d72992e3b101a5d13b86fa99be0 100644 (file)
@@ -1,13 +1,20 @@
+//@version 100
+
 precision mediump float;
-uniform sampler2D sTexture;
 
-uniform float uTime;
-uniform float uKFactor;
-uniform mediump vec3 eyePos;
-uniform mediump vec3 lightDir;
-varying mediump vec3 vNormal;
-varying mediump vec3 vPosition;
-varying mediump vec2 vTexCoord;
+UNIFORM sampler2D sTexture;
+
+UNIFORM_BLOCK Custom
+{
+UNIFORM float uTime;
+UNIFORM float uKFactor;
+UNIFORM mediump vec3 eyePos;
+UNIFORM mediump vec3 lightDir;
+};
+
+INPUT mediump vec3 vNormal;
+INPUT mediump vec3 vPosition;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
@@ -26,5 +33,5 @@ void main()
   v += sin(sqrt(c.x*c.x+c.y*c.y+1.0)+uTime);
   v = v/2.0;
   mediump vec3 col = vec3(1, sin(PI*v), cos(PI*v));
-  gl_FragColor = (texture2D(sTexture, vTexCoord)) * (((col.r+col.g+col.b)/3.0)+1.0+intensity);
+  gl_FragColor = (TEXTURE(sTexture, vTexCoord)) * (((col.r+col.g+col.b)/3.0)+1.0+intensity);
 }
index 1c813ae109ae78298603819ca93170e1afcd755a..4c59193fbbb9a799c1a4a3f8f15c93a12f60ea2d 100644 (file)
@@ -1,10 +1,17 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture;
-varying mediump vec3 vNormal;
-varying mediump vec3 vPosition;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM lowp vec4 uColor;
+};
+
+UNIFORM sampler2D sTexture;
+
+INPUT mediump vec3 vNormal;
+INPUT mediump vec3 vPosition;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  gl_FragColor = texture2D(sTexture, vTexCoord) * 2.0;
+  gl_FragColor = TEXTURE(sTexture, vTexCoord) * 2.0;
 }
index 8f792cc3a94151670ef6028bb1e7e68c4263446c..0d17642c03ec456544b8f1216a98b248856f642c 100644 (file)
@@ -1,12 +1,19 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture0;
-uniform sampler2D sTexture1;
-uniform mediump vec3 eyePos;
-uniform mediump vec3 lightDir;
-uniform mediump vec2 uScreenSize;
-varying mediump vec3 vNormal;
-varying mediump vec3 vPosition;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM sampler2D sTexture0;
+UNIFORM sampler2D sTexture1;
+
+UNIFORM_BLOCK Custom
+{
+UNIFORM lowp vec4 uColor;
+UNIFORM mediump vec3 eyePos;
+UNIFORM mediump vec3 lightDir;
+UNIFORM mediump vec2 uScreenSize;
+};
+
+INPUT mediump vec3 vNormal;
+INPUT mediump vec3 vPosition;
+INPUT mediump vec2 vTexCoord;
 
 mediump float rand(mediump vec2 co)
 {
@@ -22,6 +29,6 @@ void main()
   mediump float factor = gl_FragCoord.y / uScreenSize.y;
   mediump float intensity = max(dot(n,l), 0.0);
   mediump vec2 uv = tx;
-  gl_FragColor = ((texture2D(sTexture0, vTexCoord) * factor ) +
-                 (texture2D(sTexture1, uv))) * intensity;
+  gl_FragColor = ((TEXTURE(sTexture0, vTexCoord) * factor ) +
+                  (TEXTURE(sTexture1, uv))) * intensity;
 }
index 8eb60617bb95e12d1fa547c706f11fa9562c62dd..1c3962e85a8947591cf6ecff7e41e8ddb8f7bb57 100644 (file)
@@ -1,13 +1,18 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture;
-uniform mediump vec2 uScreenSize;
+//@version 100
 
-uniform mediump vec3 eyePos;
-uniform mediump vec3 lightDir;
+UNIFORM sampler2D sTexture;
 
-varying mediump vec3 vNormal;
-varying mediump vec3 vPosition;
-varying mediump vec2 vTexCoord;
+UNIFORM_BLOCK Custom
+{
+UNIFORM lowp vec4 uColor;
+UNIFORM mediump vec2 uScreenSize;
+UNIFORM mediump vec3 eyePos;
+UNIFORM mediump vec3 lightDir;
+};
+
+INPUT mediump vec3 vNormal;
+INPUT mediump vec3 vPosition;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
@@ -15,5 +20,5 @@ void main()
   mediump vec3 l = normalize( lightDir );
   mediump vec3 e = normalize( eyePos );
   mediump float intensity = max(dot(n,l), 0.0);
-  gl_FragColor = texture2D(sTexture, vTexCoord) * intensity;
+  gl_FragColor = TEXTURE(sTexture, vTexCoord) * intensity;
 }
index 55060a846ad0711c3de79cce7ffb62f930a72a78..44a0902e274eda3a8865f734a28cf831370abd00 100644 (file)
@@ -1,10 +1,17 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture;
-varying mediump vec3 vNormal;
-varying mediump vec3 vPosition;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM lowp vec4 uColor;
+};
+
+UNIFORM sampler2D sTexture;
+
+INPUT mediump vec3 vNormal;
+INPUT mediump vec3 vPosition;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  gl_FragColor = texture2D(sTexture, vTexCoord) * 50.0;
+  gl_FragColor = TEXTURE(sTexture, vTexCoord) * 50.0;
 }
index 872da7d40cfaa77aa3a27c3d9de9e742864e88d0..6713650540cbd13f4ab7de99d9999dd6b713b5b6 100644 (file)
@@ -1,13 +1,19 @@
-attribute mediump vec3 aPosition;
-attribute mediump vec3 aNormal;
-attribute mediump vec2 aTexCoord;
-uniform mediump mat4 uMvpMatrix;
-uniform mediump mat3 uNormalMatrix;
-uniform mediump vec3 uSize;
+//@version 100
 
-varying mediump vec2 vTexCoord;
-varying mediump vec3 vNormal;
-varying mediump vec3 vPosition;
+INPUT mediump vec3 aPosition;
+INPUT mediump vec3 aNormal;
+INPUT mediump vec2 aTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4 uMvpMatrix;
+UNIFORM mediump mat3 uNormalMatrix;
+UNIFORM mediump vec3 uSize;
+};
+
+OUTPUT mediump vec2 vTexCoord;
+OUTPUT mediump vec3 vNormal;
+OUTPUT mediump vec3 vPosition;
 
 void main()
 {
index f9eba48f6bed27f971a4412edaf2dd0366d4bb4f..98aaa08dba40b8fa25028af63478c48d72d377dd 100644 (file)
@@ -1,8 +1,15 @@
-uniform lowp vec4 uColor;
-uniform sampler2D sTexture;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM_BLOCK VanillaFrag
+{
+UNIFORM lowp vec4 uColor;
+};
+
+UNIFORM sampler2D sTexture;
+
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor;
+  gl_FragColor = TEXTURE( sTexture, vTexCoord ) * uColor;
 }
index fc35d09dda6f6fbf5fbd44b81b84ae65a9a013c6..148f94175cf70d01ef1d2f01c991ca4a76fa6026 100644 (file)
@@ -1,10 +1,16 @@
+//@version 100
+
 // The shader source is used when the MeshActor is not touched
 
-attribute mediump vec3    aPosition;
-attribute mediump vec3    aNormal;
-attribute highp   vec2    aTexCoord;
-uniform   mediump mat4    uMvpMatrix;
-varying   mediump vec2    vTexCoord;
+INPUT mediump vec3    aPosition;
+INPUT mediump vec3    aNormal;
+INPUT highp   vec2    aTexCoord;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4    uMvpMatrix;
+};
+
+OUTPUT   mediump vec2    vTexCoord;
 
 void main()
 {
index 8fcf92d1105cbdab11d5bffa5a2344a2a651fe62..b3cf5a9df78caaeff1d1e026be7e06efac7d11c6 100644 (file)
@@ -1,15 +1,22 @@
+//@version 100
+
 precision mediump float;
-uniform   mediump float  uEffectStrength;
-uniform   mediump vec3   uLightPosition;
-uniform   mediump vec2   uLightXYOffset;
-uniform   mediump vec2   uLightSpinOffset;
-uniform   mediump float  uLightIntensity;
-uniform   lowp    vec4   uColor;
-uniform   sampler2D      sTexture;
-varying   mediump vec4   vVertex;
-varying   mediump vec3   vNormal;
-varying   mediump vec2   vTexCoord;
-varying   mediump vec2   vTextureOffset;
+UNIFORM_BLOCK Custom
+{
+UNIFORM   mediump float  uEffectStrength;
+UNIFORM   mediump vec3   uLightPosition;
+UNIFORM   mediump vec2   uLightXYOffset;
+UNIFORM   mediump vec2   uLightSpinOffset;
+UNIFORM   mediump float  uLightIntensity;
+UNIFORM   lowp    vec4   uColor;
+};
+
+UNIFORM   sampler2D      sTexture;
+
+INPUT   mediump vec4   vVertex;
+INPUT   mediump vec3   vNormal;
+INPUT   mediump vec2   vTexCoord;
+INPUT   mediump vec2   vTextureOffset;
 
 vec3 rgb2hsl(vec3 rgb)
 {
@@ -49,7 +56,7 @@ void main()
   spotEffect = spotEffect * uEffectStrength;
   mediump float lightDiffuse = ( ( dot( vecToLight, normal )-0.75 ) *uLightIntensity  ) * spotEffect;
 
-  lowp vec4 color = texture2D( sTexture, vTexCoord + vTextureOffset * spotEffect );
+  lowp vec4 color = TEXTURE( sTexture, vTexCoord + vTextureOffset * spotEffect );
   vec3 lightedColor =  hsl2rgb( rgb2hsl(color.rgb) + vec3(0.0,0.0,lightDiffuse) );
 
   gl_FragColor = vec4( lightedColor, color.a ) * uColor;
index 0061123019da1513bf8900ca0975cc7814c2e24b..52b5368f0d16f1aebf3ec46cc73869fdb70521b0 100644 (file)
@@ -1,11 +1,18 @@
-attribute mediump vec3 aPosition;
-attribute mediump vec3 aNormal;
-attribute highp   vec2 aTexCoord;
-uniform   mediump mat4 uMvpMatrix;
-varying   mediump vec4 vVertex;
-varying   mediump vec3 vNormal;
-varying   mediump vec2 vTexCoord;
-varying   mediump vec2 vTextureOffset;
+//@version 100
+
+INPUT mediump vec3 aPosition;
+INPUT mediump vec3 aNormal;
+INPUT highp   vec2 aTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix;
+};
+
+OUTPUT   mediump vec4 vVertex;
+OUTPUT   mediump vec3 vNormal;
+OUTPUT   mediump vec2 vTexCoord;
+OUTPUT   mediump vec2 vTextureOffset;
 
 void main()
 {
index 27c63e5c68d431029a2df948199d406ac9b2cafa..b6b7d36e761795e6eba06ef5254f8f3e732d74ce 100644 (file)
@@ -1,9 +1,15 @@
-varying mediump vec2 vTexCoord;
-varying mediump vec3 vIllumination;
-uniform lowp    vec4 uColor;
-uniform sampler2D    sTexture;
+//@version 100
+
+INPUT mediump vec2 vTexCoord;
+INPUT mediump vec3 vIllumination;
+UNIFORM_BLOCK Color
+{
+  UNIFORM lowp    vec4 uColor;
+};
+
+UNIFORM sampler2D    sTexture;
 
 void main()
 {
-  gl_FragColor = vec4( texture2D( sTexture, vTexCoord ).rgb * vIllumination.rgb * uColor.rgb, uColor.a );
-}
+  gl_FragColor = vec4( TEXTURE( sTexture, vTexCoord ).rgb * vIllumination.rgb * uColor.rgb, uColor.a );
+}
\ No newline at end of file
index 7dd59185aff7740f9d60db73739b6ded32bf79e2..629da9468e5ea4e56056407713e1297c33ebc473 100644 (file)
@@ -1,18 +1,24 @@
+//@version 100
+
 // Shader for basic, per-vertex lighting with texture (vertex):
 
-attribute mediump vec3  aPosition;
-attribute highp   vec3  aNormal;
-attribute highp   vec2  aTexCoord;
-
-varying   mediump vec2  vTexCoord;
-uniform   mediump mat4  uMvpMatrix;
-uniform   mediump vec3  uSize;
-uniform   mediump vec3  uObjectDimensions;
-varying   mediump vec3  vIllumination;
-uniform   mediump mat4  uModelView;
-uniform   mediump mat4  uViewMatrix;
-uniform   mediump mat3  uNormalMatrix;
-uniform   mediump vec3  uLightPosition;
+INPUT mediump vec3  aPosition;
+INPUT highp   vec3  aNormal;
+INPUT highp   vec2  aTexCoord;
+
+OUTPUT   mediump vec3  vIllumination;
+OUTPUT   mediump vec2  vTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4  uMvpMatrix;
+UNIFORM   mediump vec3  uSize;
+UNIFORM   mediump vec3  uObjectDimensions;
+UNIFORM   mediump mat4  uModelView;
+UNIFORM   mediump mat4  uViewMatrix;
+UNIFORM   mediump mat3  uNormalMatrix;
+UNIFORM   mediump vec3  uLightPosition;
+};
 
 void main()
 {
index 12dd2a9100a1f16cdb62e6084cc19c7908b9ca8c..36b924a21295d9e85d0b50aa69287b41f83c0a74 100644 (file)
@@ -1,7 +1,14 @@
-varying mediump vec2 vTexCoord;
-varying mediump vec3 vIllumination;
-uniform lowp    vec4 uColor;
-uniform sampler2D    sTexture;
+//@version 100
+
+INPUT mediump vec2 vTexCoord;
+INPUT mediump vec3 vIllumination;
+
+UNIFORM_BLOCK color
+{
+  UNIFORM lowp vec4 uColor;
+};
+
+UNIFORM sampler2D    sTexture;
 
 void main()
 {
index 06270a9c3195471ffe9c9d7b81c8889b527cab6e..a48673a2abfa4ceb250b104fafc29b6a50a8d35f 100644 (file)
@@ -1,18 +1,24 @@
+//@version 100
+
 // Shader for basic, per-vertex lighting (vertex):
 
-attribute mediump vec3 aPosition;
-attribute highp   vec3 aNormal;
-attribute highp   vec2 aTexCoord;
-
-varying   mediump vec2 vTexCoord;
-uniform   mediump mat4 uMvpMatrix;
-uniform   mediump vec3 uSize;
-uniform   mediump vec3 uObjectDimensions;
-varying   mediump vec3 vIllumination;
-uniform   mediump mat4 uModelView;
-uniform   mediump mat4 uViewMatrix;
-uniform   mediump mat3 uNormalMatrix;
-uniform   mediump vec3 uLightPosition;
+INPUT mediump vec3 aPosition;
+INPUT highp   vec3 aNormal;
+INPUT highp   vec2 aTexCoord;
+
+OUTPUT   mediump vec2 vTexCoord;
+OUTPUT   mediump vec3 vIllumination;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix;
+UNIFORM   mediump vec3 uSize;
+UNIFORM   mediump vec3 uObjectDimensions;
+UNIFORM   mediump mat4 uModelView;
+UNIFORM   mediump mat4 uViewMatrix;
+UNIFORM   mediump mat3 uNormalMatrix;
+UNIFORM   mediump vec3 uLightPosition;
+};
 
 void main()
 {
index 6f5615315caf84eff8b426fa2c85d4c545ebe6a4..ce202e32c57f2a8fdb136fb7264722e323245313 100644 (file)
@@ -1,6 +1,7 @@
-varying mediump vec3 vNormal;
-varying mediump vec3 vFragPos;
-uniform mediump vec3 viewPos; // custom uniform
+//@version 100
+
+INPUT mediump vec3 vNormal;
+INPUT mediump vec3 vFragPos;
 
 struct Material
 {
@@ -16,8 +17,12 @@ struct Light
   mediump vec3 color;
 };
 
-uniform Material material; // custom uniform
-uniform Light light;       // custom uniform
+UNIFORM_BLOCK CustomFrag
+{
+UNIFORM mediump vec3 viewPos; // custom uniform
+UNIFORM Material material; // custom uniform
+UNIFORM Light light;       // custom uniform
+};
 
 void main()
 {
index bc5c85afdfa893a5ad135574ad8f58d7cc877f6a..d39ec461cae4ab91822040af608d2ffe67b06f73 100644 (file)
@@ -1,12 +1,18 @@
-attribute mediump vec3 aPosition; // DALi shader builtin
-attribute mediump vec3 aNormal; // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize; // DALi shader builtin
-uniform   mediump mat4 uModelView; // DALi shader builtin
-uniform   mediump mat3 uNormalMatrix; // DALi shader builtin
+//@version 100
 
-varying mediump vec3 vNormal;
-varying mediump vec3 vFragPos;
+INPUT mediump vec3 aPosition; // DALi shader builtin
+INPUT mediump vec3 aNormal; // DALi shader builtin
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump vec3 uSize; // DALi shader builtin
+UNIFORM   mediump mat4 uModelView; // DALi shader builtin
+UNIFORM   mediump mat3 uNormalMatrix; // DALi shader builtin
+};
+
+OUTPUT mediump vec3 vNormal;
+OUTPUT mediump vec3 vFragPos;
 
 void main()
 {
index 1f8954ad76d0e66ef8a17b5f10fc68c274c383d7..67a08ab30be2a7c56d4087dceac3e7e0e68eef82 100644 (file)
@@ -1,4 +1,6 @@
-varying mediump vec4 vColor;
+//@version 100
+
+INPUT mediump vec4 vColor;
 
 void main()
 {
index d4a0b5c8cd7b253c02054f5ed272469f0930c186..5c79374259f1bf4fbc5eca5da07e9c97d7cd5b86 100644 (file)
@@ -1,9 +1,15 @@
-attribute mediump vec3 aPosition; // DALi shader builtin
-attribute mediump vec3 aColor; // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize; // DALi shader builtin
+//@version 100
 
-varying mediump vec4 vColor;
+INPUT mediump vec3 aPosition; // DALi shader builtin
+INPUT mediump vec3 aColor; // DALi shader builtin
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM mediump vec3 uSize; // DALi shader builtin
+};
+
+OUTPUT mediump vec4 vColor;
 
 void main()
 {
index b8d9d3ab50ae81424a1d47149e20c0a9d5461e38..1456e4b12801b96a5d3bfc7208ae38479885dc23 100644 (file)
@@ -1,4 +1,9 @@
-uniform mediump vec4 uColor;
+//@version 100
+
+UNIFORM_BLOCK Custom
+{
+UNIFORM mediump vec4 uColor;
+};
 
 void main()
 {
index 53f4a4f7d11df7a209269fd283daa1d323ebf4bb..f70dabeb91dda9fdbcd0d9fa2c9a146870a914ec 100644 (file)
@@ -1,6 +1,12 @@
-attribute mediump vec2 aPosition; // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize; // DALi shader builtin
+//@version 100
+
+INPUT mediump vec2 aPosition; // DALi shader builtin
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump vec3 uSize; // DALi shader builtin
+};
 
 void main()
 {
index d8d6226622c9a58f4790370c794667bb3f19ddc2..50cfdae328f2842d3708296413ab46181adf6dcf 100644 (file)
@@ -1,3 +1,5 @@
+//@version 100
+
 // Fragment shader for polygon
 
 void main()
index 9700c416bf8e2d0177fe697a71850188642703fa..9c591231fcb08be26998ebdec7396f5203b22f24 100644 (file)
@@ -1,11 +1,17 @@
+//@version 100
+
 // Vertex shader for polygon
 
-attribute mediump vec3  aPosition;
-uniform   mediump mat4  uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3  uSize;      // DALi shader builtin
-uniform   mediump float uProgress;
+INPUT mediump vec3  aPosition;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4  uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump vec3  uSize;      // DALi shader builtin
+UNIFORM   mediump float uProgress;
+};
 
-varying mediump vec2 vTexCoord;
+OUTPUT mediump vec2 vTexCoord;
 
 void main()
 {
index 4017c0335edb2d31cfe1cae4e18e923dfdd56179..2f9a483d5ff2e2c2912ea6c081b4282145352e1c 100644 (file)
@@ -1,10 +1,12 @@
+//@version 100
+
 // Fragment shaderfor textured quad
 
-uniform sampler2D uTexture;
-varying mediump vec2 vTexCoord;
+UNIFORM sampler2D uTexture;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  mediump vec4 texColor = texture2D( uTexture, vTexCoord );
+  mediump vec4 texColor = TEXTURE( uTexture, vTexCoord );
   gl_FragColor = texColor;
 }
index 78aca625b5fd9e40f23494dd0315cb345da79f05..deb237062ea3d5a2c2706a9cdce31dc5394fd0fe 100644 (file)
@@ -1,10 +1,15 @@
+//@version 100
 // Vertex shader for textured quad
 
-attribute mediump vec2 aPosition;
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize;      // DALi shader builtin
+INPUT mediump vec2 aPosition;
 
-varying mediump vec2 vTexCoord;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump vec3 uSize;      // DALi shader builtin
+};
+
+OUTPUT mediump vec2 vTexCoord;
 
 void main()
 {
index b8a29f58a2e526ded9ed56e62e9fdec0d3260eea..93d84519923f04da6cdf6a034bedcb6406addfaa 100644 (file)
@@ -1,11 +1,13 @@
+//@version 100
+
 // Fragment shader for a textured cube
 
-uniform sampler2D uTexture;
+UNIFORM sampler2D uTexture;
 
-varying mediump vec2 vTexCoord;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  mediump vec4 texColor = texture2D( uTexture, vTexCoord );
+  mediump vec4 texColor = TEXTURE( uTexture, vTexCoord );
   gl_FragColor = texColor;
 }
index 621f98de164b28e0826db2fc9241ce9c55d8af23..3e6bc48a8043a2a34c34e3bfe2745f5a2d4fa93e 100644 (file)
@@ -1,11 +1,16 @@
+//@version 100
 // Vertex shader for a textured cube
 
-attribute mediump vec3 aPosition; // DALi shader builtin
-attribute mediump vec2 aTexCoord; // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize; // DALi shader builtin
+INPUT mediump vec3 aPosition; // DALi shader builtin
+INPUT mediump vec2 aTexCoord; // DALi shader builtin
 
-varying mediump vec2 vTexCoord;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump vec3 uSize; // DALi shader builtin
+};
+
+OUTPUT mediump vec2 vTexCoord;
 
 void main()
 {
index e38d7e86099f02d575a2ebacb4371637e4c963d1..4bc66fb3880fd45906d782022fec224dc6b8be73 100644 (file)
@@ -1,9 +1,11 @@
+//@version 100
+
 // Fragment shader for a skybox in equirectangular projection
 precision mediump float;
 
-uniform sampler2D uSkyBoxEquirectangularTexture;
+UNIFORM sampler2D uSkyBoxEquirectangularTexture;
 
-varying vec3 vTexCoord;
+INPUT vec3 vTexCoord;
 
 // Take the sample direction as interpolated from the cube's local position,
 // and use this direction vector and the spherical to cartesian coordinate
@@ -30,6 +32,6 @@ void main()
   // Flip the texture UVs vertically
   vec2 uvFlippped = vec2(uv.x, 1.0 - uv.y);
 
-  vec4 texColor = texture2D( uSkyBoxEquirectangularTexture, uvFlippped );
+  vec4 texColor = TEXTURE( uSkyBoxEquirectangularTexture, uvFlippped );
   gl_FragColor = texColor;
 }
index c755645734d9d439e39c5b3b8da572edd6ffe9bb..7a15616bc58ba49993b0ffea78aed869cb919108 100644 (file)
@@ -1,11 +1,13 @@
+//@version 100
+
 // Fragment shader for a skybox
 
-uniform samplerCube uSkyBoxTexture;
+UNIFORM samplerCube uSkyBoxTexture;
 
-varying mediump vec3 vTexCoord;
+INPUT mediump vec3 vTexCoord;
 
 void main()
 {
-  mediump vec4 texColor = textureCube( uSkyBoxTexture, vTexCoord );
+  mediump vec4 texColor = TEXTURE( uSkyBoxTexture, vTexCoord );
   gl_FragColor = texColor;
 }
index c2ce43a951463c308996a5a38199eb2b66d36687..811357f642c42f7fbe33b176a2069391d7284b4c 100644 (file)
@@ -1,9 +1,16 @@
+//@version 100
+
 // Vertex shader for a skybox
 
-attribute mediump vec3 aPosition;  // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
+INPUT mediump vec3 aPosition;  // DALi shader builtin
+
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+};
 
-varying mediump vec3 vTexCoord;
+OUTPUT mediump vec3 vTexCoord;
 
 void main()
 {
index 43fb27f47d75fa467dc1877c431b4fb8221b963a..96e0887e985be5cdb864d707af2d0ee6be4c3548 100644 (file)
@@ -1,8 +1,10 @@
-uniform sampler2D uTexture;
-varying mediump vec2 vTexCoord;
+//@version 100
+
+UNIFORM sampler2D uTexture;
+INPUT mediump vec2 vTexCoord;
 
 void main()
 {
-  mediump vec4 texColor = texture2D( uTexture, vTexCoord );
+  mediump vec4 texColor = TEXTURE( uTexture, vTexCoord );
   gl_FragColor = texColor;
 }
index 36c0e608ac1441a58738a79eed0f2bc0c2a3aed0..787104bdf92f2048788ab67057275d41f10d77e8 100644 (file)
@@ -1,9 +1,15 @@
-attribute mediump vec3 aPosition;  // DALi shader builtin
-attribute mediump vec2 aTexCoord;  // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize;      // DALi shader builtin
+//@version 100
 
-varying mediump vec2 vTexCoord;
+INPUT mediump vec3 aPosition;  // DALi shader builtin
+INPUT mediump vec2 aTexCoord;  // DALi shader builtin
+
+UNIFORM_BLOCK Vert
+{
+UNIFORM mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM mediump vec3 uSize;      // DALi shader builtin
+};
+
+OUTPUT mediump vec2 vTexCoord;
 
 void main()
 {
index b8d9d3ab50ae81424a1d47149e20c0a9d5461e38..a452cec27521a5e7da4bc4b66af495e7e51ee9ca 100644 (file)
@@ -1,4 +1,9 @@
-uniform mediump vec4 uColor;
+//@version 100
+
+UNIFORM_BLOCK Custome
+{
+UNIFORM mediump vec4 uColor;
+};
 
 void main()
 {
index 53f4a4f7d11df7a209269fd283daa1d323ebf4bb..f70dabeb91dda9fdbcd0d9fa2c9a146870a914ec 100644 (file)
@@ -1,6 +1,12 @@
-attribute mediump vec2 aPosition; // DALi shader builtin
-uniform   mediump mat4 uMvpMatrix; // DALi shader builtin
-uniform   mediump vec3 uSize; // DALi shader builtin
+//@version 100
+
+INPUT mediump vec2 aPosition; // DALi shader builtin
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix; // DALi shader builtin
+UNIFORM   mediump vec3 uSize; // DALi shader builtin
+};
 
 void main()
 {
index 006a7d2be7c42863d881c5bf15af1b4b10cf2a41..e2213894869b997374d4ab0730dce8839330e15d 100644 (file)
@@ -1,11 +1,13 @@
+//@version 100
+
 precision highp float;
-uniform sampler2D sTexture;
-varying vec2 vTexCoord;
+UNIFORM sampler2D sTexture;
 
-varying lowp vec4 vColor;
+INPUT vec2 vTexCoord;
+INPUT lowp vec4 vColor;
 
 void main()
 {
   gl_FragColor = vColor;
-  gl_FragColor.a *= texture2D(sTexture, vTexCoord).a;
+  gl_FragColor.a *= TEXTURE(sTexture, vTexCoord).a;
 }
index 02c33df80cc401e2299e5d18d410abb0605c0443..45689ab8a3409b84271ccba5881f2f626531fa77 100644 (file)
@@ -1,29 +1,32 @@
+//@version 100
 precision highp float;
 
-attribute vec2  aTexCoord;
-uniform   mat4  uMvpMatrix;
-varying   vec2  vTexCoord;
+INPUT vec2  aTexCoord;
+INPUT vec2  aParticlePath0;
+INPUT vec2  aParticlePath1;
+INPUT vec2  aParticlePath2;
+INPUT vec2  aParticlePath3;
+INPUT vec2  aParticlePath4;
+INPUT vec2  aParticlePath5;
 
-attribute vec2  aParticlePath0;
-attribute vec2  aParticlePath1;
-attribute vec2  aParticlePath2;
-attribute vec2  aParticlePath3;
-attribute vec2  aParticlePath4;
-attribute vec2  aParticlePath5;
+OUTPUT lowp vec4 vColor;
+OUTPUT vec2 vTexCoord;
 
-uniform float uPercentage;
-uniform float uPercentageMarked;
-uniform vec3  uParticleColors[NUM_COLOR];
-uniform float uOpacity[NUM_PARTICLE];
-uniform vec2  uTapIndices;
-uniform float uTapOffset[MAXIMUM_ANIMATION_COUNT];
-uniform vec2  uTapPoint[MAXIMUM_ANIMATION_COUNT];
-uniform float uAcceleration;
-uniform float uRadius;
-uniform float uScale;
-uniform float uBreak;
-
-varying lowp vec4 vColor;
+UNIFORM_BLOCK Custom
+{
+UNIFORM mat4  uMvpMatrix;
+UNIFORM float uPercentage;
+UNIFORM float uPercentageMarked;
+UNIFORM vec3  uParticleColors[NUM_COLOR];
+UNIFORM float uOpacity[NUM_PARTICLE];
+UNIFORM vec2  uTapIndices;
+UNIFORM float uTapOffset[MAXIMUM_ANIMATION_COUNT];
+UNIFORM vec2  uTapPoint[MAXIMUM_ANIMATION_COUNT];
+UNIFORM float uAcceleration;
+UNIFORM float uRadius;
+UNIFORM float uEffectScale;
+UNIFORM float uBreak;
+};
 
 void main()
 {
@@ -38,7 +41,7 @@ void main()
     return;
   }
 
-  // As the movement along the b-curve has nonuniform speed with a uniform increasing parameter 'uPercentage'
+  // As the movement along the b-curve has nonUNIFORM speed with a UNIFORM increasing parameter 'uPercentage'
   // we give different particles the different 'percentage' to make them looks more random
   float increment = idx / float(NUM_PARTICLE)*5.0;
   float percentage = mod(uPercentage +uAcceleration+increment, 1.0);
@@ -75,8 +78,8 @@ void main()
   position = mix( position, vec2( 250.0,250.0 ),uBreak*(1.0-uOpacity[int(idx)]) ) ;
 
   // vertex position on the mesh: (sign(aTexCoord.x), sign(aTexCoord.y))*PARTICLE_HALF_SIZE
-  gl_Position = uMvpMatrix * vec4( position.x+sign(aTexCoord.x)*PARTICLE_HALF_SIZE/uScale,
-                                   position.y+sign(aTexCoord.y)*PARTICLE_HALF_SIZE/uScale,
+  gl_Position = uMvpMatrix * vec4( position.x+sign(aTexCoord.x)*PARTICLE_HALF_SIZE/uEffectScale,
+                                   position.y+sign(aTexCoord.y)*PARTICLE_HALF_SIZE/uEffectScale,
                                    0.0, 1.0 );
 
   // we store the color index inside texCoord attribute
index a6c7a83c98f917d06a5138c6c084ba9959b1314d..3f7d9ebb7bff7973992bc2ad9c40ec18ccc98743 100644 (file)
@@ -356,12 +356,12 @@ private:
     // prepare the animation by setting the uniform to the required value
     mEffect.SetProperty(mEffect.GetPropertyIndex(BREAK_UNIFORM_NAME), 1.f);
     mMeshActor.SetProperty(Actor::Property::SCALE, 0.01f);
-    mEffect.SetProperty(mEffect.GetPropertyIndex("uScale"), 0.01f);
+    mEffect.SetProperty(mEffect.GetPropertyIndex("uEffectScale"), 0.01f);
     mMeshActor.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.f, 1.f));
 
     Animation breakAnimation = Animation::New(duration * 1.5f);
     breakAnimation.AnimateTo(Property(mMeshActor, Actor::Property::SCALE), Vector3(ACTOR_SCALE, ACTOR_SCALE, ACTOR_SCALE), EaseOutSquare);
-    breakAnimation.AnimateTo(Property(mEffect, "uScale"), ACTOR_SCALE, EaseOutSquare);
+    breakAnimation.AnimateTo(Property(mEffect, "uEffectScale"), ACTOR_SCALE, EaseOutSquare);
     breakAnimation.AnimateTo(Property(mMeshActor, Actor::Property::POSITION), ACTOR_POSITION, EaseOutSquare);
     breakAnimation.FinishedSignal().Connect(this, &SparkleEffectExample::OnBreakAnimationFinished);
 
index 2f0247ad961a96dfd66bcf4376712377e4bc5727..2deee478d380116aa2e0abd944343da40feb775c 100644 (file)
@@ -244,7 +244,7 @@ Shader New()
     handle.RegisterProperty(oss.str(), PARTICLE_COLORS[i].RGB);
   }
   handle.RegisterProperty("uRadius", 250.f);
-  handle.RegisterProperty("uScale", ACTOR_SCALE);
+  handle.RegisterProperty("uEffectScale", ACTOR_SCALE);
 
   // set the initial uniform values
 
index 37bdf1c4c19e2c82f16b4ebd2caf0a2d3d1763f5..a717dd859f166bebda2ee748ef3e2b0a85124b8a 100644 (file)
@@ -1,9 +1,16 @@
+//@version 100
+
 INPUT mediump vec2 vTexCoord;
-uniform sampler2D sTexture;
-uniform mediump vec4 uColor;
-uniform mediump vec3 uChannels;
+
+UNIFORM sampler2D sTexture;
+
+UNIFORM_BLOCK Custom
+{
+UNIFORM mediump vec4 uColor;
+UNIFORM mediump vec3 uChannels;
+};
 
 void main()
 {
-  OUT_COLOR = TEXTURE( sTexture, vTexCoord ) * uColor * vec4(uChannels, 1.0) ;
+  gl_FragColor = TEXTURE( sTexture, vTexCoord ) * uColor * vec4(uChannels, 1.0) ;
 }
index 1edd66ec3b5b06f15d5da1fd46f98d5b83a0a385..06668b61066af238a00ac1daf0a35eada68741d5 100644 (file)
@@ -1,9 +1,16 @@
-varying mediump vec2 vTexCoord;
-uniform lowp vec4    uColor;
-uniform sampler2D    sTexture;
-uniform lowp vec4    uFadeColor;
+//@version 100
+
+INPUT mediump vec2 vTexCoord;
+
+UNIFORM sampler2D    sTexture;
+
+UNIFORM_BLOCK CustomColor
+{
+UNIFORM lowp vec4    uColor;
+UNIFORM lowp vec4    uFadeColor;
+};
 
 void main()
 {
-  gl_FragColor = texture2D(sTexture, vTexCoord) * uColor * uFadeColor;
+  gl_FragColor = TEXTURE(sTexture, vTexCoord)* uColor * uFadeColor;
 }
index 11931501b0742adaf68eeeca9fd2af30b2cb1f07..3c974f22769ff356cd9150f2f60440f5e5785728 100644 (file)
@@ -1,9 +1,15 @@
-attribute mediump vec2 aPosition;
-attribute highp vec2   aTexCoord;
-varying mediump vec2   vTexCoord;
-uniform mediump mat4   uMvpMatrix;
-uniform mediump vec3   uSize;
-uniform lowp vec4      uFadeColor;
+//@version 100
+
+INPUT mediump vec2 aPosition;
+INPUT highp vec2   aTexCoord;
+
+OUTPUT mediump vec2   vTexCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM mediump mat4   uMvpMatrix;
+UNIFORM mediump vec3   uSize;
+};
 
 void main()
 {
index 2423d8e2c4910e8675487e27090692fff1edff85..d87fc89cadbef8dc0247338a3f506fe1d8416fba 100644 (file)
@@ -92,6 +92,7 @@ public:
 
     mRenderer = Renderer::New(mGeometry, mShader);
     mRenderer.SetTextures(mTextureSet1);
+    mRenderer[Renderer::Property::FACE_CULLING_MODE] = FaceCullingMode::NONE;
 
     mMeshActor = Actor::New();
     mMeshActor.AddRenderer(mRenderer);
index 81cd3dfebece7b4e3f3ed491f835f51094a80b37..6e0192b6cd6a7e3aa3c96d3fc8fae3d1f4619831 100644 (file)
@@ -1,12 +1,14 @@
-layout(std140) uniform FragmentBlock
+//@version 100
+
+UNIFORM_BLOCK FragmentBlock
 {
-  lowp vec4 uColor;
-  mediump vec4 uColorArray[1024];
-  mediump int uColorIndex;
+  UNIFORM lowp vec4 uColor;
+  UNIFORM  mediump vec4 uColorArray[1024];
+  UNIFORM  mediump int uColorIndex;
 };
 
 void main()
 {
   // Test that the array color is the same as the actor color
-  fragColor = vec4(vec3(0.5, 0.5, 0.5) + vec3(uColorArray[uColorIndex].xyz-uColor.xyz)*0.5, 1.0);
+  gl_FragColor = vec4(vec3(0.5, 0.5, 0.5) + vec3(uColorArray[uColorIndex].xyz-uColor.xyz)*0.5, 1.0);
 }
index 9e699bf9b6319cea3797d751f9c9b82c0fb9b71f..71479353472049de07c76b1a91cb234febca707a 100644 (file)
@@ -1,11 +1,13 @@
-layout(std140) uniform FragmentBlock
+//@version 100
+
+UNIFORM_BLOCK FragmentBlock
 {
-  lowp vec4 uColor;
-  mediump vec4 uColorArray[1024];
-  mediump int uColorIndex;
+UNIFORM  lowp vec4 uColor;
+UNIFORM  mediump vec4 uColorArray[1024];
+UNIFORM  mediump int uColorIndex;
 };
 
 void main()
 {
-  fragColor = uColorArray[uColorIndex];
+  gl_FragColor = uColorArray[uColorIndex];
 }
index cbf8ff9df484c8733016fabab3df054947426dfc..ecdae31c8542649e239217630924525c42659663 100644 (file)
@@ -1,9 +1,11 @@
+//@version 100
+
 INPUT vec2 aPosition;
 
-layout(std140) uniform VertexBlock
+UNIFORM_BLOCK Vanilla
 {
-  highp mat4 uMvpMatrix;
-  highp vec3 uSize;
+UNIFORM  highp mat4 uMvpMatrix;
+UNIFORM  highp vec3 uSize;
 };
 
 void main()
index 8a496a1978924736317eca1b1590398b8a17980c..2c7589b82cc3ebf5dc84fb6e924371ab166f8d00 100644 (file)
@@ -1,19 +1,25 @@
+//@version 100
+
 precision highp float;
 
-uniform vec4 uColor; // DALi
-uniform sampler2D uNormalMap; // DALi
+UNIFORM sampler2D uNormalMap; // DALi
+
+UNIFORM_BLOCK CustomFrag
+{
+UNIFORM vec4 uColor; // DALi
 
-uniform vec3 uInvLightDir;
-uniform vec3 uLightColorSqr;
-uniform vec3 uAmbientColor;
+UNIFORM vec3 uInvLightDir;
+UNIFORM vec3 uLightColorSqr;
+UNIFORM vec3 uAmbientColor;
 
-uniform float uNormalMapWeight;
-uniform float uSpecularity;
+UNIFORM float uNormalMapWeight;
+UNIFORM float uSpecularity;
+};
 
-varying vec2 vUv;
-varying vec3 vNormal;
-varying vec3 vViewPos;
-varying float vHeight;
+INPUT vec2 vUv;
+INPUT vec3 vNormal;
+INPUT vec3 vViewPos;
+INPUT float vHeight;
 
 float Rand(vec2 co)
 {
@@ -30,8 +36,8 @@ void main()
   vec3 viewPos = normalize(vViewPos);
   vec2 uv2 = vUv + vViewPos.xy / vViewPos.z * vHeight + vec2(.5, 0.);
 
-  vec3 perturbNormal = texture2D(uNormalMap, vUv).rgb * 2. - 1.;
-  vec3 perturbNormal2 = texture2D(uNormalMap, uv2).rgb * 2. - 1.;
+  vec3 perturbNormal = TEXTURE(uNormalMap, vUv).rgb * 2. - 1.;
+  vec3 perturbNormal2 = TEXTURE(uNormalMap, uv2).rgb * 2. - 1.;
   vec3 normal = normalize(vNormal + perturbNormal * uNormalMapWeight);
   vec3 normal2 = normalize(vNormal + perturbNormal2 * uNormalMapWeight);
 
index ac9af2fd972c42ef2fe2585fe3f3a949cc31cd4c..7830ec7c0e77262522b6ebc6ad82fe35209ae330 100644 (file)
@@ -1,32 +1,39 @@
+//@version 100
+
 #define FMA(a, b, c) ((a) * (b) + (c))  // fused multiply-add
 
 precision highp float;
 
 const float kTile = 1.;
-
 const float kPi = 3.1415926535;
 const float kEpsilon = 1. / 32.;
 
 // DALI uniforms
-uniform vec3 uSize;
-uniform mat4 uModelView;
-uniform mat4 uProjection;
-uniform mat3 uNormalMatrix;
-
-// our uniforms
-uniform float uTime;
-uniform vec2 uScrollScale;
-uniform float uWaveRate;
-uniform float uWaveAmplitude;
-uniform float uParallaxAmount;
-
-attribute vec2 aPosition;
-attribute vec2 aTexCoord;
-
-varying vec2 vUv;
-varying vec3 vViewPos;
-varying vec3 vNormal;
-varying float vHeight;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM vec3 uSize;
+UNIFORM mat4 uModelView;
+UNIFORM mat4 uProjection;
+UNIFORM mat3 uNormalMatrix;
+};
+
+// our UNIFORMs
+UNIFORM_BLOCK CustomVert
+{
+UNIFORM float uTime;
+UNIFORM vec2  uScrollScale;
+UNIFORM float uWaveRate;
+UNIFORM float uWaveAmplitude;
+UNIFORM float uParallaxAmount;
+};
+
+INPUT vec2 aPosition;
+INPUT vec2 aTexCoord;
+
+OUTPUT vec2 vUv;
+OUTPUT vec3 vViewPos;
+OUTPUT vec3 vNormal;
+OUTPUT float vHeight;
 
 float CubicHermite(float B, float C, float t)
 {
index 7e7d6b8b216bc7aeb758aa8bd1bb6fcf470ba9f9..1a35b93b1124f728d6d16cc3633874c03fb3248a 100644 (file)
@@ -1,11 +1,16 @@
+//@version 100
+
 /*
  * Fragment shader for textured quad
  */
-varying mediump vec2 vTexCoord;
-varying mediump vec2 vRayCastCoord;
+INPUT mediump vec2 vTexCoord;
+INPUT mediump vec2 vRayCastCoord;
 
-uniform mediump float uRadius;
-uniform mediump float uAdjuster;
+UNIFORM_BLOCK Custom
+{
+UNIFORM mediump float uRadius;
+UNIFORM mediump float uAdjuster;
+}
 
 #define CAMERA_Z_POSITION 1.0  // gives us a FOV of 90 degrees if Plane of projection is at Z = 0 with size 2x2
 #define SPHERE_Z_POSITION -1.0 // Sphere placed behind Plane of projection
index fcc1df3392cf120c7d2c65bbdffed19e7c8c3c4d..5a41c5a8ba6442c0f6a5e0c3df628ebfa67b55dd 100644 (file)
@@ -1,9 +1,15 @@
-attribute mediump vec2 aPosition;
-uniform   mediump mat4 uMvpMatrix;  // DALi shader builtin
-uniform   mediump vec3 uSize; // DALi shader builtin
+//@version 100
+
+INPUT mediump vec2 aPosition;
+OUTPUT mediump vec2 vTexCoord;
+OUTPUT mediump vec2 vRayCastCoord;
+
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM   mediump mat4 uMvpMatrix;  // DALi shader builtin
+UNIFORM   mediump vec3 uSize; // DALi shader builtin
+};
 
-varying mediump vec2 vTexCoord;
-varying mediump vec2 vRayCastCoord;
 void main()
 {
   mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0);
index b477b966baff736b2c70daa19055ef5325b39b8b..667e208782db7dee7bbaf90c98e1f9379f0df176 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
               "shader":
               {
                 "fragmentShader":[
+                  "//@version 100",
                   "  varying mediump vec2  vTexCoord;",
-                  "  uniform lowp    vec4  uColor;",
-                  "  uniform sampler2D     sTexture;",
-                  "  uniform mediump vec3  uCustomPosition;",
-                  "",
+                  "  UNIFORM sampler2D     sTexture;",
+                  "  UNIFORM_BLOCK FragBlock",
+                  "  {",
+                  "    UNIFORM lowp    vec4  uColor;",
+                  "    UNIFORM mediump vec3  uCustomPosition;",
+                  "  };",
                   "  void main()",
                   "  {",
-                  "    if( texture2D( sTexture, vTexCoord ).a <= 0.0001 )",
+                  "    if( TEXTURE( sTexture, vTexCoord ).a <= 0.0001 )",
                   "    {",
                   "      discard;",
                   "    }",
                   "",
                   "    mediump vec2 wrapTexCoord = vec2( ( vTexCoord.x / 4.0 ) + ( uCustomPosition.x / 4.0 ) + ( uCustomPosition.z / 2.0 ), vTexCoord.y / 4.0 );",
-                  "    mediump vec4 color = texture2D( sTexture, wrapTexCoord );",
+                  "    mediump vec4 color = TEXTURE( sTexture, wrapTexCoord );",
                   "    mediump float positionWeight = ( uCustomPosition.y + 0.3 ) * color.r * 2.0;",
                   "",
                   "    gl_FragColor = vec4( positionWeight, positionWeight, positionWeight, 0.9 ) * uColor + vec4( uColor.xyz, 0.0 );",
               {
                 "fragmentShader":[
                   "  varying mediump vec2  vTexCoord;",
-                  "  uniform lowp    vec4  uColor;",
-                  "  uniform sampler2D     sTexture;",
-                  "  uniform mediump vec3  uCustomPosition;",
-                  "",
+                  "  UNIFORM sampler2D     sTexture;",
+                  "  UNIFORM_BLOCK FragBlock",
+                  "  {",
+                  "    UNIFORM lowp    vec4  uColor;",
+                  "    UNIFORM mediump vec3  uCustomPosition;",
+                  "  };",
                   "  void main()",
                   "  {",
-                  "    if( texture2D( sTexture, vTexCoord ).a <= 0.0001 )",
+                  "    if( TEXTURE( sTexture, vTexCoord ).a <= 0.0001 )",
                   "    {",
                   "      discard;",
                   "    }",
                   "",
                   "    mediump vec2 wrapTexCoord = vec2( ( vTexCoord.x / 4.0 ) + ( uCustomPosition.x / 4.0 ) + ( uCustomPosition.z / 2.0 ), vTexCoord.y / 4.0 );",
-                  "    mediump vec4 color = texture2D( sTexture, wrapTexCoord );",
+                  "    mediump vec4 color = TEXTURE( sTexture, wrapTexCoord );",
                   "    mediump float positionWeight = ( uCustomPosition.y + 0.3 ) * color.r * 2.0;",
                   "",
                   "    gl_FragColor = vec4( positionWeight, positionWeight, positionWeight, 0.9 ) * uColor + vec4( uColor.xyz, 0.0 );",
index 12404e9420883d41f0fd0158a3cc10788d653c0c..fdcb4244873e4893f0cb0ea1ac526428be3fba5d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
               "shader":
               {
                 "fragmentShader":[
-                  "  varying mediump vec2  vTexCoord;",
-                  "  uniform lowp    vec4  uColor;",
-                  "  uniform sampler2D     sTexture;",
-                  "  uniform mediump vec3  uCustomPosition;",
-                  "",
+                  "//@version 100",
+                  "  INPUT mediump vec2  vTexCoord;",
+                  "  UNIFORM sampler2D     sTexture;",
+                  "  UNIFORM_BLOCK FragBlock",
+                  "  {",
+                  "    UNIFORM lowp    vec4  uColor;",
+                  "    UNIFORM mediump vec3  uCustomPosition;",
+                  "  };",
                   "  void main()",
                   "  {",
-                  "    if( texture2D( sTexture, vTexCoord ).a <= 0.0001 )",
+                  "    if( TEXTURE( sTexture, vTexCoord ).a <= 0.0001 )",
                   "    {",
                   "      discard;",
                   "    }",
                   "",
                   "    mediump vec2 wrapTexCoord = vec2( ( vTexCoord.x / 4.0 ) + ( uCustomPosition.x / 4.0 ) + ( uCustomPosition.z / 2.0 ), vTexCoord.y / 4.0 );",
-                  "    mediump vec4 color = texture2D( sTexture, wrapTexCoord );",
+                  "    mediump vec4 color = TEXTURE( sTexture, wrapTexCoord );",
                   "    mediump float positionWeight = ( uCustomPosition.y + 0.3 ) * color.r * 2.0;",
                   "",
                   "    gl_FragColor = vec4( positionWeight, positionWeight, positionWeight, 0.9 ) * uColor + vec4( uColor.xyz, 0.0 );",
               "shader":
               {
                 "fragmentShader":[
-                  "  varying mediump vec2  vTexCoord;",
-                  "  uniform lowp    vec4  uColor;",
-                  "  uniform sampler2D     sTexture;",
-                  "  uniform mediump vec3  uCustomPosition;",
+                  "//@version 100",
+                  "  INPUT mediump vec2  vTexCoord;",
+                  "  UNIFORM sampler2D     sTexture;",
+                  "  UNIFORM_BLOCK FragBlock",
+                  "  {",
+                  "    UNIFORM lowp    vec4  uColor;",
+                  "    UNIFORM mediump vec3  uCustomPosition;",
+                  "  };",
                   "",
                   "  void main()",
                   "  {",
-                  "    if( texture2D( sTexture, vTexCoord ).a <= 0.0001 )",
+                  "    if( TEXTURE( sTexture, vTexCoord ).a <= 0.0001 )",
                   "    {",
                   "      discard;",
                   "    }",
                   "",
                   "    mediump vec2 wrapTexCoord = vec2( ( vTexCoord.x / 4.0 ) + ( uCustomPosition.x / 4.0 ) + ( uCustomPosition.z / 2.0 ), vTexCoord.y / 4.0 );",
-                  "    mediump vec4 color = texture2D( sTexture, wrapTexCoord );",
+                  "    mediump vec4 color = TEXTURE( sTexture, wrapTexCoord );",
                   "    mediump float positionWeight = ( uCustomPosition.y + 0.3 ) * color.r * 2.0;",
                   "",
                   "    gl_FragColor = vec4( positionWeight, positionWeight, positionWeight, 0.9 ) * uColor + vec4( uColor.xyz, 0.0 );",
index d8400b33b48ce0cfd42866eaca878c4fd8104360..5c3bd62aa99d84b390f6bfc0fe986abb63b9149d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
               "shader":
               {
                 "fragmentShader":[
-                  "  varying mediump vec2  vTexCoord;",
-                  "  uniform lowp    vec4  uColor;",
-                  "  uniform sampler2D     sTexture;",
-                  "  uniform mediump vec3  uCustomPosition;",
-                  "",
+                  "//@version 100",
+                  "  INPUT mediump vec2  vTexCoord;",
+                  "  UNIFORM sampler2D     sTexture;",
+                  "  UNIFORM_BLOCK FragmentBlock",
+                  "  {",
+                  "  UNIFORM lowp    vec4  uColor;",
+                  "  UNIFORM mediump vec3  uCustomPosition;",
+                  "  };",
                   "  void main()",
                   "  {",
-                  "    if( texture2D( sTexture, vTexCoord ).a <= 0.0001 )",
+                  "    if( TEXTURE( sTexture, vTexCoord ).a <= 0.0001 )",
                   "    {",
                   "      discard;",
                   "    }",
                   "",
                   "    mediump vec2 wrapTexCoord = vec2( ( vTexCoord.x / 4.0 ) + ( uCustomPosition.x / 4.0 ) + ( uCustomPosition.z / 2.0 ), vTexCoord.y / 4.0 );",
-                  "    mediump vec4 color = texture2D( sTexture, wrapTexCoord );",
+                  "    mediump vec4 color = TEXTURE( sTexture, wrapTexCoord );",
                   "    mediump float positionWeight = ( uCustomPosition.y + 0.3 ) * color.r * 2.0;",
                   "",
                   "    gl_FragColor = vec4( positionWeight, positionWeight, positionWeight, 0.9 ) * uColor + vec4( uColor.xyz, 0.0 );",
               "shader":
               {
                 "fragmentShader":[
-                  "  varying mediump vec2  vTexCoord;",
-                  "  uniform lowp    vec4  uColor;",
-                  "  uniform sampler2D     sTexture;",
-                  "  uniform mediump vec3  uCustomPosition;",
-                  "",
+                  "//@version 100",
+                  "  INPUT mediump vec2  vTexCoord;",
+                  "  UNIFORM sampler2D     sTexture;",
+                  "  UNIFORM_BLOCK FragmentBlock",
+                  "  {",
+                  "  UNIFORM lowp    vec4  uColor;",
+                  "  UNIFORM mediump vec3  uCustomPosition;",
+                  "  };",
                   "  void main()",
                   "  {",
-                  "    if( texture2D( sTexture, vTexCoord ).a <= 0.0001 )",
+                  "    if( TEXTURE( sTexture, vTexCoord ).a <= 0.0001 )",
                   "    {",
                   "      discard;",
                   "    }",
                   "",
                   "    mediump vec2 wrapTexCoord = vec2( ( vTexCoord.x / 4.0 ) + ( uCustomPosition.x / 4.0 ) + ( uCustomPosition.z / 2.0 ), vTexCoord.y / 4.0 );",
-                  "    mediump vec4 color = texture2D( sTexture, wrapTexCoord );",
+                  "    mediump vec4 color = TEXTURE( sTexture, wrapTexCoord );",
                   "    mediump float positionWeight = ( uCustomPosition.y + 0.3 ) * color.r * 2.0;",
                   "",
                   "    gl_FragColor = vec4( positionWeight, positionWeight, positionWeight, 0.9 ) * uColor + vec4( uColor.xyz, 0.0 );",