Commit Graph

63 Commits

Author SHA1 Message Date
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
James Chen 5c70548742 issue #4234: 'Event* event' needs to be in 'TouchScriptData' struct. 2014-03-04 13:42:06 +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 fe1160cd8c changes in API to support 3D 2014-02-22 19:16:42 -08:00
James Chen 0d8846d876 closed #4097: Adds a macro to disable inserting script binding relevant codes. 2014-02-20 16:40:46 +08:00
James Chen 5e6130c92c issue #4058: Get rid of Object ,rename it to Ref. 2014-02-20 10:53:49 +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
Huabing.Xu a1629a09e8 fix layerColor bug for shader change 2014-01-10 10:03:47 +08:00
minggo ac8a7b4ce1 Merge pull request #4983 from dabingnn/develop_layerColorBug
fix layerColor occlude sprite bug on android
2014-01-07 06:25:59 -08:00
Huabing.Xu b1d9d5e55e fix layerColor occlude sprite bug on android 2014-01-07 22:08:00 +08:00
walzer 64af0de648 update copyrights for 2014, in cocos/2d/ folder 2014-01-07 11:25:07 +08:00
Dhilan007 49d8b76b9e fix crash related to not support the z length modifier for size_t on vs 2014-01-05 11:59:32 +08:00
minggo 0e9b43248c Merge pull request #4728 from dabingnn/develop_removeCommandPool
Develop remove command pool
2013-12-29 21:53:12 -08:00
James Chen febc19ea8d Some warning fixes on linux. 2013-12-26 23:06:16 -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
Ricardo Quesada 59fee6b8d2 replaces std::for_each with for()
replaces `std::for_each` with C++11 `for( : )`
2013-12-19 13:34:41 -08:00
boyu0 ef54ed3c15 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into HEAD
Conflicts:
	cocos/2d/CCLabel.cpp
	cocos/2d/CCLabel.h
	cocos/2d/CCLabelBMFont.cpp
	cocos/2d/CCLabelBMFont.h
	cocos/2d/CCLayer.cpp
	cocos/2d/CCLayer.h
	cocos/2d/CCNode.cpp
	extensions/GUI/CCControlExtension/CCControl.cpp
	extensions/GUI/CCControlExtension/CCControlButton.cpp
	extensions/GUI/CCControlExtension/CCScale9Sprite.cpp
	tools/tojs/cocos2dx.ini
2013-12-19 17:05:59 +08:00
Ricardo Quesada d138925aa0 Merge branch 'develop' into node_fixes 2013-12-18 18:33:56 -08:00
Ricardo Quesada b9a64725ab iterator in Sprite fixes
And replaces some std::for_each() with for() to prevent another object in the stack.
2013-12-18 18:33:04 -08:00
boyu0 082c3d274a Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into edit_hungarian_notation 2013-12-18 18:05:30 +08:00
boyu0 e07c4ffec1 Change NULL to nullptr, edit hungarian notation. 2013-12-18 17:47:20 +08:00
Ricardo Quesada 33c4f891a0 Adds 'CC' to renderer files 2013-12-17 18:41:09 -08:00
Ricardo Quesada d6be81b7a8 The Renderer is not a singleton
In order to access, you have to get it from the Director

`Director::getInstance()->getRenderer()`
2013-12-17 17:50:17 -08:00
James Chen 3829f841e7 Small fix for Vector::insert(const Vector<T>& other), renames it to Vector::pushBack(const Vector<T>& other). 2013-12-17 18:09:07 +08:00
James Chen d16fa07661 Removes Vector<T>::forEach, please use std::for_each instead. The same as Vector<T>::sort. 2013-12-17 17:45:29 +08:00
boyu0 f9f816caf9 issue #3162: change log to cpp file 2013-12-16 03:42:54 +08:00
Ricardo Quesada 3838268fd0 Merge branch 'develop' into newRenderer 2013-12-14 19:28:01 -08:00
boyu0 defae416f3 Merge branch 'develop' of git://github.com/cocos2d/cocos2d-x into bug3162_opacity_incorrect 2013-12-13 18:09:39 +08:00
James Chen 189cf1a076 Some fixes for XXX:getDescription. 2013-12-13 16:51:57 +08:00
boyu0 d4c8fb0be6 Merge branch 'develop' of git://github.com/cocos2d/cocos2d-x into bug3162_opacity_incorrect 2013-12-13 10:47:52 +08:00
Ricardo Quesada 61cc365d9e Merge branch 'develop' into newRenderer
Conflicts:
	cocos/2d/CCGLProgram.h
	cocos/2d/CCLabelTTF.h
2013-12-12 14:41:42 -08:00
Ricardo Quesada a8c317bd83 getDescription() works as expected
renames `description` to `getDescription`. Adds `virtual`  to it.
Adds `getDescription` to missing nodes.
2013-12-12 14:30:22 -08:00
boyu0 7cbce905bf issue #3162: delete duplicate functions. 2013-12-11 16:12:14 +08:00
Ricardo Quesada 8df96b1a6e Layercolor uses the new API 2013-12-06 17:59:34 -08:00
boyu0 af5f496861 issue #3162: Merge Node and NodeRGBA, fix bug: Child's opacity will not be changed when its parent's setCascadeOpacityEnabled was set to true and opacity was changed. 2013-12-06 18:07:16 +08:00
Ricardo Quesada f68dcd9969 Merge branch 'develop' into newRenderer
Conflicts:
	build/cocos2d_libs.xcodeproj/project.pbxproj
	samples/Cpp/TestCpp/Classes/tests.h
2013-12-05 11:47:46 -08:00
James Chen 499a0404d4 issue #2790: Renames some functions in Vector<T>. Makes it more like stl vector. 2013-12-05 10:35:10 +08:00
James Chen 9928e8bef1 issue #2790: Uses Vector<T>::getObjectAtIndex instead of Vector<T>[] operator to avoid some mistakes. 2013-12-04 16:01:55 +08:00
James Chen cb215bc931 issue #2790: Vector<T> replaces Array* finished. 2013-12-04 16:01:55 +08:00
James Chen 1d5984b29a issue #2790: Vector::makeObjectsPerformCallback —> Vector::forEach 2013-12-04 16:01:02 +08:00
James Chen 90062b656d issue #2790: Node::_children is Vector<Node*> now. 2013-12-04 16:00:17 +08:00
Huabing.Xu 757f1abc7f 1. protected render command construction/destruction function.
2. use renderCommandPool<T> to allocate and deallocate command
3. use releaseToCommandPool interface to push command back to pool
2013-12-03 14:08:47 +08:00
Huabing.Xu d33f05b3f0 refactor: custom command use a non parameter constructor and a reentrant init function 2013-12-03 11:17:21 +08:00
Nite Luo f3830985bb Sprite now using New renderer 2013-11-25 16:33:05 -08:00
Nite Luo b67ec6618f Finish converting LayerColor start working on particle system 2013-11-22 17:14:24 -08:00