X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Frendering-textured-cube%2Frendering-textured-cube.cpp;h=e3df9de9da99f84073e52b26e949639d3c696b2f;hb=1b19fd140ff139b5854a1a62447faf31b175d8f6;hp=b5f64309c1be0e7c97e9a39633bea7d67a448b2d;hpb=1a473d5189ca7e7d55aca3a64a8a4ff2dc3b6c67;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/rendering-textured-cube/rendering-textured-cube.cpp b/examples/rendering-textured-cube/rendering-textured-cube.cpp index b5f6430..e3df9de 100644 --- a/examples/rendering-textured-cube/rendering-textured-cube.cpp +++ b/examples/rendering-textured-cube/rendering-textured-cube.cpp @@ -15,14 +15,15 @@ * */ -#include #include +#include using namespace Dali; using namespace Toolkit; namespace { +// clang-format off /* * Vertex shader @@ -56,22 +57,22 @@ void main()\n gl_FragColor = texColor;\n }\n ); +// clang-format on const char* TEXTURE_URL = DEMO_IMAGE_DIR "wood.png"; -} +} // namespace // This example shows how to create textured cube // class TexturedCubeController : public ConnectionTracker { public: - - TexturedCubeController( Application& application ) - : mApplication( application ) + TexturedCubeController(Application& application) + : mApplication(application) { // Connect to the Application's Init signal - mApplication.InitSignal().Connect( this, &TexturedCubeController::Create ); + mApplication.InitSignal().Connect(this, &TexturedCubeController::Create); } ~TexturedCubeController() @@ -80,11 +81,11 @@ public: } // The Init signal is received once (only) during the Application lifetime - void Create( Application& application ) + void Create(Application& application) { // Get a handle to the window Window window = application.GetWindow(); - window.SetBackgroundColor( Color::WHITE ); + window.SetBackgroundColor(Color::WHITE); // Step 1. Create shader CreateCubeShader(); @@ -105,13 +106,13 @@ public: PlayAnimation(); // Respond to a click anywhere on the window - window.GetRootLayer().TouchedSignal().Connect( this, &TexturedCubeController::OnTouch ); + window.GetRootLayer().TouchedSignal().Connect(this, &TexturedCubeController::OnTouch); // Respond to key events - window.KeyEventSignal().Connect( this, &TexturedCubeController::OnKeyEvent ); + window.KeyEventSignal().Connect(this, &TexturedCubeController::OnKeyEvent); } - bool OnTouch( Actor actor, const TouchEvent& touch ) + bool OnTouch(Actor actor, const TouchEvent& touch) { // quit the application mApplication.Quit(); @@ -124,11 +125,11 @@ public: * Will use this to quit the application if Back or the Escape key is received * @param[in] event The key event information */ - void OnKeyEvent( const KeyEvent& event ) + void OnKeyEvent(const KeyEvent& event) { - if( event.GetState() == KeyEvent::DOWN ) + if(event.GetState() == KeyEvent::DOWN) { - if ( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) + if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK)) { mApplication.Quit(); } @@ -149,69 +150,57 @@ public: }; Vertex vertices[] = { - { Vector3( 1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f, 1.0f,-1.0f ), Vector2( 0.0, 1.0 ) }, - { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( 1.0f,-1.0f, 1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f, 1.0f, 1.0f ), Vector2( 0.0, 1.0 ) }, - { Vector3( 1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( 1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f, 1.0f,-1.0f ), Vector2( 0.0, 1.0 ) }, - { Vector3( 1.0f,-1.0f, 1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f,-1.0f,-1.0f ), Vector2( 0.0, 1.0 ) }, - { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 0.0, 1.0 ) }, - { Vector3( 1.0f, 1.0f,-1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f, 1.0f, 1.0f ), Vector2( 0.0, 1.0 ) }, - { Vector3( 1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 1.0, 0.0 ) }, - { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) }, - { Vector3( 1.0f,-1.0f, 1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( 1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) }, - { Vector3( 1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f,-1.0f, 1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) }, - { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) }, - { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) }, - { Vector3( 1.0f, 1.0f,-1.0f ), Vector2( 1.0, 1.0 ) }, - { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 1.0, 0.0 ) }, - { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) }, + {Vector3(1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, 1.0f, -1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, 1.0f, -1.0f), Vector2(0.0, 1.0)}, + {Vector3(-1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)}, + {Vector3(1.0f, -1.0f, 1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, 1.0f, 1.0f), Vector2(0.0, 1.0)}, + {Vector3(1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)}, + {Vector3(1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, 1.0f, -1.0f), Vector2(0.0, 1.0)}, + {Vector3(1.0f, -1.0f, 1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, -1.0f, -1.0f), Vector2(0.0, 1.0)}, + {Vector3(-1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)}, + {Vector3(-1.0f, 1.0f, -1.0f), Vector2(0.0, 1.0)}, + {Vector3(1.0f, 1.0f, -1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, 1.0f, 1.0f), Vector2(0.0, 1.0)}, + {Vector3(1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, -1.0f, -1.0f), Vector2(1.0, 0.0)}, + {Vector3(-1.0f, 1.0f, -1.0f), Vector2(0.0, 0.0)}, + {Vector3(-1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)}, + {Vector3(1.0f, -1.0f, 1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)}, + {Vector3(1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)}, + {Vector3(1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, -1.0f, 1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)}, + {Vector3(-1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)}, + {Vector3(-1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)}, + {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)}, + {Vector3(1.0f, 1.0f, -1.0f), Vector2(1.0, 1.0)}, + {Vector3(-1.0f, 1.0f, -1.0f), Vector2(1.0, 0.0)}, + {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)}, }; - VertexBuffer vertexBuffer = VertexBuffer::New( Property::Map() - .Add( "aPosition", Property::VECTOR3 ) - .Add( "aTexCoord", Property::VECTOR2 ) ); - vertexBuffer.SetData( vertices, sizeof(vertices) / sizeof(Vertex) ); + VertexBuffer vertexBuffer = VertexBuffer::New(Property::Map() + .Add("aPosition", Property::VECTOR3) + .Add("aTexCoord", Property::VECTOR2)); + vertexBuffer.SetData(vertices, sizeof(vertices) / sizeof(Vertex)); // create indices const unsigned short INDEX_CUBE[] = { - 2, 1, 0, - 5, 4, 3, - 8, 7, 6, - 11, 10, 9, - 14, 13, 12, - 17, 16, 15, - 20, 19, 18, - 23, 22, 21, - 26, 25, 24, - 29, 28, 27, - 32, 31, 30, - 35, 34, 33 - }; + 2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15, 20, 19, 18, 23, 22, 21, 26, 25, 24, 29, 28, 27, 32, 31, 30, 35, 34, 33}; mGeometry = Geometry::New(); - mGeometry.AddVertexBuffer( vertexBuffer ); - mGeometry.SetIndexBuffer( INDEX_CUBE, - sizeof(INDEX_CUBE)/sizeof(INDEX_CUBE[0]) ); - mGeometry.SetType( Geometry::TRIANGLES ); + mGeometry.AddVertexBuffer(vertexBuffer); + mGeometry.SetIndexBuffer(INDEX_CUBE, + sizeof(INDEX_CUBE) / sizeof(INDEX_CUBE[0])); + mGeometry.SetType(Geometry::TRIANGLES); } /** @@ -222,7 +211,7 @@ public: */ void CreateCubeShader() { - mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER ); + mShader = Shader::New(VERTEX_SHADER, FRAGMENT_SHADER); } /** @@ -233,14 +222,14 @@ public: void CreateTexture() { // Load image from file - PixelData pixels = SyncImageLoader::Load( TEXTURE_URL ); + PixelData pixels = SyncImageLoader::Load(TEXTURE_URL); - Texture texture = Texture::New( TextureType::TEXTURE_2D, pixels.GetPixelFormat(), pixels.GetWidth(), pixels.GetHeight() ); - texture.Upload( pixels, 0, 0, 0, 0, pixels.GetWidth(), pixels.GetHeight() ); + Texture texture = Texture::New(TextureType::TEXTURE_2D, pixels.GetPixelFormat(), pixels.GetWidth(), pixels.GetHeight()); + texture.Upload(pixels, 0, 0, 0, 0, pixels.GetWidth(), pixels.GetHeight()); // create TextureSet mTextureSet = TextureSet::New(); - mTextureSet.SetTexture( 0, texture ); + mTextureSet.SetTexture(0, texture); } /** @@ -248,12 +237,12 @@ public: */ void CreateRenderer() { - mRenderer = Renderer::New( mGeometry, mShader ); - mRenderer.SetTextures( mTextureSet ); + mRenderer = Renderer::New(mGeometry, mShader); + mRenderer.SetTextures(mTextureSet); // Face culling is enabled to hide the backwards facing sides of the cube // This is sufficient to render a single object; for more complex scenes depth-testing might be required - mRenderer.SetProperty( Renderer::Property::FACE_CULLING_MODE, FaceCullingMode::BACK ); + mRenderer.SetProperty(Renderer::Property::FACE_CULLING_MODE, FaceCullingMode::BACK); } /** @@ -264,13 +253,13 @@ public: Window window = mApplication.GetWindow(); float quarterWindowWidth = window.GetSize().GetWidth() * 0.25f; - mActor = Actor::New(); - mActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); - mActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - mActor.SetProperty( Actor::Property::POSITION, Vector3( 0.0f, 0.0f, 0.0f ) ); - mActor.SetProperty( Actor::Property::SIZE, Vector3( quarterWindowWidth, quarterWindowWidth, quarterWindowWidth ) ); - mActor.AddRenderer( mRenderer ); - window.Add( mActor ); + mActor = Actor::New(); + mActor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER); + mActor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mActor.SetProperty(Actor::Property::POSITION, Vector3(0.0f, 0.0f, 0.0f)); + mActor.SetProperty(Actor::Property::SIZE, Vector3(quarterWindowWidth, quarterWindowWidth, quarterWindowWidth)); + mActor.AddRenderer(mRenderer); + window.Add(mActor); } /** @@ -278,29 +267,29 @@ public: */ void PlayAnimation() { - mAnimation = Animation::New( 5.0f ); - mAnimation.SetLooping( true ); - mAnimation.AnimateBy( Property( mActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::ZAXIS ) ); - mAnimation.AnimateBy( Property( mActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::YAXIS ) ); - mAnimation.AnimateBy( Property( mActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::XAXIS ) ); + mAnimation = Animation::New(5.0f); + mAnimation.SetLooping(true); + mAnimation.AnimateBy(Property(mActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::ZAXIS)); + mAnimation.AnimateBy(Property(mActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::YAXIS)); + mAnimation.AnimateBy(Property(mActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::XAXIS)); mAnimation.Play(); } private: - Application& mApplication; + Application& mApplication; - Renderer mRenderer; - Shader mShader; - Geometry mGeometry; + Renderer mRenderer; + Shader mShader; + Geometry mGeometry; TextureSet mTextureSet; - Actor mActor; - Animation mAnimation; + Actor mActor; + Animation mAnimation; }; -int DALI_EXPORT_API main( int argc, char **argv ) +int DALI_EXPORT_API main(int argc, char** argv) { - Application application = Application::New( &argc, &argv ); - TexturedCubeController test( application ); + Application application = Application::New(&argc, &argv); + TexturedCubeController test(application); application.MainLoop(); return 0; }