Changes following "Remove API to set if a geometry requires writing to the depth... 33/67533/5
authorFerran Sole <ferran.sole@samsung.com>
Wed, 27 Apr 2016 07:20:48 +0000 (08:20 +0100)
committerFerran Sole <ferran.sole@samsung.com>
Fri, 29 Apr 2016 10:12:22 +0000 (11:12 +0100)
Change-Id: I5b7e52b898c28ba39a9e8813fd6ed3bff1afbd3b

dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp
dali-toolkit/internal/controls/model3d-view/obj-loader.cpp
dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp
dali-toolkit/internal/controls/renderers/control-renderer-data-impl.cpp
plugins/dali-script-v8/src/constants/constants-wrapper.cpp
plugins/dali-script-v8/src/rendering/shader-api.cpp

index 6d05a50..5e6340f 100644 (file)
@@ -448,7 +448,7 @@ void Model3dView::OnInitialize()
 {
   //Create empty versions of the geometry and material so we always have a Renderer
   Geometry mesh = Geometry::New();
-  Shader shader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER, (Shader::ShaderHints)(Shader::HINT_REQUIRES_SELF_DEPTH_TEST | Shader::HINT_MODIFIES_GEOMETRY) );
+  Shader shader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER );
   mRenderer = Renderer::New( mesh, shader );
 
 }
@@ -525,6 +525,7 @@ void Model3dView::CreateGeometry()
     if( mRenderer )
     {
       mRenderer.SetGeometry( mMesh );
+      mRenderer.SetProperty( Renderer::Property::DEPTH_WRITE_MODE, Renderer::DEPTH_WRITE_ON );
     }
   }
 }
@@ -557,20 +558,20 @@ void Model3dView::CreateMaterial()
   {
     if( (mTexture2Url != "") && (mTexture1Url != "") && (mIlluminationType == Toolkit::Model3dView::DIFFUSE_WITH_NORMAL_MAP) && mObjLoader.IsNormalMapPresent() )
     {
-      mShader = Shader::New( NRMMAP_VERTEX_SHADER, NRMMAP_FRAGMENT_SHADER, (Shader::ShaderHints)(Shader::HINT_REQUIRES_SELF_DEPTH_TEST | Shader::HINT_MODIFIES_GEOMETRY) );
+      mShader = Shader::New( NRMMAP_VERTEX_SHADER, NRMMAP_FRAGMENT_SHADER );
     }
     else if( mIlluminationType == Toolkit::Model3dView::DIFFUSE_WITH_TEXTURE )
     {
-      mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER, (Shader::ShaderHints)(Shader::HINT_REQUIRES_SELF_DEPTH_TEST | Shader::HINT_MODIFIES_GEOMETRY) );
+      mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
     }
     else
     {
-      mShader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER, (Shader::ShaderHints)(Shader::HINT_REQUIRES_SELF_DEPTH_TEST | Shader::HINT_MODIFIES_GEOMETRY) );
+      mShader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER );
     }
   }
   else
   {
-    mShader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER, (Shader::ShaderHints)(Shader::HINT_REQUIRES_SELF_DEPTH_TEST | Shader::HINT_MODIFIES_GEOMETRY) );
+    mShader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER );
   }
 
   mTextureSet = TextureSet::New();
@@ -579,7 +580,7 @@ void Model3dView::CreateMaterial()
   {
     mRenderer.SetTextures( mTextureSet );
     mRenderer.SetShader( mShader );
-    mRenderer.SetProperty( Renderer::Property::FACE_CULLING_MODE, Renderer::NONE);
+    mRenderer.SetProperty( Renderer::Property::FACE_CULLING_MODE, Renderer::CULL_NONE);
   }
 
   UpdateShaderUniforms();
index dd9c25d..857032a 100644 (file)
@@ -589,8 +589,6 @@ Geometry ObjLoader::CreateGeometry( Toolkit::Model3dView::IlluminationType illum
     surface.SetIndexBuffer ( &indices[0], indices.Size() );
   }
 
-  surface.SetRequiresDepthTesting( true );
-
   vertices.Clear();
   verticesExt.Clear();
   indices.Clear();
index 2fea479..a0d5d9f 100644 (file)
@@ -320,6 +320,7 @@ void PageTurnView::Page::UseEffect(Shader newShader, Geometry geometry)
     }
 
     renderer.SetTextures( textureSet );
+    renderer.SetProperty( Renderer::Property::DEPTH_WRITE_MODE, Renderer::DEPTH_WRITE_ON );
     actor.AddRenderer( renderer );
   }
 }
