Commit Graph

119 Commits

Author SHA1 Message Date
Huabing.Xu 030394bffe refactor the rendering and creation of DrawNode
make LayerColor rendering safer
2015-01-23 18:19:03 +08:00
Huabing.Xu 65b6500491 Merge branch 'v3' into FixCrashOnWin32
Conflicts:
	cocos/2d/CCDrawNode.cpp
	cocos/renderer/ccShaders.cpp
2015-01-20 18:09:11 +08:00
Huabing.Xu 79eee9b145 fix crash on windows 2015-01-20 16:50:51 +08:00
Nite Luo 4a440e66c9 Refactor draw command 2015-01-15 14:00:49 -08:00
huangshiwu 65e97450d0 fix DrawNode init error 2015-01-15 11:51:21 +08:00
huangshiwu fea492ab4f DrawNode enable draw different size points 2015-01-13 22:30:50 +08:00
Jun Hiroe e4d560b658 Replace tabs with spaces in cocos/2d dir 2015-01-08 20:17:45 +09:00
huangshiwu f41f00fcb2 make rotated rect draw correctly 2015-01-07 11:44:16 +08:00
huangshiwu ac7ddad4ac DrawNode override drawPoints function to set pointsize, fix draw points use last color bug and drawRect behavior bug 2015-01-07 11:02:31 +08:00
huangshiwu b866a58fc4 DrawNode::drawPolygon refactor 2014-11-27 18:31:04 +08:00
minggo db659107d3 Merge pull request #9052 from huangshiwu/v3_fixbug
fix ui crash bug caused by DrawNode
2014-11-07 10:33:08 +08:00
huangshiwu ace9933d72 fix ui crash bug caused by DrawNode 2014-11-07 10:05:29 +08:00
Vladimir Timofeev 2835b094da Cleanup order of fields initialization.
Make initialization order to match declarations.
This change twice reduces number of warnings when compiling on MacOS X with Xcode 6.1
Warnings was like "Field 'XXXX' will be initialized after field 'YYYY'"
2014-10-30 17:28:41 +03:00
James Chen 603700179e closed #8843: Fixes DrawNode::drawPoint crash and uses VAO if it's available when draw points. 2014-10-24 12:03:11 +08:00
minggo b144eb345a Merge pull request #8643 from huangshiwu/v3_fixDrawNodebug
fix DrawNode's memory leak -- delete vaos those are generated and forget...
2014-10-11 17:31:17 +08:00
huangshiwu 184d9356b8 fix DrawNode's memory leak -- delete vaos those are generated and forget to release 2014-10-11 12:00:14 +08:00
Dhilan007 83150aa4d1 fix warns and memory leak 2014-10-09 17:19:43 +08:00
huangshiwu c8bdba69ad fix bug produce by CCDrawNode in test Node:UI-GUI Editor test-ScrollView PageView ListView 2014-09-17 14:00:40 +08:00
huangshiwu 11d8829b3a Deprecate DrawPrimitives and enhance DrawNode --little modify 2014-09-12 14:50:41 +08:00
huangshiwu 6182a872c6 Deprecate DrawPrimitives and enhance DrawNode --more modify 2014-09-12 11:12:20 +08:00
huangshiwu 8922121ed1 Deprecate DrawPrimitives and enhance DrawNode --make some modify 2014-09-12 07:33:34 +08:00
huangshiwu d9634057ab Merge branch 'v3' of https://github.com/cocos2d/cocos2d-x into v3_drawnode_prbk 2014-09-11 16:41:54 +08:00
huangshiwu fb1d47900c Deprecate DrawPrimitives and enhance DrawNode 2014-09-11 15:39:56 +08:00
Ricardo Quesada 9082ca18c3 Platform fixed 2014-09-09 16:50:02 -07:00
minggo 3679d66c8e remove unneeded includes 2014-08-29 15:39:52 +08:00
Ricardo Quesada 3dda35b4ef Adds `std::nothrow` to `new`
Since cocos2d-x doesn't support exceptions, it is important to add
`std::nothrow` to all the `new` statements
2014-08-27 16:31:57 -07:00
minggo d0ca9a4da5 remove unneeded include header files 2014-08-27 13:39:50 +08:00
minggo b9c51e6994 remove unneeded codes 2014-08-26 18:19:28 +08:00
Dhilan007 dbcb20b886 Dispatch EVENT_RENDERER_RECREATED event when renderer was recreated on android/wp8.
Make clear EVENT_COME_TO_FOREGROUND event.
2014-07-09 23:03:04 +08:00
Ricardo Quesada 1b8d0d88df Adds setNormalizedPosition()
Changes in `visit()` were done in order to do it
in a robust and fast way.
2014-05-30 16:42:05 -07:00
Ricardo Quesada dc711643cd Squashed commit of the following:
commit a9572b8913f3a38b59adbd7b4017ab9848a6b2b5
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed May 14 10:03:44 2014 -0700

    math renames

    `Vector2` -> `Vec2`
    `Vector3` -> `Vec3`
    `Vector4` -> `Vec4`
    `Matrix` -> `Mat4`

