+//@version 100
+
precision mediump float;
const float kStepsilon = 1e-2;
-uniform sampler2D sColor;
-uniform sampler2D sFlowMap;
+UNIFORM sampler2D sColor;
+UNIFORM sampler2D sFlowMap;
-uniform float uFlow;
-uniform vec3 uRgb[2];
+UNIFORM_BLOCK FragBlock
+{
+ UNIFORM float uFlow;
+ UNIFORM vec3 uRgb[2];
+};
-varying vec2 vUv;
-varying vec2 vUvFlow;
+INPUT vec2 vUv;
+INPUT vec2 vUvFlow;
void main()
{
- vec4 colorAlpha = texture2D(sColor, vUv);
+ vec4 colorAlpha = TEXTURE(sColor, vUv);
float flow = smoothstep(.5 - kStepsilon, .5 + kStepsilon, clamp(uFlow + texture2D(sFlowMap, vUvFlow).r, 0., 1.));
gl_FragColor = vec4(mix(colorAlpha.rgb, mix(uRgb[0], uRgb[1], flow), colorAlpha.a), 1.);
+//@version 100
+
precision mediump float;
// <DALI>
-uniform mat4 uMvpMatrix;
-uniform vec3 uSize;
+UNIFORM_BLOCK Vanilla
+{
+ uniform mat4 uMvpMatrix;
+ uniform vec3 uSize;
+};
// </DALI>
-uniform float uFlow;
-uniform vec4 uUvTransform; // rotation, scale (initial, target))
-
-attribute vec2 aPosition;
+UNIFORM_BLOCK VertBlock
+{
+UNIFORM float uFlow;
+UNIFORM vec4 uUvTransform; // rotation, scale (initial, target))
+};
-varying vec2 vUv;
-varying vec2 vUvFlow;
+INPUT vec2 aPosition;
+OUTPUT vec2 vUv;
+OUTPUT vec2 vUvFlow;
void main()
{
}
const std::string_view SHADER_COLOR_TEST_SHADER_VERT{
- R"(INPUT mediump vec2 aPosition;
-uniform highp mat4 uMvpMatrix;
-uniform highp vec3 uSize;
+ R"(
+//@version 100
+INPUT mediump vec2 aPosition;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM highp mat4 uMvpMatrix;
+UNIFORM highp vec3 uSize;
+};
void main()
{
const std::string_view SHADER_COLOR_TEST_SHADER_FRAG{
R"(
+//@version 100
void main()
{
- OUT_COLOR = vec4(0.0, 0.0, 1.0, 1.0);
+ gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);
}
)"};
const std::string_view SHADER_IMAGE_TEST_SHADER_VERT{
- R"(INPUT mediump vec2 aPosition;
+ R"(
+//@version 100
+INPUT mediump vec2 aPosition;
OUTPUT mediump vec2 vTexCoord;
-uniform highp mat4 uMvpMatrix;
-uniform highp vec3 uSize;
+UNIFORM_BLOCK Vanilla
+{
+UNIFORM highp mat4 uMvpMatrix;
+UNIFORM highp vec3 uSize;
+};
void main()
{
)"};
const std::string_view SHADER_IMAGE_TEST_SHADER_FRAG{
- R"(INPUT mediump vec2 vTexCoord;
-//
-uniform sampler2D sColorTexture;
-uniform sampler2D sTexture;
+ R"(
+//@version 100
+INPUT mediump vec2 vTexCoord;
+
+UNIFORM sampler2D sColorTexture;
+UNIFORM sampler2D sTexture;
void main()
{
mediump vec2 texCoord = vTexCoord;
lowp vec4 textureColor = TEXTURE( sTexture, texCoord ) * TEXTURE( sColorTexture, texCoord );
- OUT_COLOR = textureColor;
+ gl_FragColor = textureColor;
}
)"};
"desiredHeight": 400,
"shader": {
"fragmentShader": [
- "{DALI_FRAGMENT_SHADER_PREFIX}",
- "precision mediump float;",
- "uniform sampler2D sTexture;",
- "uniform vec4 uColor;",
- "uniform float uAmplitude;",
- "uniform float uTime;",
- "INPUT vec2 vTexCoord;",
- "void main()",
- "{",
- " highp vec2 pos = -1.0 + 2.0 * vTexCoord;",
- " highp float len = length(pos);",
- " highp vec2 texCoord = vTexCoord + pos/len * sin( len * 12.0 - uTime * 4.0 ) * uAmplitude;",
- " OUT_COLOR = TEXTURE(sTexture, texCoord) * uColor;",
- "}"
- ]
- }
+ "//@version 100",
+ "precision mediump float;",
+ "UNIFORM sampler2D sTexture;",
+ "UNIFORM_BLOCK FragBlock",
+ "{"
+ " UNIFORM vec4 uColor;",
+ " UNIFORM float uAmplitude;",
+ " UNIFORM float uTime;",
+ "};",
+ "INPUT vec2 vTexCoord;",
+ "void main()",
+ "{",
+ " highp vec2 pos = -1.0 + 2.0 * vTexCoord;",
+ " highp float len = length(pos);",
+ " highp vec2 texCoord = vTexCoord + pos/len * sin( len * 12.0 - uTime * 4.0 ) * uAmplitude;",
+ " gl_FragColor = TEXTURE(sTexture, texCoord) * uColor;",
+ "}"
+ ]
+ }
},
"animatableProperties": {
"uAmplitude": 0.02,