Browse Source

c++11 string R

dmuratshin 8 years ago
parent
commit
25f3254fb8
3 changed files with 62 additions and 56 deletions
  1. 12 11
      examples/Demo/src/TestColorFont.h
  2. 23 20
      examples/Demo/src/TestOpenGL.h
  3. 27 25
      examples/Demo/src/TestUserShader.h

+ 12 - 11
examples/Demo/src/TestColorFont.h

@@ -57,17 +57,18 @@ public:
     static void init()
     {
         shader = new UberShaderProgram();
-        shader->init(STDRenderer::uberShaderBody,
-                     "#define MODIFY_BASE\n"
-                     "#define DONT_MULT_BY_RESULT_COLOR\n"
-                     "uniform lowp vec4 _black;"
-                     "uniform lowp vec4 _white;"
-                     "lowp vec4 modify_base(lowp vec4 base)\n"
-                     "{\n"
-                     "lowp vec4 black = vec4(_black.rgb, 1.0);" "\n"
-                     "lowp vec4 white = vec4(_white.rgb, 1.0);" "\n"
-                     "return mix(_white, _black, base.r) * base.a;\n"
-                     "}\n");
+        shader->init(STDRenderer::uberShaderBody, R"(
+                     #define MODIFY_BASE
+                     #define DONT_MULT_BY_RESULT_COLOR
+                     uniform lowp vec4 _black;
+                     uniform lowp vec4 _white;
+                     lowp vec4 modify_base(lowp vec4 base)
+                     {
+                         lowp vec4 black = vec4(_black.rgb, 1.0);
+                         lowp vec4 white = vec4(_white.rgb, 1.0);
+                         return mix(_white, _black, base.r) * base.a;
+                     }
+        )");
     }
 
     static void free()

+ 23 - 20
examples/Demo/src/TestOpenGL.h

@@ -19,26 +19,28 @@ public:
 
     OpenGLSprite()
     {
-        const char* vertexShaderData = "\
-									uniform mediump mat4 projection;\
-									attribute vec3 a_position;\
-                                    attribute vec2 a_uv;\
-                                    varying mediump vec2 v_uv;\
-									void main() {\
-									vec4 position = vec4(a_position, 1.0);\
-									gl_Position = projection * position;\
-                                    v_uv = a_uv;\
-									}\
-									";
-
-        const char* fragmentShaderData = "\
-                                      varying mediump vec2 v_uv;\
-                                      uniform lowp sampler2D base_texture;\
-                                      \
-									  void main() { \
-									  gl_FragColor = texture2D(base_texture, v_uv); \
-									  } \
-									  ";
+        const char* vertexShaderData = R"(
+            uniform mediump mat4 projection;
+            attribute vec3 a_position;
+            attribute vec2 a_uv;
+            varying mediump vec2 v_uv;
+            void main() 
+            {
+                vec4 position = vec4(a_position, 1.0);
+                gl_Position = projection * position;
+                v_uv = a_uv;
+            }
+		)";
+
+        const char* fragmentShaderData = R"(\
+            varying mediump vec2 v_uv;
+            uniform lowp sampler2D base_texture;
+                                      
+			void main() 
+            {
+			    gl_FragColor = texture2D(base_texture, v_uv);
+			}
+		)";
 
 
         int vs = ShaderProgramGL::createShader(GL_VERTEX_SHADER,   vertexShaderData, 0, 0);
@@ -139,6 +141,7 @@ public:
 
         oxglDisableVertexAttribArray(0);
         oxglDisableVertexAttribArray(1);
+
         CHECKGL();
     }
 };

+ 27 - 25
examples/Demo/src/TestUserShader.h

@@ -117,35 +117,37 @@ public:
     TestUserShader(): _shaderMono(0), _shaderAddColor(0)
     {
         _shaderMono = new UberShaderProgram();
-        _shaderMono->init(STDRenderer::uberShaderBody,
-                          "#define MODIFY_BASE_PRE\n"
-                          "uniform lowp vec4 userValue;"
-                          "lowp vec4 modify_base_pre(lowp vec4 base)\n"
-                          "{\n"
-                          "lowp float c = (base.r + base.g + base.b) / 3.0;\n"
-                          "return mix(vec4(c, c, c, base.a), base, userValue.r);\n"
-                          "}\n");
+        _shaderMono->init(STDRenderer::uberShaderBody, R"(
+                          #define MODIFY_BASE_PRE
+                          uniform lowp vec4 userValue;
+                          lowp vec4 modify_base_pre(lowp vec4 base)
+                          {
+                              lowp float c = (base.r + base.g + base.b) / 3.0;
+                              return mix(vec4(c, c, c, base.a), base, userValue.r);
+                          }
+        )");
 
         _shaderAddColor = new UberShaderProgram();
-        _shaderAddColor->init(STDRenderer::uberShaderBody,
-                              "#define MODIFY_BASE_PRE\n"
-                              "uniform lowp vec4 userValue;"
-                              "lowp vec4 modify_base_pre(lowp vec4 base)\n"
-                              "{\n"
-                              "return base + userValue * base.a;\n"
-                              "}\n");
+        _shaderAddColor->init(STDRenderer::uberShaderBody, R"(
+                              #define MODIFY_BASE_PRE
+                              uniform lowp vec4 userValue;
+                              lowp vec4 modify_base_pre(lowp vec4 base)
+                              {
+                                return base + userValue * base.a;
+                              }
+        )");
 
         _shaderInvert = new UberShaderProgram();
-        _shaderInvert->init(STDRenderer::uberShaderBody,
-                            "#define MODIFY_BASE_PRE\n"
-                            "uniform lowp vec4 userValue;"
-                            "lowp vec4 modify_base_pre(lowp vec4 base)\n"
-                            "{\n"
-                            "\n"
-                            "lowp vec4 inverted = vec4(1.0, 1.0, 1.0, 1.0) - base;\n"
-                            "lowp vec4 res = mix(inverted * base.a, base, userValue.r);\n"
-                            "return vec4(res.rgb, base.a);\n"
-                            "}\n");
+        _shaderInvert->init(STDRenderer::uberShaderBody, R"(
+                            #define MODIFY_BASE_PRE
+                            uniform lowp vec4 userValue;
+                            lowp vec4 modify_base_pre(lowp vec4 base)
+                            {                            
+                                lowp vec4 inverted = vec4(1.0, 1.0, 1.0, 1.0) - base;
+                                lowp vec4 res = mix(inverted * base.a, base, userValue.r);
+                                return vec4(res.rgb, base.a);
+                            }
+        )");
 
 
         _sprite = new Sprite;