commit 4e107f4bd854c26bfceb52b063d6bd9cea02d6a3
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 09:24:28 2014 -0700

    raw version of rename Vector3

commit 1d115573ebe96a5fc815fa44fbe6417ea7dba841
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 09:07:14 2014 -0700

    rename Vector2 after merge

commit ab2ed58c129dbc30a4c0970ed94568c5d271657b
Merge: 1978d2d 86fb75a
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 09:05:30 2014 -0700

    Merge branch 'v3' into v3_renameMathClassName

    Conflicts:
    	tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIButtonTest/UIButtonTest_Editor.cpp
    	tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UICheckBoxTest/UICheckBoxTest_Editor.cpp
    	tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp
    	tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest.cpp
    	tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp

commit 1978d2d174877172ccddc083020a1bbf43ad3b39
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 08:51:45 2014 -0700

    rename vector2 in tests/cpp-empty-test folder

commit d4e0ff13dcce62724d2fece656543f26aa28e467
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:58:23 2014 -0700

    rename vector2 in tests/cpp-tests cpp files

commit be50ca2ec75e0fd32a6fcdaa15fe1ebb4cafe79f
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:52:57 2014 -0700

    rename vector2 in tests/cpp-tests head files

commit 6daef564400d4e28c4ce20859a68e0f583fed125
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:49:48 2014 -0700

    rename vector2 in extension folder

commit 8f3f0f65ceea92c9e7a0d87ab54e62220c5572e2
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:47:22 2014 -0700

    rename vector2 in cocos/2d cpp files

commit e1f3105aae06d595661a3030f519f7cc13aefbed
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:44:39 2014 -0700

    rename vector2 in cocos/2d head files

commit 6708d890bfe486109120c3cd4b9fe5c078b7108f
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:40:59 2014 -0700

    rename vector2 in cocos/base folder

commit d3978fa5447c31ea2f3ece5469b7e746dfba4248
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:40:43 2014 -0700

    rename vector2 in cocos/deprecated folder

commit 4bff45139363d6b9706edbbcf9f322d48b4fd019
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:40:26 2014 -0700

    rename vector2 in cocos/editor-support folder

commit 353d244c995f8b5d14f635c52aed8bc5e5fc1a6f
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:36:48 2014 -0700

    rename vector2 in cocos/ui folder

commit 758b8f4d513084b9922d7242e9b8f2c7f316de6c
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:32:39 2014 -0700

    rename vector2 in cocos/renderer folder

commit 0bd2710dd8714cecb993880bc37affd9ecb05c27
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:32:15 2014 -0700

    rename vector2 in cocos/physics folder

commit b7f0581c4587348bdbc1478d5374c2325735f21d
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:25:01 2014 -0700

    rename vector2 in cocos/math folder

commit a8631a8e1a4e2740807ccd9be9d70de6ecaad7dd
Author: Huabing.Xu <dabingnn@gmail.com>
Date:   Wed May 14 00:16:55 2014 -0700

    rename Vector2 to Vec2
    deprecate typedef Vector2
