Dali::Shader WatchView::CreateShader()
{
- std::string fragmentShader = "#extension GL_OES_EGL_image_external:require\n";
- fragmentShader += "\n";
- std::string vertexShader;
- std::string customFragmentShader;
+ std::string vertexShader = VERTEX_SHADER_TEXTURE;
+ std::string fragmentShader = FRAGMENT_SHADER_TEXTURE;
- vertexShader = VERTEX_SHADER_TEXTURE;
- fragmentShader += FRAGMENT_SHADER_TEXTURE;
+ mImageSource->ApplyNativeFragmentShader(fragmentShader);
return Dali::Shader::New( vertexShader, fragmentShader );
}
Dali::Shader WidgetView::CreateShader()
{
- std::string fragmentShader = "#extension GL_OES_EGL_image_external:require\n";
- fragmentShader += "\n";
std::string vertexShader;
- std::string customFragmentShader;
+ std::string fragmentShader;
if( !mEffectPropertyMap.Empty() )
{
Property::Value* fragmentShaderValue = mEffectPropertyMap.Find( CUSTOM_FRAGMENT_SHADER );
if( fragmentShaderValue )
{
- if( !GetStringFromProperty( *fragmentShaderValue, customFragmentShader ) )
+ if( !GetStringFromProperty( *fragmentShaderValue, fragmentShader ) )
{
DALI_LOG_ERROR( "'%s' parameter does not correctly specify a string\n", CUSTOM_FRAGMENT_SHADER );
}
- fragmentShader += customFragmentShader;
- std::size_t found = fragmentShader.find( DEFAULT_SAMPLER_TYPE_NAME );
- if( found != std::string::npos )
- {
- fragmentShader.replace( found , strlen( DEFAULT_SAMPLER_TYPE_NAME ), CUSTOM_SAMPLER_TYPE_NAME );
- }
}
else
{
- fragmentShader += FRAGMENT_SHADER_TEXTURE;
+ fragmentShader = FRAGMENT_SHADER_TEXTURE;
}
}
else
{
vertexShader = VERTEX_SHADER_TEXTURE;
- fragmentShader += FRAGMENT_SHADER_TEXTURE;
+ fragmentShader = FRAGMENT_SHADER_TEXTURE;
}
+ mImageSource->ApplyNativeFragmentShader(fragmentShader);
+
return Dali::Shader::New( vertexShader, fragmentShader );
}