std::vector<uint32_t> GraphicsGetBuiltinShader( const std::string& tag );
}
+#define GraphicsGetBuiltinShaderId( x ) GraphicsGetBuiltinShader( #x )
+
#endif // GRAPHICS_BUILTIN_SHADER_EXTERN_GEN_H
// EXTERNAL INCLUDES
#include <dali/integration-api/debug.h>
#include <dali/devel-api/object/handle-devel.h>
+#include <dali/devel-api/rendering/shader-devel.h>
//INTERNAL INCLUDES
#include <dali-toolkit/public-api/visuals/color-visual-properties.h>
#include <dali-toolkit/public-api/visuals/visual-properties.h>
+#include <dali-toolkit/devel-api/graphics/builtin-shader-extern-gen.h>
+
#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
#include <dali-toolkit/internal/visuals/visual-factory-cache.h>
#include <dali-toolkit/internal/visuals/visual-string-constants.h>
namespace
{
-
+#if 0
const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
attribute mediump vec2 aPosition;\n
uniform mediump mat4 uMvpMatrix;\n
gl_FragColor = vec4(mixColor, opacity)*uColor;\n
}\n
);
+#endif
}
ColorVisualPtr ColorVisual::New( VisualFactoryCache& factoryCache, const Property::Map& properties )
Shader shader = mFactoryCache.GetShader( VisualFactoryCache::COLOR_SHADER );
if( !shader )
{
- shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
+ //shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
+
+ shader = DevelShader::New(
+ GraphicsGetBuiltinShaderId( SHADER_COLOR_VISUAL_SHADER_VERT ),
+ GraphicsGetBuiltinShaderId( SHADER_COLOR_VISUAL_SHADER_FRAG ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
mFactoryCache.SaveShader( VisualFactoryCache::COLOR_SHADER, shader );
}
#include <dali-toolkit/internal/visuals/visual-base-data-impl.h>
#include <dali-toolkit/internal/visuals/visual-string-constants.h>
+// @todo: using generated file in the dali-core!!!!
+#include <dali-toolkit/devel-api/graphics/builtin-shader-extern-gen.h>
+#include <dali/devel-api/rendering/shader-devel.h>
+
namespace Dali
{
void MeshVisual::SupplyEmptyGeometry()
{
mGeometry = Geometry::New();
- mShader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER );
+ mShader = DevelShader::New(
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_SIMPLE_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_SIMPLE_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
+
mImpl->mRenderer = Renderer::New( mGeometry, mShader );
DALI_LOG_ERROR( "Initialisation error in mesh visual.\n" );
if( mShadingMode == Toolkit::MeshVisual::ShadingMode::TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING )
{
mShader = Shader::New( NORMAL_MAP_VERTEX_SHADER, NORMAL_MAP_FRAGMENT_SHADER );
+ mShader = DevelShader::New(
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_NORMAL_MAP_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_NORMAL_MAP_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
+
}
else if( mShadingMode == Toolkit::MeshVisual::ShadingMode::TEXTURED_WITH_SPECULAR_LIGHTING )
{
mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
+ mShader = DevelShader::New(
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
+
}
else //Textureless
{
mShader = Shader::New( SIMPLE_VERTEX_SHADER, SIMPLE_FRAGMENT_SHADER );
+ mShader = DevelShader::New(
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_SIMPLE_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_MESH_VISUAL_SIMPLE_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
+
}
UpdateShaderUniforms();
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/visuals/visual-base-data-impl.h>
+#include <dali/devel-api/rendering/shader-devel.h>
+#include <dali-toolkit/devel-api/graphics/builtin-shader-extern-gen.h>
+
namespace Dali
{
gl_Position = vertexPosition;\n
}\n
);
-
+#if 0
const char* VERTEX_SHADER_3X3 = DALI_COMPOSE_SHADER(
attribute mediump vec2 aPosition;\n
varying mediump vec2 vTexCoord;\n
gl_Position = vertexPosition;\n
}\n
);
+#endif
const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
varying mediump vec2 vTexCoord;\n
shader = mFactoryCache.GetShader( VisualFactoryCache::NINE_PATCH_SHADER );
if( DALI_UNLIKELY( !shader ) )
{
- shader = Shader::New( VERTEX_SHADER_3X3, FRAGMENT_SHADER );
+ //shader = Shader::New( VERTEX_SHADER_3X3, FRAGMENT_SHADER );
+ shader = DevelShader::New<uint32_t>(
+ GraphicsGetBuiltinShader( "SHADER_NPATCH_VISUAL_3X3_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_NPATCH_VISUAL_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0, Property::Map() );
mFactoryCache.SaveShader( VisualFactoryCache::NINE_PATCH_SHADER, shader );
}
}
if( ( xStretchCount == 1 && yStretchCount == 1 ) ||
( xStretchCount == 0 && yStretchCount == 0 ) )
{
- const char* vertexShader = VERTEX_SHADER_3X3;
+ //const char* vertexShader = VERTEX_SHADER_3X3;
+
+
+
+ //if( !mImpl->mCustomShader->mVertexShader.empty() )
+ //{
+ // vertexShader = mImpl->mCustomShader->mVertexShader.c_str();
+ //}
+ //shader = Shader::New( vertexShader, fragmentShader, hints );
+
+ shader = DevelShader::New<uint32_t>(
+ GraphicsGetBuiltinShader( "SHADER_NPATCH_VISUAL_3X3_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_NPATCH_VISUAL_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0, Property::Map() );
- if( !mImpl->mCustomShader->mVertexShader.empty() )
- {
- vertexShader = mImpl->mCustomShader->mVertexShader.c_str();
- }
- shader = Shader::New( vertexShader, fragmentShader, hints );
}
else if( xStretchCount > 0 || yStretchCount > 0)
{
gl_FragColor = uTextColorAnimatable * textTexture * uColor * visualMixColor();
}\n
);
-#endif
+
const char* FRAGMENT_SHADER_MULTI_COLOR_TEXT = DALI_COMPOSE_SHADER(
varying mediump vec2 vTexCoord;\n
uniform sampler2D sTexture;\n
gl_FragColor = ( uTextColorAnimatable * textTexture + styleTexture * ( 1.0 - textTexture ) ) * uColor * visualMixColor();\n
}\n
);
+#endif
const char* FRAGMENT_SHADER_MULTI_COLOR_TEXT_WITH_STYLE = DALI_COMPOSE_SHADER(
varying mediump vec2 vTexCoord;\n
shader = factoryCache.GetShader( VisualFactoryCache::TEXT_SHADER_MULTI_COLOR_TEXT );
if( !shader )
{
- shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_MULTI_COLOR_TEXT );
+
+ shader = DevelShader::New(
+ GraphicsGetBuiltinShader( "SHADER_TEXT_VISUAL_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_TEXT_VISUAL_MULTI_COLOR_TEXT_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT );
+
factoryCache.SaveShader( VisualFactoryCache::TEXT_SHADER_MULTI_COLOR_TEXT, shader );
}
}
shader = factoryCache.GetShader( VisualFactoryCache::TEXT_SHADER_SINGLE_COLOR_TEXT_WITH_STYLE );
if( !shader )
{
- shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_SINGLE_COLOR_TEXT_WITH_STYLE );
+ shader = DevelShader::New(
+ GraphicsGetBuiltinShader( "SHADER_TEXT_VISUAL_SHADER_VERT" ),
+ GraphicsGetBuiltinShader( "SHADER_TEXT_VISUAL_SINGLE_COLOR_TEXT_WITH_STYLE_SHADER_FRAG" ),
+ DevelShader::ShaderLanguage::SPIRV_1_0,
+ Property::Map()
+ );
+
shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT );
factoryCache.SaveShader( VisualFactoryCache::TEXT_SHADER_SINGLE_COLOR_TEXT_WITH_STYLE, shader );
}