2014-05-14 10:07:09 -07:00
Ricardo Quesada 012f1020ca GLProgramState fixes
It is possible to submit to the Renderer a Sprite with custom uniforms
(although it won't be batched).
It is possible to use a custom shader + uniforms on Sprite with
subclassing Sprite
2014-05-12 19:12:56 -07:00
Ricardo Quesada 77c03fcf11 ShaderCache -> GLProgramCache 2014-05-09 18:39:25 -07:00
Ricardo Quesada 62d9c24518 moves shaders files from 2d/ to renderer/ 2014-05-08 18:01:48 -07:00
Ricardo Quesada 51f498fc94 fixed deprecation warnings 2014-05-08 16:42:36 -07:00
Ricardo Quesada 8f2ba467ff Yeahhhhhh
it is working
2014-05-08 12:34:26 -07:00
Ricardo Quesada 40fe815ab9 Squashed commit of the following:
commit c16dcfaaea0922039aad05bce1f4efed18e04871
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 19:05:18 2014 -0700

    more linux fixes

commit 1553795976c9090a1b46deb53d12910fe0676008
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 19:04:04 2014 -0700

    more linux fixes

commit 1e43a8cabff33cbf25aa5eb5412f53a878222d83
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 19:02:07 2014 -0700

    fixes linux isuses

commit 723a445dd6411f91846da2b801248ad8298174f1
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:58:50 2014 -0700

    more linux fixes

commit 533c8025e794fc76cef02f396b3a93b3d7f4cfc8
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:57:33 2014 -0700

    more linux fixes

commit 4ba1e84959670bcbf044f18d1c0d4b3cb3be4090
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:53:43 2014 -0700

    more linux fixes

commit 1f8e011f306a47ed4134224e5e349929201f0539
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:49:28 2014 -0700

    more linux fixes

commit 3e2033100822ff6d532a1b4f012337491dc11920
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:47:43 2014 -0700

    more linux fixes

commit 2e708863c75fd032f1b2396dfdf1d31f7a62b713
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:46:00 2014 -0700

    more linux fixes

commit 861b5b92a6efd4de7b926c20d636ce9d749b293f
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:43:15 2014 -0700

    more linux fixes

commit 2a43365a0c1755e9b9cada53301be1a20adb31cf
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:36:06 2014 -0700

    more fixes for linux

commit 7d332bf911892f87c7824d2a5da7bf73ce7ec411
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:35:29 2014 -0700

    more fixes for linux

commit f1becc17d3316dfe3678c23c9dcedb7a447d9235
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:34:44 2014 -0700

    more fixes for linux

commit d2e5959bb0dde921dd5e73be1d8acc3b3f50e51d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:33:45 2014 -0700

    fixes for linux

commit ad9b633c352107cf0e8b060a0e23d6e6a3f5e80f
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:16:48 2014 -0700

    compiles on Windows

commit 4425ee8e5de8f42a2d6050e4470109600dce8b5d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Apr 30 18:07:20 2014 -0700

    fix builder
2014-04-30 19:09:13 -07:00
Ricardo Quesada b5f513ce16 Merge branch 'v3' into improved_directory_structure 2014-04-30 13:15:10 -07:00
Huabing.Xu 16105df503 getNormalize->getNormalized 2014-05-01 01:10:18 +08:00
Huabing.Xu ea4fee2c31 refactor normalize in Vector2 2014-04-30 18:07:05 +08:00
Ricardo Quesada 8bb8416c26 Improved directory structure 2014-04-29 17:37:36 -07:00
Ricardo Quesada 9b118e5e96 Squashed commit of the following:
commit 519fcd7f68e3586c376fd5e8d4a0ee220a48d225
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 10:10:06 2014 -0700

    Updates templates files

commit 2b07843ebe592f56b2abc544ccf66d441bb19fc5
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 10:08:19 2014 -0700

    compiles on Windows

commit b175522ef7205eaab3bd3f26c27c5d6514cbe2a4
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:55:30 2014 -0700

    adds cocos2d.h

commit 4c3d14f929bac017b93ca843b4f149d352264a30
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:54:24 2014 -0700

    re-adds missing files

commit f729181728959260d14c4152555534f5beec8e05
Merge: 148da79 2adac67
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:51:12 2014 -0700

    Merge branch 'includes_fixes' of github.com:ricardoquesada/cocos2d-x into includes_fixes

commit 148da79010c5dffeab885933624cffaf3d588852
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:49:12 2014 -0700

    Adds SimpleAudioEngine

commit 2adac67019180ec82b7bd03f0b67c12f62e29e77
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:47:45 2014 -0700

    Compiles for Android

commit 4a300d1b9225fa5708f25a69a50bb531f0ac1a32
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:13:35 2014 -0700

    Fixes the includes
2014-04-26 10:11:22 -07:00
Huabing.Xu 63b52dd287 replace Point with Vector2 in cocos folder cpp file 2014-04-15 18:13:57 +08:00
Huabing.Xu 3e16857c92 remove kmMat4 interface in class DrawNode 2014-04-09 09:59:56 +08:00
Huabing.Xu 3837c23ebe draw() using Matrix instead of kmMat4 2014-04-08 22:07:35 +08:00
Huabing.Xu 2e315fb215 migrate Vertex2f to Vector2 2014-04-02 15:25:37 +08:00
Ricardo Quesada a0ab8fcdf3 onDraw() updated
`onDraw()` receives `const kmMat4 &transform` and `bool
transformUpdated`.

`CC_NODE_DRAW_SETUP()` is no longer used in our code.
`_modelViewTransform` is only used as a cache.
2014-03-05 15:49:08 -08:00
Ricardo Quesada d78304599d Cache working OK.
Performance increased in 20% for static objects.
2014-02-28 16:10:48 -08:00
Ricardo Quesada eb66ddd931 visit and draw improved.
`visit()` and `draw()` are improved.
they both receive:
 - `Renderer`
 - `kmMat4` for transformation
 - `bool` whether or not the transform changed from the previous frame

Although `draw` and `visit` are not using the 3 new parameters,
they will start using it in the coming days (or weeks, or months).

Those parameters are needed for:
 - `Renderer` shouldn't be a singleton. There should be one renderer per Director. There could be more than one renderer
 - we should get rid of `kmGLXXX` functions since nodoby knows what is happening. the `kmMat4` is for that.
 - whenever possible, we should try to optimize the multiplications. the `dirty` flag is for that.

We need those changes, so, it is better to change the API now, and not right after v3.0-final is released.
2014-02-27 21:43:54 -08:00
Ricardo Quesada 82700339c0 Adds a way to print the renderer vertices 2014-02-07 19:37:44 -08:00
Ricardo Quesada 5fcbf42356 GlobalZOrder is used for render priority...
...and not vertexZ

Node::setGlobalZOrder() is used to change that.

Node::setZOrder() -> Node::setLocalZOrder();
2014-01-18 11:38:06 -08:00
Ricardo Quesada 8931d968c0 Renderer uses a float as a key
Instead of using a 64-bit int key with viewport, opaque and depth,
it only uses a 32-bit float with only the depth.
Saves time in:
 - No need to convert the 32-bit float into 24-bit int
 - keys are shorter
2014-01-17 16:08:29 -08:00
Ricardo Quesada d0dbf34319 removes "include "cocos2d.h" from cocos2d files 2014-01-16 21:35:58 -08:00
James Chen 2133c0e566 Merge commit 'refs/pull/3938/head' of git://github.com/cocos2d/cocos2d-x into drawnode
Conflicts:
	cocos/2d/CCDrawNode.h
2014-01-09 17:03:08 +08:00
walzer 64af0de648 update copyrights for 2014, in cocos/2d/ folder 2014-01-07 11:25:07 +08:00
James Chen cf006df9ff closed #2865: Deprecates CCNotificationCenter, uses EventDispatcher instead. 2013-12-31 10:54:37 +08:00
boyu0 6bc0a7066f change CustomCommand variable to class member. 2013-12-26 21:19:12 +08:00
boyu0 f878864794 Specialize GroupCommand and CustomCommand, change generateCommand to new. 2013-12-26 15:41:47 +08:00
boyu0 c6cc77e75b Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into edit_hungarian_notation 2013-12-19 09:45:21 +08:00
Ricardo Quesada 903844c7bd Removes unneeded files
New functionality is merged into the 'official' classes
2013-12-18 11:44:45 -08:00
boyu0 e07c4ffec1 Change NULL to nullptr, edit hungarian notation. 2013-12-18 17:47:20 +08:00
minggo b67d567a79 replace long with int or ssize_t 2013-12-05 17:22:22 +08:00
James Chen 424431690a Fixing warning generated by VS2012. 2013-11-20 10:39:30 +08:00
bmanGH 2687ee8915 put '{' in a new line to follow cocos2d-x coding style 2013-11-13 14:52:16 +08:00
bmanGH 683ce1692d Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into feature/configuration_VAO_runtime
Conflicts:
	cocos2dx/CCConfiguration.cpp
	cocos2dx/draw_nodes/CCDrawNode.cpp
	cocos2dx/particle_nodes/CCParticleSystemQuad.cpp
	cocos2dx/platform/android/CCEGLView.cpp
	cocos2dx/platform/ios/EAGLView.mm
	cocos2dx/textures/CCTextureAtlas.cpp
	cocos2dx/textures/CCTextureAtlas.h
2013-11-12 20:18:04 +08:00
Ricardo Quesada ddb0111392 continue replacing `const char*` with `const std::string&`
This patch includes:

* Continue replacing `const char*` with `const std::string&`  where it makes sense.
* It also removes some Hungarian notation from the code.
* It fixes some indentation issues in part of the code
* It replaces `int` or `unsigned int` with `long` where it makes sense.
2013-11-06 17:05:13 -08:00
minggo 95acb1b9e3 issue #2905: helloworld build ok on android 2013-10-14 14:01:00 +08:00
PickleMan 01ebb2ac29 Added triangle, quad bezier, cubic bezier drawing to DrawNode 2013-10-13 23:41:55 -04:00
minggo 49d7bbd600 issue #2905: remove sub folders except platform 2013-10-12 15:41:45 +08:00