{
//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 );
}
if( mRenderer )
{
mRenderer.SetGeometry( mMesh );
+ mRenderer.SetProperty( Renderer::Property::DEPTH_WRITE_MODE, Renderer::DEPTH_WRITE_ON );
}
}
}
{
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();
{
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();
surface.SetIndexBuffer ( &indices[0], indices.Size() );
}
- surface.SetRequiresDepthTesting( true );
-
vertices.Clear();
verticesExt.Clear();
indices.Clear();
}
renderer.SetTextures( textureSet );
+ renderer.SetProperty( Renderer::Property::DEPTH_WRITE_MODE, Renderer::DEPTH_WRITE_ON );
actor.AddRenderer( renderer );
}
}
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++ )
/**
* 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
*/
{
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;
{ "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 },
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 },
};