barrel distortion in effect ( requires the stereo view mode enabled on the applicatio... 79/82779/1
authoradam.b <adam.b@samsung.com>
Fri, 5 Aug 2016 14:21:32 +0000 (15:21 +0100)
committeradam.b <adam.b@samsung.com>
Fri, 5 Aug 2016 14:21:32 +0000 (15:21 +0100)
Change-Id: I0ef1d431d0e84b9e34d9fb36d354e33f47f84814

dali/internal/render/common/render-manager.cpp
dali/internal/render/common/renderer-vr.h [new file with mode: 0644]
dali/internal/render/gl-resources/context.h

index cc8dc50..04fbd60 100644 (file)
@@ -41,6 +41,9 @@
 #include <dali/internal/render/renderers/render-renderer.h>
 #include <dali/internal/render/renderers/render-sampler.h>
 #include <dali/internal/render/shaders/program-controller.h>
+
+#include <dali/internal/render/common/renderer-vr.h>
+
 #include <cstdio>
 namespace Dali
 {
@@ -104,6 +107,8 @@ struct VrImpl
   unsigned int                  mainFrameBuffer;
   unsigned int                  mainVRProgramGL;
   unsigned int                  vertexBuffer; // contains 'cage' data, vec3, vec2
+  unsigned int                  indexBuffer; // contains indices
+  unsigned int                  indicesCount;
   Matrix                        MVP;
   int                           uniformLocations[VR_UNIFORM_MAX];
 
@@ -551,7 +556,7 @@ ProgramCache* RenderManager::GetProgramCache()
   return &(mImpl->programController);
 }
 
-#define GL(x) { x; int err = mImpl->context.GetError(); if(err) { DALI_LOG_ERROR( "GL_ERROR: '%s', %x\n", #x, (unsigned)err);fflush(stderr);fflush(stdout);} else { DALI_LOG_ERROR("GL Call: %s\n", #x); fflush(stdout);} }
+#define GL(x) { x; int err = mImpl->context.GetError(); if(err) { DALI_LOG_ERROR( "GL_ERROR: '%s', %x\n", #x, (unsigned)err);fflush(stderr);fflush(stdout);} else { /*DALI_LOG_ERROR("GL Call: %s\n", #x); fflush(stdout);*/} }
 
 bool RenderManager::Render( Integration::RenderStatus& status )
 {
@@ -894,7 +899,9 @@ void RenderManager::SetupVRMode()
     "varying mediump vec2  vTexCoord;\n"
     "void main()\n"
     "{"
-    "  gl_Position = mvp * vec4( aPosition, 1.0 );\n"
+    "  vec3 pos = aPosition;\n"
+    //"  pos.y -= 1.0;\n"
+    "  gl_Position = mvp * vec4( pos, 1.0 );\n"
     "  vTexCoord = aTexCoord;\n"
     "}\n\0",
 
@@ -904,9 +911,10 @@ void RenderManager::SetupVRMode()
     "varying mediump vec2 vTexCoord;\n"
     "void main()\n"
     "{ \n"
-    "  mediump vec4 mulcol = vec4( 1.0, 0.0, 0.0, 1.0 );\n"
-    "  if(vTexCoord.y < 0.5 ) { mulcol = vec4(0.0, 1.0, 0.0, 1.0); }\n"
-    "  gl_FragColor = texture2D( texSampler, vTexCoord ) * mulcol;\n"
+//    "  mediump vec4 mulcol = vec4( 1.0, 0.5, 0.5, 1.0 );\n"
+//    "  if(vTexCoord.y < 0.5 ) { mulcol = vec4(0.5, 1.0, 0.5, 1.0); }\n"
+//    "  gl_FragColor = texture2D( texSampler, vTexCoord ) * mulcol;\n"
+    "  gl_FragColor = texture2D( texSampler, vTexCoord );\n"
     "}\n\0",
   };
 
@@ -926,28 +934,29 @@ void RenderManager::SetupVRMode()
   GL( mImpl->context.LinkProgram( program) );
 
   vr.mainVRProgramGL = program;
-  const float w = 1.0f;//(float)mImpl->defaultSurfaceRect.width;
-  const float h = 1.0f;//(float)mImpl->defaultSurfaceRect.height;
+  //const float w = 1.0f;//(float)mImpl->defaultSurfaceRect.width;
+  //const float h = 1.0f;//(float)mImpl->defaultSurfaceRect.height;
 
   // create vertex buffer
-  VrImpl::Vertex vertices[] =
-  {
-    { { -w, -h, 0.0f },        { 0.0f, 0.0f } },
-    { {  w, -h, 0.0f },        { 1.0f, 0.0f } },
-    { {  w,  h, 0.0f },        { 1.0f, 1.0f } },
-    { { -w, -h, 0.0f },        { 0.0f, 0.0f } },
-    { {  w,  h, 0.0f },        { 1.0f, 1.0f } },
-    { { -w,  h, 0.0f },        { 0.0f, 1.0f } },
-  };
+  std::vector<float> vertices;
+  std::vector<uint16_t> indices;
+  GenerateGridVertexBuffer( vertices );
+  GenerateGridIndexBuffer( indices );
 
+  // vertex buffer
   GL( ctx.GenBuffers( 1, &vr.vertexBuffer ) );
   GL( ctx.BindArrayBuffer( vr.vertexBuffer ) );
-  GL( ctx.BufferData( GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW ) );
+  GL( ctx.BufferData( GL_ARRAY_BUFFER, vertices.size()*sizeof(float), vertices.data(), GL_STATIC_DRAW ) );
+
+  // index buffer
+  GL( ctx.GenBuffers( 1, &vr.indexBuffer ) );
+  GL( ctx.BindArrayBuffer( vr.indexBuffer ) );
+  GL( ctx.BufferData( GL_ARRAY_BUFFER, indices.size()*sizeof(uint16_t), indices.data(), GL_STATIC_DRAW ) );
+  vr.indicesCount = indices.size();
 
   GL( vr.uniformLocations[ VrImpl::VR_UNIFORM_MVP ] = ctx.GetUniformLocation( program, "mvp" ) );
   GL( vr.uniformLocations[ VrImpl::VR_UNIFORM_TEXTURE ] = ctx.GetUniformLocation( program, "texSampler" ) );
 
-
   // mvp
   Matrix proj, view;
   Orthographic( proj, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, false );
@@ -987,6 +996,9 @@ void RenderManager::RenderVR()
   GL( ctx.VertexAttribPointer( 1, 2, GL_FLOAT, GL_FALSE, sizeof(VrImpl::Vertex), (const void*)(sizeof(float)*3)) );
   GL( gl.EnableVertexAttribArray( 0 ) );
   GL( gl.EnableVertexAttribArray( 1 ) );
+
+  GL( ctx.BindElementArrayBuffer( vr.indexBuffer ) );
+
   // uniforms
   // texture
   GL( ctx.ActiveTexture( TEXTURE_UNIT_IMAGE ) );
@@ -997,7 +1009,7 @@ void RenderManager::RenderVR()
   GL( gl.UniformMatrix4fv( vr.uniformLocations[ VrImpl::VR_UNIFORM_MVP ],
       1, GL_FALSE, vr.MVP.AsFloat() ) );
 
-  GL( gl.DrawArrays( GL_TRIANGLES, 0, 6 ) );
+  GL( gl.DrawElements( GL_TRIANGLES, vr.indicesCount, GL_UNSIGNED_SHORT, 0 ) );
 
   if( program )
     program->Use();
diff --git a/dali/internal/render/common/renderer-vr.h b/dali/internal/render/common/renderer-vr.h
new file mode 100644 (file)
index 0000000..e4fe254
--- /dev/null
@@ -0,0 +1,531 @@
+// to be inlined by the render manager for now
+
+#include <stdio.h>
+#include <math.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <vector>
+
+namespace
+{
+
+
+const float gridVertices[] = {
+       -0.852243, 0.852243, 0.000000, 0.000000, 1.000000,
+       -0.788650, 0.876276, 0.000000, 0.050000, 1.000000,
+       -0.719374, 0.899219, 0.000000, 0.100000, 1.000000,
+       -0.644480, 0.920687, 0.000000, 0.150000, 1.000000,
+       -0.564177, 0.940297, 0.000000, 0.200000, 1.000000,
+       -0.478834, 0.957664, 0.000000, 0.250000, 1.000000,
+       -0.388972, 0.972431, 0.000000, 0.300000, 1.000000,
+       -0.295285, 0.984283, 0.000000, 0.350000, 1.000000,
+       -0.198589, 0.992945, 0.000000, 0.400000, 1.000000,
+       -0.099823, 0.998228, 0.000000, 0.450000, 1.000000,
+       0.000000, 1.000000, 0.000000, 0.500000, 1.000000,
+       0.099823, 0.998228, 0.000000, 0.550000, 1.000000,
+       0.198589, 0.992945, 0.000000, 0.600000, 1.000000,
+       0.295285, 0.984283, 0.000000, 0.650000, 1.000000,
+       0.388972, 0.972431, 0.000000, 0.700000, 1.000000,
+       0.478834, 0.957664, 0.000000, 0.750000, 1.000000,
+       0.564177, 0.940297, 0.000000, 0.800000, 1.000000,
+       0.644480, 0.920687, 0.000000, 0.850000, 1.000000,
+       0.719374, 0.899219, 0.000000, 0.900000, 1.000000,
+       0.788650, 0.876276, 0.000000, 0.950000, 1.000000,
+       0.852243, 0.852243, 0.000000, 1.000000, 1.000000,
+       -0.876276, 0.788650, 0.000000, 0.000000, 0.950000,
+       -0.811811, 0.811811, 0.000000, 0.050000, 0.950000,
+       -0.741296, 0.833958, 0.000000, 0.100000, 0.950000,
+       -0.664776, 0.854711, 0.000000, 0.150000, 0.950000,
+       -0.582458, 0.873689, 0.000000, 0.200000, 0.950000,
+       -0.494729, 0.890514, 0.000000, 0.250000, 0.950000,
+       -0.402146, 0.904830, 0.000000, 0.300000, 0.950000,
+       -0.305440, 0.916318, 0.000000, 0.350000, 0.950000,
+       -0.205494, 0.924723, 0.000000, 0.400000, 0.950000,
+       -0.103316, 0.929845, 0.000000, 0.450000, 0.950000,
+       0.000000, 0.931567, 0.000000, 0.500000, 0.950000,
+       0.103316, 0.929845, 0.000000, 0.550000, 0.950000,
+       0.205494, 0.924723, 0.000000, 0.600000, 0.950000,
+       0.305440, 0.916318, 0.000000, 0.650000, 0.950000,
+       0.402146, 0.904830, 0.000000, 0.700000, 0.950000,
+       0.494729, 0.890514, 0.000000, 0.750000, 0.950000,
+       0.582458, 0.873689, 0.000000, 0.800000, 0.950000,
+       0.664776, 0.854711, 0.000000, 0.850000, 0.950000,
+       0.741296, 0.833958, 0.000000, 0.900000, 0.950000,
+       0.811811, 0.811811, 0.000000, 0.950000, 0.950000,
+       0.876276, 0.788650, 0.000000, 1.000000, 0.950000,
+       -0.899219, 0.719374, 0.000000, 0.000000, 0.900000,
+       -0.833958, 0.741296, 0.000000, 0.050000, 0.900000,
+       -0.762285, 0.762285, 0.000000, 0.100000, 0.900000,
+       -0.684229, 0.781978, 0.000000, 0.150000, 0.900000,
+       -0.600001, 0.800002, 0.000000, 0.200000, 0.900000,
+       -0.509993, 0.815991, 0.000000, 0.250000, 0.900000,
+       -0.414798, 0.829596, 0.000000, 0.300000, 0.900000,
+       -0.315195, 0.840520, 0.000000, 0.350000, 0.900000,
+       -0.212127, 0.848507, 0.000000, 0.400000, 0.900000,
+       -0.106672, 0.853375, 0.000000, 0.450000, 0.900000,
+       0.000000, 0.855011, 0.000000, 0.500000, 0.900000,
+       0.106672, 0.853375, 0.000000, 0.550000, 0.900000,
+       0.212127, 0.848507, 0.000000, 0.600000, 0.900000,
+       0.315195, 0.840520, 0.000000, 0.650000, 0.900000,
+       0.414798, 0.829596, 0.000000, 0.700000, 0.900000,
+       0.509993, 0.815991, 0.000000, 0.750000, 0.900000,
+       0.600001, 0.800002, 0.000000, 0.800000, 0.900000,
+       0.684229, 0.781978, 0.000000, 0.850000, 0.900000,
+       0.762285, 0.762285, 0.000000, 0.900000, 0.900000,
+       0.833958, 0.741296, 0.000000, 0.950000, 0.900000,
+       0.899219, 0.719374, 0.000000, 1.000000, 0.900000,
+       -0.920687, 0.644480, 0.000000, 0.000000, 0.850000,
+       -0.854711, 0.664776, 0.000000, 0.050000, 0.850000,
+       -0.781978, 0.684229, 0.000000, 0.100000, 0.850000,
+       -0.702500, 0.702500, 0.000000, 0.150000, 0.850000,
+       -0.616482, 0.719231, 0.000000, 0.200000, 0.850000,
+       -0.524338, 0.734073, 0.000000, 0.250000, 0.850000,
+       -0.426689, 0.746704, 0.000000, 0.300000, 0.850000,
+       -0.324359, 0.756838, 0.000000, 0.350000, 0.850000,
+       -0.218357, 0.764250, 0.000000, 0.400000, 0.850000,
+       -0.109823, 0.768761, 0.000000, 0.450000, 0.850000,
+       0.000000, 0.770276, 0.000000, 0.500000, 0.850000,
+       0.109823, 0.768761, 0.000000, 0.550000, 0.850000,
+       0.218357, 0.764250, 0.000000, 0.600000, 0.850000,
+       0.324359, 0.756838, 0.000000, 0.650000, 0.850000,
+       0.426689, 0.746704, 0.000000, 0.700000, 0.850000,
+       0.524338, 0.734073, 0.000000, 0.750000, 0.850000,
+       0.616482, 0.719231, 0.000000, 0.800000, 0.850000,
+       0.702500, 0.702500, 0.000000, 0.850000, 0.850000,
+       0.781978, 0.684229, 0.000000, 0.900000, 0.850000,
+       0.854711, 0.664776, 0.000000, 0.950000, 0.850000,
+       0.920687, 0.644480, 0.000000, 1.000000, 0.850000,
+       -0.940297, 0.564177, 0.000000, 0.000000, 0.800000,
+       -0.873689, 0.582458, 0.000000, 0.050000, 0.800000,
+       -0.800002, 0.600001, 0.000000, 0.100000, 0.800000,
+       -0.719231, 0.616482, 0.000000, 0.150000, 0.800000,
+       -0.631577, 0.631577, 0.000000, 0.200000, 0.800000,
+       -0.537472, 0.644965, 0.000000, 0.250000, 0.800000,
+       -0.437570, 0.656353, 0.000000, 0.300000, 0.800000,
+       -0.332742, 0.665483, 0.000000, 0.350000, 0.800000,
+       -0.224050, 0.672152, 0.000000, 0.400000, 0.800000,
+       -0.112701, 0.676210, 0.000000, 0.450000, 0.800000,
+       0.000000, 0.677571, 0.000000, 0.500000, 0.800000,
+       0.112701, 0.676210, 0.000000, 0.550000, 0.800000,
+       0.224050, 0.672152, 0.000000, 0.600000, 0.800000,
+       0.332742, 0.665483, 0.000000, 0.650000, 0.800000,
+       0.437570, 0.656353, 0.000000, 0.700000, 0.800000,
+       0.537472, 0.644965, 0.000000, 0.750000, 0.800000,
+       0.631577, 0.631577, 0.000000, 0.800000, 0.800000,
+       0.719231, 0.616482, 0.000000, 0.850000, 0.800000,
+       0.800002, 0.600001, 0.000000, 0.900000, 0.800000,
+       0.873689, 0.582458, 0.000000, 0.950000, 0.800000,
+       0.940297, 0.564177, 0.000000, 1.000000, 0.800000,
+       -0.957664, 0.478834, 0.000000, 0.000000, 0.750000,
+       -0.890514, 0.494729, 0.000000, 0.050000, 0.750000,
+       -0.815991, 0.509993, 0.000000, 0.100000, 0.750000,
+       -0.734073, 0.524338, 0.000000, 0.150000, 0.750000,
+       -0.644965, 0.537472, 0.000000, 0.200000, 0.750000,
+       -0.549114, 0.549114, 0.000000, 0.250000, 0.750000,
+       -0.447204, 0.559008, 0.000000, 0.300000, 0.750000,
+       -0.340155, 0.566924, 0.000000, 0.350000, 0.750000,
+       -0.229080, 0.572700, 0.000000, 0.400000, 0.750000,
+       -0.115242, 0.576211, 0.000000, 0.450000, 0.750000,
+       0.000000, 0.577390, 0.000000, 0.500000, 0.750000,
+       0.115242, 0.576211, 0.000000, 0.550000, 0.750000,
+       0.229080, 0.572700, 0.000000, 0.600000, 0.750000,
+       0.340155, 0.566924, 0.000000, 0.650000, 0.750000,
+       0.447204, 0.559008, 0.000000, 0.700000, 0.750000,
+       0.549114, 0.549114, 0.000000, 0.750000, 0.750000,
+       0.644965, 0.537472, 0.000000, 0.800000, 0.750000,
+       0.734073, 0.524338, 0.000000, 0.850000, 0.750000,
+       0.815991, 0.509993, 0.000000, 0.900000, 0.750000,
+       0.890514, 0.494729, 0.000000, 0.950000, 0.750000,
+       0.957664, 0.478834, 0.000000, 1.000000, 0.750000,
+       -0.972431, 0.388972, 0.000000, 0.000000, 0.700000,
+       -0.904830, 0.402146, 0.000000, 0.050000, 0.700000,
+       -0.829596, 0.414798, 0.000000, 0.100000, 0.700000,
+       -0.746704, 0.426689, 0.000000, 0.150000, 0.700000,
+       -0.656353, 0.437570, 0.000000, 0.200000, 0.700000,
+       -0.559008, 0.447204, 0.000000, 0.250000, 0.700000,
+       -0.455380, 0.455380, 0.000000, 0.300000, 0.700000,
+       -0.346433, 0.461910, 0.000000, 0.350000, 0.700000,
+       -0.233332, 0.466664, 0.000000, 0.400000, 0.700000,
+       -0.117388, 0.469550, 0.000000, 0.450000, 0.700000,
+       0.000000, 0.470518, 0.000000, 0.500000, 0.700000,
+       0.117388, 0.469550, 0.000000, 0.550000, 0.700000,
+       0.233332, 0.466664, 0.000000, 0.600000, 0.700000,
+       0.346433, 0.461910, 0.000000, 0.650000, 0.700000,
+       0.455380, 0.455380, 0.000000, 0.700000, 0.700000,
+       0.559008, 0.447204, 0.000000, 0.750000, 0.700000,
+       0.656353, 0.437570, 0.000000, 0.800000, 0.700000,
+       0.746704, 0.426689, 0.000000, 0.850000, 0.700000,
+       0.829596, 0.414798, 0.000000, 0.900000, 0.700000,
+       0.904830, 0.402146, 0.000000, 0.950000, 0.700000,
+       0.972431, 0.388972, 0.000000, 1.000000, 0.700000,
+       -0.984283, 0.295285, 0.000000, 0.000000, 0.650000,
+       -0.916318, 0.305440, 0.000000, 0.050000, 0.650000,
+       -0.840520, 0.315195, 0.000000, 0.100000, 0.650000,
+       -0.756838, 0.324359, 0.000000, 0.150000, 0.650000,
+       -0.665483, 0.332742, 0.000000, 0.200000, 0.650000,
+       -0.566924, 0.340155, 0.000000, 0.250000, 0.650000,
+       -0.461910, 0.346433, 0.000000, 0.300000, 0.650000,
+       -0.351439, 0.351439, 0.000000, 0.350000, 0.650000,
+       -0.236717, 0.355075, 0.000000, 0.400000, 0.650000,
+       -0.119092, 0.357278, 0.000000, 0.450000, 0.650000,
+       0.000000, 0.358014, 0.000000, 0.500000, 0.650000,
+       0.119092, 0.357278, 0.000000, 0.550000, 0.650000,
+       0.236717, 0.355075, 0.000000, 0.600000, 0.650000,
+       0.351439, 0.351439, 0.000000, 0.650000, 0.650000,
+       0.461910, 0.346433, 0.000000, 0.700000, 0.650000,
+       0.566924, 0.340155, 0.000000, 0.750000, 0.650000,
+       0.665483, 0.332742, 0.000000, 0.800000, 0.650000,
+       0.756838, 0.324359, 0.000000, 0.850000, 0.650000,
+       0.840520, 0.315195, 0.000000, 0.900000, 0.650000,
+       0.916318, 0.305440, 0.000000, 0.950000, 0.650000,
+       0.984283, 0.295285, 0.000000, 1.000000, 0.650000,
+       -0.992945, 0.198589, 0.000000, 0.000000, 0.600000,
+       -0.924723, 0.205494, 0.000000, 0.050000, 0.600000,
+       -0.848507, 0.212127, 0.000000, 0.100000, 0.600000,
+       -0.764250, 0.218357, 0.000000, 0.150000, 0.600000,
+       -0.672152, 0.224050, 0.000000, 0.200000, 0.600000,
+       -0.572700, 0.229080, 0.000000, 0.250000, 0.600000,
+       -0.466664, 0.233332, 0.000000, 0.300000, 0.600000,
+       -0.355075, 0.236717, 0.000000, 0.350000, 0.600000,
+       -0.239169, 0.239169, 0.000000, 0.400000, 0.600000,
+       -0.120326, 0.240653, 0.000000, 0.450000, 0.600000,
+       0.000000, 0.241149, 0.000000, 0.500000, 0.600000,
+       0.120326, 0.240653, 0.000000, 0.550000, 0.600000,
+       0.239169, 0.239169, 0.000000, 0.600000, 0.600000,
+       0.355075, 0.236717, 0.000000, 0.650000, 0.600000,
+       0.466664, 0.233332, 0.000000, 0.700000, 0.600000,
+       0.572700, 0.229080, 0.000000, 0.750000, 0.600000,
+       0.672152, 0.224050, 0.000000, 0.800000, 0.600000,
+       0.764250, 0.218357, 0.000000, 0.850000, 0.600000,
+       0.848507, 0.212127, 0.000000, 0.900000, 0.600000,
+       0.924723, 0.205494, 0.000000, 0.950000, 0.600000,
+       0.992945, 0.198589, 0.000000, 1.000000, 0.600000,
+       -0.998228, 0.099823, 0.000000, 0.000000, 0.550000,
+       -0.929845, 0.103316, 0.000000, 0.050000, 0.550000,
+       -0.853375, 0.106672, 0.000000, 0.100000, 0.550000,
+       -0.768761, 0.109823, 0.000000, 0.150000, 0.550000,
+       -0.676210, 0.112701, 0.000000, 0.200000, 0.550000,
+       -0.576211, 0.115242, 0.000000, 0.250000, 0.550000,
+       -0.469550, 0.117388, 0.000000, 0.300000, 0.550000,
+       -0.357278, 0.119092, 0.000000, 0.350000, 0.550000,
+       -0.240653, 0.120326, 0.000000, 0.400000, 0.550000,
+       -0.121071, 0.121071, 0.000000, 0.450000, 0.550000,
+       0.000000, 0.121320, 0.000000, 0.500000, 0.550000,
+       0.121071, 0.121071, 0.000000, 0.550000, 0.550000,
+       0.240653, 0.120326, 0.000000, 0.600000, 0.550000,
+       0.357278, 0.119092, 0.000000, 0.650000, 0.550000,
+       0.469550, 0.117388, 0.000000, 0.700000, 0.550000,
+       0.576211, 0.115242, 0.000000, 0.750000, 0.550000,
+       0.676210, 0.112701, 0.000000, 0.800000, 0.550000,
+       0.768761, 0.109823, 0.000000, 0.850000, 0.550000,
+       0.853375, 0.106672, 0.000000, 0.900000, 0.550000,
+       0.929845, 0.103316, 0.000000, 0.950000, 0.550000,
+       0.998228, 0.099823, 0.000000, 1.000000, 0.550000,
+       -1.000000, -0.000000, 0.000000, 0.000000, 0.500000,
+       -0.931567, -0.000000, 0.000000, 0.050000, 0.500000,
+       -0.855011, -0.000000, 0.000000, 0.100000, 0.500000,
+       -0.770276, -0.000000, 0.000000, 0.150000, 0.500000,
+       -0.677571, -0.000000, 0.000000, 0.200000, 0.500000,
+       -0.577390, -0.000000, 0.000000, 0.250000, 0.500000,
+       -0.470518, -0.000000, 0.000000, 0.300000, 0.500000,
+       -0.358014, -0.000000, 0.000000, 0.350000, 0.500000,
+       -0.241149, -0.000000, 0.000000, 0.400000, 0.500000,
+       -0.121320, -0.000000, 0.000000, 0.450000, 0.500000,
+       0.000000, -0.000000, 0.000000, 0.500000, 0.500000,
+       0.121320, -0.000000, 0.000000, 0.550000, 0.500000,
+       0.241149, -0.000000, 0.000000, 0.600000, 0.500000,
+       0.358014, -0.000000, 0.000000, 0.650000, 0.500000,
+       0.470518, -0.000000, 0.000000, 0.700000, 0.500000,
+       0.577390, -0.000000, 0.000000, 0.750000, 0.500000,
+       0.677571, -0.000000, 0.000000, 0.800000, 0.500000,
+       0.770276, -0.000000, 0.000000, 0.850000, 0.500000,
+       0.855011, -0.000000, 0.000000, 0.900000, 0.500000,
+       0.931567, -0.000000, 0.000000, 0.950000, 0.500000,
+       1.000000, -0.000000, 0.000000, 1.000000, 0.500000,
+       -0.998228, -0.099823, 0.000000, 0.000000, 0.450000,
+       -0.929845, -0.103316, 0.000000, 0.050000, 0.450000,
+       -0.853375, -0.106672, 0.000000, 0.100000, 0.450000,
+       -0.768761, -0.109823, 0.000000, 0.150000, 0.450000,
+       -0.676210, -0.112701, 0.000000, 0.200000, 0.450000,
+       -0.576211, -0.115242, 0.000000, 0.250000, 0.450000,
+       -0.469550, -0.117388, 0.000000, 0.300000, 0.450000,
+       -0.357278, -0.119092, 0.000000, 0.350000, 0.450000,
+       -0.240653, -0.120326, 0.000000, 0.400000, 0.450000,
+       -0.121071, -0.121071, 0.000000, 0.450000, 0.450000,
+       0.000000, -0.121320, 0.000000, 0.500000, 0.450000,
+       0.121071, -0.121071, 0.000000, 0.550000, 0.450000,
+       0.240653, -0.120326, 0.000000, 0.600000, 0.450000,
+       0.357278, -0.119092, 0.000000, 0.650000, 0.450000,
+       0.469550, -0.117388, 0.000000, 0.700000, 0.450000,
+       0.576211, -0.115242, 0.000000, 0.750000, 0.450000,
+       0.676210, -0.112701, 0.000000, 0.800000, 0.450000,
+       0.768761, -0.109823, 0.000000, 0.850000, 0.450000,
+       0.853375, -0.106672, 0.000000, 0.900000, 0.450000,
+       0.929845, -0.103316, 0.000000, 0.950000, 0.450000,
+       0.998228, -0.099823, 0.000000, 1.000000, 0.450000,
+       -0.992945, -0.198589, 0.000000, 0.000000, 0.400000,
+       -0.924723, -0.205494, 0.000000, 0.050000, 0.400000,
+       -0.848507, -0.212127, 0.000000, 0.100000, 0.400000,
+       -0.764250, -0.218357, 0.000000, 0.150000, 0.400000,
+       -0.672152, -0.224050, 0.000000, 0.200000, 0.400000,
+       -0.572700, -0.229080, 0.000000, 0.250000, 0.400000,
+       -0.466664, -0.233332, 0.000000, 0.300000, 0.400000,
+       -0.355075, -0.236717, 0.000000, 0.350000, 0.400000,
+       -0.239169, -0.239169, 0.000000, 0.400000, 0.400000,
+       -0.120326, -0.240653, 0.000000, 0.450000, 0.400000,
+       0.000000, -0.241149, 0.000000, 0.500000, 0.400000,
+       0.120326, -0.240653, 0.000000, 0.550000, 0.400000,
+       0.239169, -0.239169, 0.000000, 0.600000, 0.400000,
+       0.355075, -0.236717, 0.000000, 0.650000, 0.400000,
+       0.466664, -0.233332, 0.000000, 0.700000, 0.400000,
+       0.572700, -0.229080, 0.000000, 0.750000, 0.400000,
+       0.672152, -0.224050, 0.000000, 0.800000, 0.400000,
+       0.764250, -0.218357, 0.000000, 0.850000, 0.400000,
+       0.848507, -0.212127, 0.000000, 0.900000, 0.400000,
+       0.924723, -0.205494, 0.000000, 0.950000, 0.400000,
+       0.992945, -0.198589, 0.000000, 1.000000, 0.400000,
+       -0.984283, -0.295285, 0.000000, 0.000000, 0.350000,
+       -0.916318, -0.305440, 0.000000, 0.050000, 0.350000,
+       -0.840520, -0.315195, 0.000000, 0.100000, 0.350000,
+       -0.756838, -0.324359, 0.000000, 0.150000, 0.350000,
+       -0.665483, -0.332742, 0.000000, 0.200000, 0.350000,
+       -0.566924, -0.340155, 0.000000, 0.250000, 0.350000,
+       -0.461910, -0.346433, 0.000000, 0.300000, 0.350000,
+       -0.351439, -0.351439, 0.000000, 0.350000, 0.350000,
+       -0.236717, -0.355075, 0.000000, 0.400000, 0.350000,
+       -0.119092, -0.357278, 0.000000, 0.450000, 0.350000,
+       0.000000, -0.358014, 0.000000, 0.500000, 0.350000,
+       0.119092, -0.357278, 0.000000, 0.550000, 0.350000,
+       0.236717, -0.355075, 0.000000, 0.600000, 0.350000,
+       0.351439, -0.351439, 0.000000, 0.650000, 0.350000,
+       0.461910, -0.346433, 0.000000, 0.700000, 0.350000,
+       0.566924, -0.340155, 0.000000, 0.750000, 0.350000,
+       0.665483, -0.332742, 0.000000, 0.800000, 0.350000,
+       0.756838, -0.324359, 0.000000, 0.850000, 0.350000,
+       0.840520, -0.315195, 0.000000, 0.900000, 0.350000,
+       0.916318, -0.305440, 0.000000, 0.950000, 0.350000,
+       0.984283, -0.295285, 0.000000, 1.000000, 0.350000,
+       -0.972431, -0.388972, 0.000000, 0.000000, 0.300000,
+       -0.904830, -0.402146, 0.000000, 0.050000, 0.300000,
+       -0.829596, -0.414798, 0.000000, 0.100000, 0.300000,
+       -0.746704, -0.426689, 0.000000, 0.150000, 0.300000,
+       -0.656353, -0.437570, 0.000000, 0.200000, 0.300000,
+       -0.559008, -0.447204, 0.000000, 0.250000, 0.300000,
+       -0.455380, -0.455380, 0.000000, 0.300000, 0.300000,
+       -0.346433, -0.461910, 0.000000, 0.350000, 0.300000,
+       -0.233332, -0.466664, 0.000000, 0.400000, 0.300000,
+       -0.117388, -0.469550, 0.000000, 0.450000, 0.300000,
+       0.000000, -0.470518, 0.000000, 0.500000, 0.300000,
+       0.117388, -0.469550, 0.000000, 0.550000, 0.300000,
+       0.233332, -0.466664, 0.000000, 0.600000, 0.300000,
+       0.346433, -0.461910, 0.000000, 0.650000, 0.300000,
+       0.455380, -0.455380, 0.000000, 0.700000, 0.300000,
+       0.559008, -0.447204, 0.000000, 0.750000, 0.300000,
+       0.656353, -0.437570, 0.000000, 0.800000, 0.300000,
+       0.746704, -0.426689, 0.000000, 0.850000, 0.300000,
+       0.829596, -0.414798, 0.000000, 0.900000, 0.300000,
+       0.904830, -0.402146, 0.000000, 0.950000, 0.300000,
+       0.972431, -0.388972, 0.000000, 1.000000, 0.300000,
+       -0.957664, -0.478834, 0.000000, 0.000000, 0.250000,
+       -0.890514, -0.494729, 0.000000, 0.050000, 0.250000,
+       -0.815991, -0.509993, 0.000000, 0.100000, 0.250000,
+       -0.734073, -0.524338, 0.000000, 0.150000, 0.250000,
+       -0.644965, -0.537472, 0.000000, 0.200000, 0.250000,
+       -0.549114, -0.549114, 0.000000, 0.250000, 0.250000,
+       -0.447204, -0.559008, 0.000000, 0.300000, 0.250000,
+       -0.340155, -0.566924, 0.000000, 0.350000, 0.250000,
+       -0.229080, -0.572700, 0.000000, 0.400000, 0.250000,
+       -0.115242, -0.576211, 0.000000, 0.450000, 0.250000,
+       0.000000, -0.577390, 0.000000, 0.500000, 0.250000,
+       0.115242, -0.576211, 0.000000, 0.550000, 0.250000,
+       0.229080, -0.572700, 0.000000, 0.600000, 0.250000,
+       0.340155, -0.566924, 0.000000, 0.650000, 0.250000,
+       0.447204, -0.559008, 0.000000, 0.700000, 0.250000,
+       0.549114, -0.549114, 0.000000, 0.750000, 0.250000,
+       0.644965, -0.537472, 0.000000, 0.800000, 0.250000,
+       0.734073, -0.524338, 0.000000, 0.850000, 0.250000,
+       0.815991, -0.509993, 0.000000, 0.900000, 0.250000,
+       0.890514, -0.494729, 0.000000, 0.950000, 0.250000,
+       0.957664, -0.478834, 0.000000, 1.000000, 0.250000,
+       -0.940297, -0.564177, 0.000000, 0.000000, 0.200000,
+       -0.873689, -0.582458, 0.000000, 0.050000, 0.200000,
+       -0.800002, -0.600001, 0.000000, 0.100000, 0.200000,
+       -0.719231, -0.616482, 0.000000, 0.150000, 0.200000,
+       -0.631577, -0.631577, 0.000000, 0.200000, 0.200000,
+       -0.537472, -0.644965, 0.000000, 0.250000, 0.200000,
+       -0.437570, -0.656353, 0.000000, 0.300000, 0.200000,
+       -0.332742, -0.665483, 0.000000, 0.350000, 0.200000,
+       -0.224050, -0.672152, 0.000000, 0.400000, 0.200000,
+       -0.112701, -0.676210, 0.000000, 0.450000, 0.200000,
+       0.000000, -0.677571, 0.000000, 0.500000, 0.200000,
+       0.112701, -0.676210, 0.000000, 0.550000, 0.200000,
+       0.224050, -0.672152, 0.000000, 0.600000, 0.200000,
+       0.332742, -0.665483, 0.000000, 0.650000, 0.200000,
+       0.437570, -0.656353, 0.000000, 0.700000, 0.200000,
+       0.537472, -0.644965, 0.000000, 0.750000, 0.200000,
+       0.631577, -0.631577, 0.000000, 0.800000, 0.200000,
+       0.719231, -0.616482, 0.000000, 0.850000, 0.200000,
+       0.800002, -0.600001, 0.000000, 0.900000, 0.200000,
+       0.873689, -0.582458, 0.000000, 0.950000, 0.200000,
+       0.940297, -0.564177, 0.000000, 1.000000, 0.200000,
+       -0.920687, -0.644480, 0.000000, 0.000000, 0.150000,
+       -0.854711, -0.664776, 0.000000, 0.050000, 0.150000,
+       -0.781978, -0.684229, 0.000000, 0.100000, 0.150000,
+       -0.702500, -0.702500, 0.000000, 0.150000, 0.150000,
+       -0.616482, -0.719231, 0.000000, 0.200000, 0.150000,
+       -0.524338, -0.734073, 0.000000, 0.250000, 0.150000,
+       -0.426689, -0.746704, 0.000000, 0.300000, 0.150000,
+       -0.324359, -0.756838, 0.000000, 0.350000, 0.150000,
+       -0.218357, -0.764250, 0.000000, 0.400000, 0.150000,
+       -0.109823, -0.768761, 0.000000, 0.450000, 0.150000,
+       0.000000, -0.770276, 0.000000, 0.500000, 0.150000,
+       0.109823, -0.768761, 0.000000, 0.550000, 0.150000,
+       0.218357, -0.764250, 0.000000, 0.600000, 0.150000,
+       0.324359, -0.756838, 0.000000, 0.650000, 0.150000,
+       0.426689, -0.746704, 0.000000, 0.700000, 0.150000,
+       0.524338, -0.734073, 0.000000, 0.750000, 0.150000,
+       0.616482, -0.719231, 0.000000, 0.800000, 0.150000,
+       0.702500, -0.702500, 0.000000, 0.850000, 0.150000,
+       0.781978, -0.684229, 0.000000, 0.900000, 0.150000,
+       0.854711, -0.664776, 0.000000, 0.950000, 0.150000,
+       0.920687, -0.644480, 0.000000, 1.000000, 0.150000,
+       -0.899219, -0.719374, 0.000000, 0.000000, 0.100000,
+       -0.833958, -0.741296, 0.000000, 0.050000, 0.100000,
+       -0.762285, -0.762285, 0.000000, 0.100000, 0.100000,
+       -0.684229, -0.781978, 0.000000, 0.150000, 0.100000,
+       -0.600001, -0.800002, 0.000000, 0.200000, 0.100000,
+       -0.509993, -0.815991, 0.000000, 0.250000, 0.100000,
+       -0.414798, -0.829596, 0.000000, 0.300000, 0.100000,
+       -0.315195, -0.840520, 0.000000, 0.350000, 0.100000,
+       -0.212127, -0.848507, 0.000000, 0.400000, 0.100000,
+       -0.106672, -0.853375, 0.000000, 0.450000, 0.100000,
+       0.000000, -0.855011, 0.000000, 0.500000, 0.100000,
+       0.106672, -0.853375, 0.000000, 0.550000, 0.100000,
+       0.212127, -0.848507, 0.000000, 0.600000, 0.100000,
+       0.315195, -0.840520, 0.000000, 0.650000, 0.100000,
+       0.414798, -0.829596, 0.000000, 0.700000, 0.100000,
+       0.509993, -0.815991, 0.000000, 0.750000, 0.100000,
+       0.600001, -0.800002, 0.000000, 0.800000, 0.100000,
+       0.684229, -0.781978, 0.000000, 0.850000, 0.100000,
+       0.762285, -0.762285, 0.000000, 0.900000, 0.100000,
+       0.833958, -0.741296, 0.000000, 0.950000, 0.100000,
+       0.899219, -0.719374, 0.000000, 1.000000, 0.100000,
+       -0.876276, -0.788650, 0.000000, 0.000000, 0.050000,
+       -0.811811, -0.811811, 0.000000, 0.050000, 0.050000,
+       -0.741296, -0.833958, 0.000000, 0.100000, 0.050000,
+       -0.664776, -0.854711, 0.000000, 0.150000, 0.050000,
+       -0.582458, -0.873689, 0.000000, 0.200000, 0.050000,
+       -0.494729, -0.890514, 0.000000, 0.250000, 0.050000,
+       -0.402146, -0.904830, 0.000000, 0.300000, 0.050000,
+       -0.305440, -0.916318, 0.000000, 0.350000, 0.050000,
+       -0.205494, -0.924723, 0.000000, 0.400000, 0.050000,
+       -0.103316, -0.929845, 0.000000, 0.450000, 0.050000,
+       0.000000, -0.931567, 0.000000, 0.500000, 0.050000,
+       0.103316, -0.929845, 0.000000, 0.550000, 0.050000,
+       0.205494, -0.924723, 0.000000, 0.600000, 0.050000,
+       0.305440, -0.916318, 0.000000, 0.650000, 0.050000,
+       0.402146, -0.904830, 0.000000, 0.700000, 0.050000,
+       0.494729, -0.890514, 0.000000, 0.750000, 0.050000,
+       0.582458, -0.873689, 0.000000, 0.800000, 0.050000,
+       0.664776, -0.854711, 0.000000, 0.850000, 0.050000,
+       0.741296, -0.833958, 0.000000, 0.900000, 0.050000,
+       0.811811, -0.811811, 0.000000, 0.950000, 0.050000,
+       0.876276, -0.788650, 0.000000, 1.000000, 0.050000,
+       -0.852243, -0.852243, 0.000000, 0.000000, 0.000000,
+       -0.788650, -0.876276, 0.000000, 0.050000, 0.000000,
+       -0.719374, -0.899219, 0.000000, 0.100000, 0.000000,
+       -0.644480, -0.920687, 0.000000, 0.150000, 0.000000,
+       -0.564177, -0.940297, 0.000000, 0.200000, 0.000000,
+       -0.478834, -0.957664, 0.000000, 0.250000, 0.000000,
+       -0.388972, -0.972431, 0.000000, 0.300000, 0.000000,
+       -0.295285, -0.984283, 0.000000, 0.350000, 0.000000,
+       -0.198589, -0.992945, 0.000000, 0.400000, 0.000000,
+       -0.099823, -0.998228, 0.000000, 0.450000, 0.000000,
+       0.000000, -1.000000, 0.000000, 0.500000, 0.000000,
+       0.099823, -0.998228, 0.000000, 0.550000, 0.000000,
+       0.198589, -0.992945, 0.000000, 0.600000, 0.000000,
+       0.295285, -0.984283, 0.000000, 0.650000, 0.000000,
+       0.388972, -0.972431, 0.000000, 0.700000, 0.000000,
+       0.478834, -0.957664, 0.000000, 0.750000, 0.000000,
+       0.564177, -0.940297, 0.000000, 0.800000, 0.000000,
+       0.644480, -0.920687, 0.000000, 0.850000, 0.000000,
+       0.719374, -0.899219, 0.000000, 0.900000, 0.000000,
+       0.788650, -0.876276, 0.000000, 0.950000, 0.000000,
+       0.852243, -0.852243, 0.000000, 1.000000, 0.000000
+};
+
+inline void GenerateGridVertexBuffer( std::vector<float>& vertexBuffer )
+{
+  const int N = sizeof( gridVertices ) / sizeof( float );
+  vertexBuffer.resize( N*2 );
+  std::copy( gridVertices, gridVertices+N, vertexBuffer.data() );
+  std::copy( gridVertices, gridVertices+N, vertexBuffer.data()+N );
+
+  // process data for both eyes
+
+
+  for( size_t i = 0; i < N; i += 5 )
+  {
+    float* co = &vertexBuffer[i];
+    float* uv = &vertexBuffer[i+3];
+    co[1] -= 1.0f;
+    co[1] *= 0.5f;
+    uv[1] *= 0.5f;
+  }
+
+  //for( size_t i = N; i < N*2; i += 5 )
+  for( size_t i = N; i < N*2; i += 5 )
+  {
+    float* co = &vertexBuffer[i];
+    float* uv = &vertexBuffer[i+3];
+    co[1] += 1.0f;
+    co[1] *= 0.5f;
+    uv[1] *= 0.5f;
+    uv[1] += 1.0f;
+  }
+
+  return;
+}
+
+inline void GenerateGridIndexBuffer( std::vector<uint16_t>& indexBuffer )
+{
+  const int BASE = sizeof( gridVertices ) / sizeof( float ) / 5;
+  const int N = sqrt( BASE );
+  indexBuffer.resize( N*N*6*2 );
+  uint16_t* gridData = indexBuffer.data();//(uint16_t*)malloc(N*N*6*sizeof(uint16_t));
+  int j, i, k = 0;
+
+  // left
+  for(j=0; j<N-1; j++)
+  {
+    for(i=0; i<N-1; i++)
+    {
+      gridData[k] = i + N*j;
+      gridData[k+1] = (i+1) + j*N;
+      gridData[k+2] = i + (j+1)*N;
+      gridData[k+3] = (i+1) + j*N;
+      gridData[k+4] = (i+1) + (j+1)*N;
+      gridData[k+5] = i + (j+1)*N;
+      k += 6;
+    }
+  }
+
+  // right
+  for(j=0; j<N-1; j++)
+  {
+    for(i=0; i<N-1; i++)
+    {
+      gridData[k] = BASE + (i + N*j);
+      gridData[k+1] = BASE +( (i+1) + j*N );
+      gridData[k+2] = BASE +( i + (j+1)*N );
+      gridData[k+3] = BASE + ( (i+1) + j*N );
+      gridData[k+4] = BASE + ( (i+1) + (j+1)*N );
+      gridData[k+5] = BASE + (i + (j+1)*N);
+      k += 6;
+    }
+  }
+  return;
+}
+
+}
+
index 3798b97..1026ce4 100644 (file)
@@ -413,14 +413,12 @@ public:
    */
   void Clear(GLbitfield mask, ClearMode mode )
   {
-    DALI_LOG_ERROR("CLEARRRR\n");
     bool forceClear = (mode == FORCE_CLEAR );
     mask = mFrameBufferStateCache.GetClearMask( mask, forceClear , mScissorTestEnabled );
 
     if( mask > 0 )
     {
       LOG_GL("Clear %d\n", mask);
-      DALI_LOG_ERROR(" >>> CLEARRRR for sure\n");
       CHECK_GL( mGlAbstraction, mGlAbstraction.Clear( mask ) );
     }
   }