END_TEST;
}
-//Test if primitive shape loads correctly when told to use too many slices.
-int UtcDaliVisualFactoryGetPrimitiveVisual9(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual9: Request primitive visual with above-cap slices." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::SLICES, Property::Value( 1000000 ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too few slices. (2 slices or less.)
-int UtcDaliVisualFactoryGetPrimitiveVisual10(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual10: Request primitive visual with too few slices." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::SLICES, Property::Value( 2 ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too many stacks.
-int UtcDaliVisualFactoryGetPrimitiveVisual11(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual11: Request primitive visual with too many stacks." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::STACKS, Property::Value( 1000000 ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too few stacks. (1 stack or less.)
-int UtcDaliVisualFactoryGetPrimitiveVisual12(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual12: Request primitive visual with too few stacks." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::STACKS, Property::Value( 1 ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use invalid (zero or negative) dimensions.
-int UtcDaliVisualFactoryGetPrimitiveVisual13(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual13: Request primitive visual with invalid scale dimensions." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::SCALE_DIMENSIONS, Vector3::ZERO );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too low a bevel percentage.
-int UtcDaliVisualFactoryGetPrimitiveVisual14(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual14: Request primitive visual with too low a bevel percentage." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::BEVEL_PERCENTAGE, Property::Value( -1.0f ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too high a bevel percentage.
-int UtcDaliVisualFactoryGetPrimitiveVisual15(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual15: Request primitive visual with too high a bevel percentage." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::BEVEL_PERCENTAGE, Property::Value( 2.0f ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too low a bevel smoothness.
-int UtcDaliVisualFactoryGetPrimitiveVisual16(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual16: Request primitive visual with too low a bevel smoothness." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::BEVEL_SMOOTHNESS, Property::Value( -1.0f ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
-//Test if primitive shape loads correctly when told to use too high a bevel smoothness.
-int UtcDaliVisualFactoryGetPrimitiveVisual17(void)
-{
- //Set up test application first, so everything else can be handled.
- ToolkitTestApplication application;
-
- tet_infoline( "UtcDaliVisualFactoryGetPrimitiveVisual17: Request primitive visual with too high a bevel smoothness." );
-
- //Set up visual properties.
- Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
- propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
- propertyMap.Insert( PrimitiveVisual::Property::BEVEL_SMOOTHNESS, Property::Value( 2.0f ) );
-
- //Test to see if shape loads correctly.
- TestPrimitiveVisualWithProperties( propertyMap, application );
-
- END_TEST;
-}
-
//Test if primitive shape renderer handles the case of not being passed a specific shape to use.
int UtcDaliVisualFactoryGetPrimitiveVisualN1(void)
{
const float DEFAULT_SCALE_RADIUS = 1.0; ///< For cylinders
const float DEFAULT_BEVEL_PERCENTAGE = 0.0; ///< For bevelled cubes
const float DEFAULT_BEVEL_SMOOTHNESS = 0.0; ///< For bevelled cubes
-const Vector4 DEFAULT_COLOR = Vector4( 0.5, 0.5, 0.5, 1.0 ); ///< Grey, for all.
+const Vector4 DEFAULT_COLOR = Vector4( 0.5, 0.5, 0.5, 0.0 ); ///< Grey, for all.
//Property limits
-const int MIN_SLICES = 3; ///< Minimum number of slices for spheres and conics
-const int MIN_STACKS = 2; ///< Minimum number of stacks for spheres and conics
+const int MIN_SLICES = 1; ///< Minimum number of slices for spheres and conics
+const int MIN_STACKS = 1; ///< Minimum number of stacks for spheres and conics
const int MAX_PARTITIONS = 255; ///< Maximum number of slices or stacks for spheres and conics
const float MIN_BEVEL_PERCENTAGE = 0.0; ///< Minimum bevel percentage for bevelled cubes
const float MAX_BEVEL_PERCENTAGE = 1.0; ///< Maximum bevel percentage for bevelled cubes
//Shader properties
const char * const OBJECT_MATRIX_UNIFORM_NAME( "uObjectMatrix" );
-const char * const COLOR_UNIFORM_NAME( "mixColor" );
+const char * const COLOR_UNIFORM_NAME( "uColor" );
const char * const OBJECT_DIMENSIONS_UNIFORM_NAME( "uObjectDimensions" );
const char * const STAGE_OFFSET_UNIFORM_NAME( "uStageOffset" );
precision mediump float;\n
varying mediump vec3 vIllumination;\n
uniform lowp vec4 uColor;\n
- uniform lowp vec4 mixColor;\n
void main()\n
{\n
- vec4 baseColor = mixColor * uColor;\n
- gl_FragColor = vec4( vIllumination.rgb * baseColor.rgb, baseColor.a );\n
+ gl_FragColor = vec4( vIllumination.rgb * uColor.rgb, uColor.a );\n
}\n
);
if( mSlices > MAX_PARTITIONS )
{
mSlices = MAX_PARTITIONS;
- DALI_LOG_WARNING( "Value for slices clamped.\n" );
}
else if ( mSlices < MIN_SLICES )
{
mSlices = MIN_SLICES;
- DALI_LOG_WARNING( "Value for slices clamped.\n" );
}
}
else
if( mStacks > MAX_PARTITIONS )
{
mStacks = MAX_PARTITIONS;
- DALI_LOG_WARNING( "Value for stacks clamped.\n" );
}
else if ( mStacks < MIN_STACKS )
{
mStacks = MIN_STACKS;
- DALI_LOG_WARNING( "Value for stacks clamped.\n" );
}
}
else
if( mScaleDimensions.x <= 0.0 )
{
mScaleDimensions.x = 1.0;
- DALI_LOG_WARNING( "Value for scale dimensions clamped. Must be greater than zero.\n" );
}
if( mScaleDimensions.y <= 0.0 )
{
mScaleDimensions.y = 1.0;
- DALI_LOG_WARNING( "Value for scale dimensions clamped. Must be greater than zero.\n" );
}
if( mScaleDimensions.z <= 0.0 )
{
mScaleDimensions.z = 1.0;
- DALI_LOG_WARNING( "Value for scale dimensions clamped. Must be greater than zero.\n" );
}
}
else
if( mBevelPercentage < MIN_BEVEL_PERCENTAGE )
{
mBevelPercentage = MIN_BEVEL_PERCENTAGE;
- DALI_LOG_WARNING( "Value for bevel percentage clamped.\n" );
}
else if( mBevelPercentage > MAX_BEVEL_PERCENTAGE )
{
mBevelPercentage = MAX_BEVEL_PERCENTAGE;
- DALI_LOG_WARNING( "Value for bevel percentage clamped.\n" );
}
}
else
if( mBevelSmoothness < MIN_SMOOTHNESS )
{
mBevelSmoothness = MIN_SMOOTHNESS;
- DALI_LOG_WARNING( "Value for bevel smoothness clamped.\n" );
}
else if( mBevelSmoothness > MAX_SMOOTHNESS )
{
mBevelSmoothness = MAX_SMOOTHNESS;
- DALI_LOG_WARNING( "Value for bevel smoothness clamped.\n" );
}
}
else
int normalIndex = 0; //Track progress through normals, as vertices are calculated per face.
float minDimension = std::min( std::min( dimensions.x, dimensions.y ), dimensions.z );
- float bevelAmount = 0.5 * std::min( bevelPercentage, minDimension ); //Cap bevel amount if necessary.
+ float bevelScale = 1.0 - bevelPercentage;
+ float bevelAmount = 0.5 * bevelScale * minDimension;
- //Distances from centre to outer edge points.
float outerX = 0.5 * dimensions.x;
float outerY = 0.5 * dimensions.y;
float outerZ = 0.5 * dimensions.z;
- //Distances from centre to bevelled points.
- float bevelX = outerX - bevelAmount;
- float bevelY = outerY - bevelAmount;
- float bevelZ = outerZ - bevelAmount;
+ float bevelX = outerX - ( 0.5 * minDimension - bevelAmount );
+ float bevelY = outerY - ( 0.5 * minDimension - bevelAmount );
+ float bevelZ = outerZ - ( 0.5 * minDimension - bevelAmount );
Vector<Vector3> positions; //Holds object points, to be shared between vertexes.
positions.Resize( numPositions );