@@ -393,7 +394,6 @@ void PageTurnView::OnInitialize()
   uint16_t width = static_cast<uint16_t>(mPageSize.width / DEFAULT_GRID_DENSITY + 0.5f);
   uint16_t height = static_cast<uint16_t>(mPageSize.height / DEFAULT_GRID_DENSITY + 0.5f);
   mGeometry = RendererFactoryCache::CreateGridGeometry( Uint16Pair( width, height ) );
-  mGeometry.SetRequiresDepthTesting( true );
 
   mPages.reserve( NUMBER_OF_CACHED_PAGES );
   for( int i = 0; i < NUMBER_OF_CACHED_PAGES; i++ )
index 9992bf5..df5a006 100644 (file)
@@ -47,9 +47,7 @@ const char * const CUSTOM_SHADER_HINTS( "hints" ); ///< type STRING for a hint f
 /**
  * where hints should be contain strings of the following shader hints:
  *   "none"                    | corresponds to HINT_NONE
- *   "requiresSelfDepthTest"   | corresponds to HINT_REQUIRES_SELF_DEPTH_TEST
  *   "outputIsTransparent"     | corresponds to HINT_OUTPUT_IS_TRANSPARENT
- *   "outputIsOpaque"          | corresponds to HINT_OUTPUT_IS_OPAQUE
  *   "modifiesGeometry"        | corresponds to HINT_MODIFIES_GEOMETRY
  */
 
@@ -59,18 +57,10 @@ Shader::ShaderHints HintFromString( std::string hintString )
   {
     return Shader::HINT_NONE;
   }
-  else if( hintString == "requiresSelfDepthTest" )
-  {
-    return Shader::HINT_REQUIRES_SELF_DEPTH_TEST;
-  }
   else if( hintString == "outputIsTransparent" )
   {
     return Shader::HINT_OUTPUT_IS_TRANSPARENT;
   }
-  else if( hintString == "outputIsOpaque" )
-  {
-    return Shader::HINT_OUTPUT_IS_OPAQUE;
-  }
   else if( hintString == "modifiesGeometry" )
   {
     return Shader::HINT_MODIFIES_GEOMETRY;
index 1311506..1c3b826 100644 (file)
@@ -217,10 +217,14 @@ const IntegerPair EnumTable[] =
     { "WRAP_MODE_REPEAT",                     WrapMode::REPEAT           },
     { "WRAP_MODE_MIRRORED_REPEAT",            WrapMode::MIRRORED_REPEAT  },
 
-    { "MATERIAL_NONE",                        Renderer::NONE                      },
-    { "MATERIAL_CULL_BACK",                   Renderer::CULL_BACK                 },
-    { "MATERIAL_CULL_FRONT",                  Renderer::CULL_FRONT                },
-    { "MATERIAL_CULL_BACK_AND_FRONT",         Renderer::CULL_BACK_AND_FRONT       },
+    { "RENDERER_CULL_NONE",                   Renderer::CULL_NONE                 },
+    { "RENDERER_CULL_BACK",                   Renderer::CULL_BACK                 },
+    { "RENDERER_CULL_FRONT",                  Renderer::CULL_FRONT                },
+    { "RENDERER_CULL_BACK_AND_FRONT",         Renderer::CULL_BACK_AND_FRONT       },
+
+    { "RENDERER_DEPTH_WRITE_OFF",             Renderer::DEPTH_WRITE_OFF   },
+    { "RENDERER_DEPTH_WRITE_AUTO",            Renderer::DEPTH_WRITE_AUTO  },
+    { "RENDERER_DEPTH_WRITE_ON",              Renderer::DEPTH_WRITE_ON    },
 
     { "GEOMETRY_POINTS",                      Geometry::POINTS          },
     { "GEOMETRY_LINES",                       Geometry::LINES           },
index 6080bd2..2e08977 100644 (file)
@@ -74,9 +74,7 @@ struct ShaderHintPair
 
 const ShaderHintPair ShaderHintTable[]=
 {
-    {"requiresSelfDepthTest",  Shader::HINT_REQUIRES_SELF_DEPTH_TEST },
     {"outputIsTransparent",    Shader::HINT_OUTPUT_IS_TRANSPARENT },
-    {"outputIsOpaque",         Shader::HINT_OUTPUT_IS_OPAQUE   },
     {"modifiesGeometry",       Shader::HINT_MODIFIES_GEOMETRY },
 };