mirror of https://github.com/axmolengine/axmol.git
Cache working OK.
Performance increased in 20% for static objects.
This commit is contained in:
parent
13b60c8759
commit
d78304599d
|
@ -35,7 +35,6 @@ THE SOFTWARE.
|
|||
#include "CCDirector.h"
|
||||
#include "TransformUtils.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCQuadCommand.h"
|
||||
|
||||
// external
|
||||
#include "kazmath/GL/matrix.h"
|
||||
|
@ -110,8 +109,7 @@ bool AtlasNode::initWithTexture(Texture2D* texture, int tileWidth, int tileHeigh
|
|||
_quadsToDraw = itemsToRender;
|
||||
|
||||
// shader stuff
|
||||
setShaderProgram(ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_U_COLOR));
|
||||
_uniformColor = glGetUniformLocation( getShaderProgram()->getProgram(), "u_color");
|
||||
setShaderProgram(ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -138,20 +136,18 @@ void AtlasNode::updateAtlasValues()
|
|||
}
|
||||
|
||||
// AtlasNode - draw
|
||||
void AtlasNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void AtlasNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
auto shader = ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP);
|
||||
|
||||
_quadCommand.init(
|
||||
_globalZOrder,
|
||||
_textureAtlas->getTexture()->getName(),
|
||||
shader,
|
||||
_shaderProgram,
|
||||
_blendFunc,
|
||||
_textureAtlas->getQuads(),
|
||||
_quadsToDraw,
|
||||
_modelViewTransform);
|
||||
transform);
|
||||
|
||||
Director::getInstance()->getRenderer()->addCommand(&_quadCommand);
|
||||
renderer->addCommand(&_quadCommand);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ public:
|
|||
|
||||
|
||||
// Overrides
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual Texture2D* getTexture() const override;
|
||||
virtual void setTexture(Texture2D *texture) override;
|
||||
virtual bool isOpacityModifyRGB() const override;
|
||||
|
|
|
@ -199,14 +199,15 @@ void ClippingNode::drawFullScreenQuadClearStencil()
|
|||
kmGLPopMatrix();
|
||||
}
|
||||
|
||||
void ClippingNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void ClippingNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
if(!_visible)
|
||||
return;
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
|
|
@ -95,7 +95,7 @@ public:
|
|||
* @lua NA
|
||||
*/
|
||||
virtual void onExit() override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
protected:
|
||||
ClippingNode();
|
||||
|
|
|
@ -282,7 +282,7 @@ void Director::drawScene()
|
|||
// draw the scene
|
||||
if (_runningScene)
|
||||
{
|
||||
_runningScene->visit(_renderer, identity, true);
|
||||
_runningScene->visit(_renderer, identity, false);
|
||||
_eventDispatcher->dispatchEvent(_eventAfterVisit);
|
||||
}
|
||||
|
||||
|
|
|
@ -239,11 +239,11 @@ void DrawNode::render()
|
|||
CHECK_GL_ERROR_DEBUG();
|
||||
}
|
||||
|
||||
void DrawNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void DrawNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(DrawNode::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void DrawNode::onDraw()
|
||||
|
|
|
@ -92,7 +92,7 @@ public:
|
|||
void onDraw();
|
||||
|
||||
// Overrides
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
protected:
|
||||
DrawNode();
|
||||
|
|
|
@ -679,23 +679,24 @@ void Label::onDraw()
|
|||
CC_PROFILER_STOP("Label - draw");
|
||||
}
|
||||
|
||||
void Label::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Label::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(Label::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void Label::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Label::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
if (! _visible)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
|
|
@ -128,8 +128,8 @@ public:
|
|||
void addChild(Node * child, int zOrder=0, int tag=0) override;
|
||||
|
||||
virtual std::string getDescription() const override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void onDraw();
|
||||
|
||||
virtual FontAtlas* getFontAtlas() const {return _fontAtlas;}
|
||||
|
|
|
@ -581,11 +581,11 @@ void LayerColor::updateColor()
|
|||
}
|
||||
}
|
||||
|
||||
void LayerColor::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void LayerColor::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(LayerColor::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
|
||||
for(int i = 0; i < 4; ++i)
|
||||
{
|
||||
|
|
|
@ -37,7 +37,6 @@ THE SOFTWARE.
|
|||
|
||||
#include "CCEventKeyboard.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
#include "renderer/CCQuadCommand.h"
|
||||
|
||||
NS_CC_BEGIN
|
||||
|
||||
|
@ -266,7 +265,7 @@ public:
|
|||
//
|
||||
// Overrides
|
||||
//
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void onDraw();
|
||||
|
||||
virtual void setContentSize(const Size & var) override;
|
||||
|
|
|
@ -328,7 +328,7 @@ void MotionStreak::reset()
|
|||
void MotionStreak::onDraw()
|
||||
{
|
||||
getShaderProgram()->use();
|
||||
getShaderProgram()->setUniformsForBuiltins(_cachedMV);
|
||||
getShaderProgram()->setUniformsForBuiltins(_modelViewTransform);
|
||||
|
||||
GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX );
|
||||
GL::blendFunc( _blendFunc.src, _blendFunc.dst );
|
||||
|
@ -352,16 +352,16 @@ void MotionStreak::onDraw()
|
|||
#endif // EMSCRIPTEN
|
||||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)_nuPoints*2);
|
||||
CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, _nuPoints*2);
|
||||
}
|
||||
|
||||
void MotionStreak::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void MotionStreak::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if(_nuPoints <= 1)
|
||||
return;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW,&_cachedMV);
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(MotionStreak::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
|
@ -102,19 +102,9 @@ public:
|
|||
virtual bool isOpacityModifyRGB() const override;
|
||||
|
||||
protected:
|
||||
kmMat4 _cachedMV;
|
||||
//renderer callback
|
||||
void onDraw();
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @js ctor
|
||||
*/
|
||||
MotionStreak();
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual ~MotionStreak();
|
||||
|
||||
/** initializes a motion streak with fade in seconds, minimum segments, stroke's width, color and texture filename */
|
||||
|
|
|
@ -92,6 +92,7 @@ Node::Node(void)
|
|||
, _useAdditionalTransform(false)
|
||||
, _transformDirty(true)
|
||||
, _inverseDirty(true)
|
||||
, _transformUpdated(true)
|
||||
// children (lazy allocs)
|
||||
// lazy alloc
|
||||
, _localZOrder(0)
|
||||
|
@ -193,7 +194,7 @@ void Node::setSkewX(float skewX)
|
|||
return;
|
||||
|
||||
_skewX = skewX;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
float Node::getSkewY() const
|
||||
|
@ -207,7 +208,7 @@ void Node::setSkewY(float skewY)
|
|||
return;
|
||||
|
||||
_skewY = skewY;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -255,8 +256,8 @@ void Node::setRotation(float rotation)
|
|||
return;
|
||||
|
||||
_rotationZ_X = _rotationZ_Y = rotation;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
|
||||
#if CC_USE_PHYSICS
|
||||
if (_physicsBody)
|
||||
{
|
||||
|
@ -277,7 +278,7 @@ void Node::setRotation3D(const Vertex3F& rotation)
|
|||
_rotationZ_X == rotation.z)
|
||||
return;
|
||||
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
|
||||
_rotationX = rotation.x;
|
||||
_rotationY = rotation.y;
|
||||
|
@ -307,7 +308,7 @@ void Node::setRotationSkewX(float rotationX)
|
|||
return;
|
||||
|
||||
_rotationZ_X = rotationX;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
float Node::getRotationSkewY() const
|
||||
|
@ -321,7 +322,7 @@ void Node::setRotationSkewY(float rotationY)
|
|||
return;
|
||||
|
||||
_rotationZ_Y = rotationY;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
/// scale getter
|
||||
|
@ -338,7 +339,7 @@ void Node::setScale(float scale)
|
|||
return;
|
||||
|
||||
_scaleX = _scaleY = _scaleZ = scale;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
/// scaleX getter
|
||||
|
@ -355,7 +356,7 @@ void Node::setScale(float scaleX,float scaleY)
|
|||
|
||||
_scaleX = scaleX;
|
||||
_scaleY = scaleY;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
/// scaleX setter
|
||||
|
@ -365,7 +366,7 @@ void Node::setScaleX(float scaleX)
|
|||
return;
|
||||
|
||||
_scaleX = scaleX;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
/// scaleY getter
|
||||
|
@ -381,7 +382,7 @@ void Node::setScaleZ(float scaleZ)
|
|||
return;
|
||||
|
||||
_scaleZ = scaleZ;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
/// scaleY getter
|
||||
|
@ -397,7 +398,7 @@ void Node::setScaleY(float scaleY)
|
|||
return;
|
||||
|
||||
_scaleY = scaleY;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -414,8 +415,8 @@ void Node::setPosition(const Point& position)
|
|||
return;
|
||||
|
||||
_position = position;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
|
||||
#if CC_USE_PHYSICS
|
||||
if (_physicsBody)
|
||||
{
|
||||
|
@ -480,7 +481,7 @@ void Node::setPositionZ(float positionZ)
|
|||
if (_positionZ == positionZ)
|
||||
return;
|
||||
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
|
||||
_positionZ = positionZ;
|
||||
|
||||
|
@ -538,7 +539,7 @@ void Node::setAnchorPoint(const Point& point)
|
|||
{
|
||||
_anchorPoint = point;
|
||||
_anchorPointInPoints = Point(_contentSize.width * _anchorPoint.x, _contentSize.height * _anchorPoint.y );
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -555,7 +556,7 @@ void Node::setContentSize(const Size & size)
|
|||
_contentSize = size;
|
||||
|
||||
_anchorPointInPoints = Point(_contentSize.width * _anchorPoint.x, _contentSize.height * _anchorPoint.y );
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -582,7 +583,7 @@ void Node::ignoreAnchorPointForPosition(bool newValue)
|
|||
if (newValue != _ignoreAnchorPointForPosition)
|
||||
{
|
||||
_ignoreAnchorPointForPosition = newValue;
|
||||
_transformDirty = _inverseDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -906,7 +907,7 @@ void Node::draw()
|
|||
draw(renderer, _modelViewTransform, true);
|
||||
}
|
||||
|
||||
void Node::draw(Renderer* renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Node::draw(Renderer* renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -918,7 +919,7 @@ void Node::visit()
|
|||
visit(renderer, parentTransform, true);
|
||||
}
|
||||
|
||||
void Node::visit(Renderer* renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Node::visit(Renderer* renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// quick return if not visible. children won't be drawn.
|
||||
if (!_visible)
|
||||
|
@ -926,9 +927,10 @@ void Node::visit(Renderer* renderer, const kmMat4 &parentTransform, bool parentT
|
|||
return;
|
||||
}
|
||||
|
||||
bool dirty = _transformDirty || parentTransformDirty;
|
||||
bool dirty = _transformUpdated || parentTransformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = this->transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
|
||||
// IMPORTANT:
|
||||
|
@ -969,17 +971,10 @@ void Node::visit(Renderer* renderer, const kmMat4 &parentTransform, bool parentT
|
|||
kmGLPopMatrix();
|
||||
}
|
||||
|
||||
void Node::transformAncestors()
|
||||
{
|
||||
// remove me
|
||||
CCASSERT(false, "no longer supported");
|
||||
}
|
||||
|
||||
kmMat4 Node::transform(const kmMat4& parentTransform)
|
||||
{
|
||||
kmMat4 ret;
|
||||
kmMat4 transfrom4x4 = this->getNodeToParentTransform();
|
||||
kmMat4Multiply(&ret, &parentTransform, &transfrom4x4);
|
||||
kmMat4 ret = this->getNodeToParentTransform();
|
||||
kmMat4Multiply(&ret, &parentTransform, &ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -1362,19 +1357,20 @@ void Node::setNodeToParentTransform(const kmMat4& transform)
|
|||
{
|
||||
_transform = transform;
|
||||
_transformDirty = false;
|
||||
_transformUpdated = true;
|
||||
}
|
||||
|
||||
void Node::setAdditionalTransform(const AffineTransform& additionalTransform)
|
||||
{
|
||||
CGAffineToGL(additionalTransform, _additionalTransform.mat);
|
||||
_transformDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
_useAdditionalTransform = true;
|
||||
}
|
||||
|
||||
void Node::setAdditionalTransform(const kmMat4& additionalTransform)
|
||||
{
|
||||
_additionalTransform = additionalTransform;
|
||||
_transformDirty = true;
|
||||
_transformUpdated = _transformDirty = _inverseDirty = true;
|
||||
_useAdditionalTransform = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -991,13 +991,13 @@ public:
|
|||
* AND YOU SHOULD NOT DISABLE THEM AFTER DRAWING YOUR NODE
|
||||
* But if you enable any other GL state, you should disable it after drawing your node.
|
||||
*/
|
||||
virtual void draw(Renderer *renderer, const kmMat4& transform, bool transformDirty);
|
||||
virtual void draw(Renderer *renderer, const kmMat4& transform, bool transformUpdated);
|
||||
virtual void draw() final;
|
||||
|
||||
/**
|
||||
* Visits this node's children and draw them recursively.
|
||||
*/
|
||||
virtual void visit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformDirty);
|
||||
virtual void visit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformUpdated);
|
||||
virtual void visit() final;
|
||||
|
||||
|
||||
|
@ -1253,16 +1253,6 @@ public:
|
|||
/// @{
|
||||
/// @name Transformations
|
||||
|
||||
/**
|
||||
* Performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes.
|
||||
*/
|
||||
kmMat4 transform(const kmMat4 &parentTransform);
|
||||
/**
|
||||
* Performs OpenGL view-matrix transformation of it's ancestors.
|
||||
* Generally the ancestors are already transformed, but in certain cases (eg: attaching a FBO)
|
||||
* It's necessary to transform the ancestors again.
|
||||
*/
|
||||
void transformAncestors();
|
||||
/**
|
||||
* Calls children's updateTransform() method recursively.
|
||||
*
|
||||
|
@ -1313,7 +1303,7 @@ public:
|
|||
virtual AffineTransform getWorldToNodeAffineTransform() const;
|
||||
|
||||
|
||||
/** @deprecated Use worldToNodeTransform() instead */
|
||||
/** @deprecated Use getWorldToNodeTransform() instead */
|
||||
CC_DEPRECATED_ATTRIBUTE inline virtual AffineTransform worldToNodeTransform() const { return getWorldToNodeAffineTransform(); }
|
||||
|
||||
/// @} end of Transformations
|
||||
|
@ -1404,8 +1394,8 @@ public:
|
|||
spriteB->setAdditionalTransform(t);
|
||||
@endcode
|
||||
*/
|
||||
void setAdditionalTransform(const AffineTransform& additionalTransform);
|
||||
void setAdditionalTransform(const kmMat4& additionalTransform);
|
||||
void setAdditionalTransform(const AffineTransform& additionalTransform);
|
||||
|
||||
/// @} end of Coordinate Converters
|
||||
|
||||
|
@ -1481,7 +1471,9 @@ protected:
|
|||
|
||||
/// Convert cocos2d coordinates to UI windows coordinate.
|
||||
Point convertToWindowSpace(const Point& nodePoint) const;
|
||||
|
||||
|
||||
kmMat4 transform(const kmMat4 &parentTransform);
|
||||
|
||||
virtual void updateCascadeOpacity();
|
||||
virtual void disableCascadeOpacity();
|
||||
virtual void updateCascadeColor();
|
||||
|
@ -1506,32 +1498,32 @@ protected:
|
|||
float _skewX; ///< skew angle on x-axis
|
||||
float _skewY; ///< skew angle on y-axis
|
||||
|
||||
Point _anchorPointInPoints; ///< anchor point in points
|
||||
Point _anchorPoint; ///< anchor point normalized (NOT in points)
|
||||
Point _anchorPointInPoints; ///< anchor point in points
|
||||
Point _anchorPoint; ///< anchor point normalized (NOT in points)
|
||||
|
||||
Size _contentSize; ///< untransformed size of the node
|
||||
Size _contentSize; ///< untransformed size of the node
|
||||
|
||||
kmMat4 _modelViewTransform; ///< ModelView transform of the Node.
|
||||
|
||||
// "cache" variables are allowed to be mutable
|
||||
mutable kmMat4 _transform; ///< transform
|
||||
mutable bool _transformDirty; ///< transform dirty flag
|
||||
mutable kmMat4 _inverse; ///< inverse transform
|
||||
mutable bool _inverseDirty; ///< inverse transform dirty flag
|
||||
mutable kmMat4 _additionalTransform; ///< transform
|
||||
mutable kmMat4 _transform; ///< transform
|
||||
mutable kmMat4 _inverse; ///< inverse transform
|
||||
bool _useAdditionalTransform; ///< The flag to check whether the additional transform is dirty
|
||||
mutable bool _transformDirty; ///< transform dirty flag
|
||||
mutable bool _inverseDirty; ///< inverse transform dirty flag
|
||||
bool _transformUpdated; ///< Whether or not the Transform object was updated since the last frame
|
||||
|
||||
int _localZOrder; ///< Local order (relative to its siblings) used to sort the node
|
||||
float _globalZOrder; ///< Global order used to sort the node
|
||||
|
||||
int _localZOrder; ///< Local order (relative to its siblings) used to sort the node
|
||||
float _globalZOrder; ///< Global order used to sort the node
|
||||
|
||||
Vector<Node*> _children; ///< array of children nodes
|
||||
Vector<Node*> _children; ///< array of children nodes
|
||||
Node *_parent; ///< weak reference to parent node
|
||||
|
||||
int _tag; ///< a tag. Can be any number you assigned just to identify this node
|
||||
int _tag; ///< a tag. Can be any number you assigned just to identify this node
|
||||
|
||||
void *_userData; ///< A user assingned void pointer, Can be point to any cpp object
|
||||
Ref *_userObject; ///< A user assigned Object
|
||||
void *_userData; ///< A user assingned void pointer, Can be point to any cpp object
|
||||
Ref *_userObject; ///< A user assigned Object
|
||||
|
||||
GLProgram *_shaderProgram; ///< OpenGL shader
|
||||
|
||||
|
@ -1543,9 +1535,9 @@ protected:
|
|||
|
||||
EventDispatcher* _eventDispatcher; ///< event dispatcher used to dispatch all kinds of events
|
||||
|
||||
bool _running; ///< is running
|
||||
bool _running; ///< is running
|
||||
|
||||
bool _visible; ///< is this node visible
|
||||
bool _visible; ///< is this node visible
|
||||
|
||||
bool _ignoreAnchorPointForPosition; ///< true if the Anchor Point will be (0,0) when you position the Node, false otherwise.
|
||||
///< Used by Layer and Scene.
|
||||
|
|
|
@ -82,7 +82,7 @@ void NodeGrid::onGridEndDraw()
|
|||
}
|
||||
}
|
||||
|
||||
void NodeGrid::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void NodeGrid::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// quick return if not visible. children won't be drawn.
|
||||
if (!_visible)
|
||||
|
@ -94,9 +94,10 @@ void NodeGrid::visit(Renderer *renderer, const kmMat4 &parentTransform, bool par
|
|||
renderer->addCommand(&_groupCommand);
|
||||
renderer->pushGroup(_groupCommand.getRenderQueueID());
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = this->transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
|
|
@ -55,7 +55,7 @@ public:
|
|||
void setTarget(Node *target);
|
||||
|
||||
// overrides
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
protected:
|
||||
NodeGrid();
|
||||
|
|
|
@ -145,7 +145,7 @@ The positions are updated at visit because:
|
|||
- using a timer is not guaranteed that it will called after all the positions were updated
|
||||
- overriding "draw" will only precise if the children have a z > 0
|
||||
*/
|
||||
void ParallaxNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void ParallaxNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// Point pos = position_;
|
||||
// Point pos = [self convertToWorldSpace:Point::ZERO];
|
||||
|
@ -161,7 +161,7 @@ void ParallaxNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool
|
|||
}
|
||||
_lastPosition = pos;
|
||||
}
|
||||
Node::visit(renderer, parentTransform, parentTransformDirty);
|
||||
Node::visit(renderer, parentTransform, parentTransformUpdated);
|
||||
}
|
||||
|
||||
NS_CC_END
|
||||
|
|
|
@ -67,7 +67,7 @@ public:
|
|||
virtual void addChild(Node * child, int zOrder, int tag) override;
|
||||
virtual void removeChild(Node* child, bool cleanup) override;
|
||||
virtual void removeAllChildrenWithCleanup(bool cleanup) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
protected:
|
||||
/** Adds a child to the container with a z-order, a parallax ratio and a position offset
|
||||
|
|
|
@ -120,7 +120,7 @@ bool ParticleBatchNode::initWithFile(const std::string& fileImage, int capacity)
|
|||
|
||||
// override visit.
|
||||
// Don't call visit on it's children
|
||||
void ParticleBatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void ParticleBatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// CAREFUL:
|
||||
// This visit is almost identical to Node#visit
|
||||
|
@ -134,9 +134,10 @@ void ParticleBatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform,
|
|||
return;
|
||||
}
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
@ -379,7 +380,7 @@ void ParticleBatchNode::removeAllChildrenWithCleanup(bool doCleanup)
|
|||
_textureAtlas->removeAllQuads();
|
||||
}
|
||||
|
||||
void ParticleBatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ParticleBatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
CC_PROFILER_START("CCParticleBatchNode - draw");
|
||||
|
||||
|
@ -394,7 +395,7 @@ void ParticleBatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool t
|
|||
_blendFunc,
|
||||
_textureAtlas,
|
||||
_modelViewTransform);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_batchCommand);
|
||||
renderer->addCommand(&_batchCommand);
|
||||
CC_PROFILER_STOP("CCParticleBatchNode - draw");
|
||||
}
|
||||
|
||||
|
|
|
@ -97,13 +97,13 @@ public:
|
|||
inline void setTextureAtlas(TextureAtlas* atlas) { _textureAtlas = atlas; };
|
||||
|
||||
// Overrides
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
using Node::addChild;
|
||||
virtual void addChild(Node * child, int zOrder, int tag) override;
|
||||
virtual void removeChild(Node* child, bool cleanup) override;
|
||||
virtual void reorderChild(Node * child, int zOrder) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual Texture2D* getTexture(void) const override;
|
||||
virtual void setTexture(Texture2D *texture) override;
|
||||
/**
|
||||
|
|
|
@ -72,7 +72,7 @@ bool ParticleSystemQuad::initWithTotalParticles(int numberOfParticles)
|
|||
setupVBO();
|
||||
}
|
||||
|
||||
setShaderProgram(ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR));
|
||||
setShaderProgram(ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP));
|
||||
|
||||
#if CC_ENABLE_CACHE_TEXTURE_DATA
|
||||
// Need to listen the event only when not use batchnode, because it will use VBO
|
||||
|
@ -358,16 +358,14 @@ void ParticleSystemQuad::postStep()
|
|||
}
|
||||
|
||||
// overriding draw method
|
||||
void ParticleSystemQuad::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ParticleSystemQuad::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
CCASSERT( _particleIdx == _particleCount, "Abnormal error in particle quad");
|
||||
//quad command
|
||||
if(_particleIdx > 0)
|
||||
{
|
||||
auto shader = ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP);
|
||||
|
||||
_quadCommand.init(_globalZOrder, _texture->getName(), shader, _blendFunc, _quads, _particleIdx, _modelViewTransform);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_quadCommand);
|
||||
_quadCommand.init(_globalZOrder, _texture->getName(), _shaderProgram, _blendFunc, _quads, _particleIdx, _modelViewTransform);
|
||||
renderer->addCommand(&_quadCommand);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
/**
|
||||
* @js NA
|
||||
|
|
|
@ -550,14 +550,14 @@ void ProgressTimer::onDraw()
|
|||
}
|
||||
}
|
||||
|
||||
void ProgressTimer::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ProgressTimer::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if( ! _vertexData || ! _sprite)
|
||||
return;
|
||||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ProgressTimer::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -111,7 +111,7 @@ public:
|
|||
inline Point getBarChangeRate() const { return _barChangeRate; }
|
||||
|
||||
// Overrides
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void setAnchorPoint(const Point& anchorPoint) override;
|
||||
virtual void setColor(const Color3B &color) override;
|
||||
virtual const Color3B& getColor() const override;
|
||||
|
|
|
@ -361,7 +361,7 @@ void RenderTexture::clearStencil(int stencilValue)
|
|||
glClearStencil(stencilClearValue);
|
||||
}
|
||||
|
||||
void RenderTexture::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void RenderTexture::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// override visit.
|
||||
// Don't call visit on its children
|
||||
|
@ -370,9 +370,10 @@ void RenderTexture::visit(Renderer *renderer, const kmMat4 &parentTransform, boo
|
|||
return;
|
||||
}
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
@ -617,7 +618,7 @@ void RenderTexture::onClearDepth()
|
|||
glClearDepth(depthClearValue);
|
||||
}
|
||||
|
||||
void RenderTexture::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void RenderTexture::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if (_autoDraw)
|
||||
{
|
||||
|
@ -635,7 +636,7 @@ void RenderTexture::draw(Renderer *renderer, const kmMat4 &transform, bool trans
|
|||
for(const auto &child: _children)
|
||||
{
|
||||
if (child != _sprite)
|
||||
child->visit(renderer, transform, transformDirty);
|
||||
child->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
|
||||
//End will pop the current render group
|
||||
|
|
|
@ -154,8 +154,8 @@ public:
|
|||
};
|
||||
|
||||
// Overrides
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
public:
|
||||
// XXX should be procted.
|
||||
|
|
|
@ -277,6 +277,7 @@ bool Sprite::initWithTexture(Texture2D *texture, const Rect& rect, bool rotated)
|
|||
Sprite::Sprite(void)
|
||||
: _shouldBeHidden(false)
|
||||
, _texture(nullptr)
|
||||
, _insideBounds(true)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -586,16 +587,19 @@ void Sprite::updateTransform(void)
|
|||
|
||||
// draw
|
||||
|
||||
void Sprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Sprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if(isInsideBounds())
|
||||
// Don't do calculate the culling if the transform was not updated
|
||||
_insideBounds = transformUpdated ? isInsideBounds() : _insideBounds;
|
||||
|
||||
if(_insideBounds)
|
||||
{
|
||||
_quadCommand.init(_globalZOrder, _texture->getName(), _shaderProgram, _blendFunc, &_quad, 1, _modelViewTransform);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_quadCommand);
|
||||
_quadCommand.init(_globalZOrder, _texture->getName(), _shaderProgram, _blendFunc, &_quad, 1, transform);
|
||||
renderer->addCommand(&_quadCommand);
|
||||
#if CC_SPRITE_DEBUG_DRAW
|
||||
_customDebugDrawCommand.init(_globalZOrder);
|
||||
_customDebugDrawCommand.func = CC_CALLBACK_0(Sprite::drawDebugData, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customDebugDrawCommand);
|
||||
renderer->addCommand(&_customDebugDrawCommand);
|
||||
#endif //CC_SPRITE_DEBUG_DRAW
|
||||
}
|
||||
}
|
||||
|
|
|
@ -424,7 +424,7 @@ public:
|
|||
virtual void setAnchorPoint(const Point& anchor) override;
|
||||
virtual void ignoreAnchorPointForPosition(bool value) override;
|
||||
virtual void setVisible(bool bVisible) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void setOpacityModifyRGB(bool modify) override;
|
||||
virtual bool isOpacityModifyRGB(void) const override;
|
||||
/// @}
|
||||
|
@ -573,6 +573,8 @@ protected:
|
|||
bool _flippedX; /// Whether the sprite is flipped horizontally or not
|
||||
bool _flippedY; /// Whether the sprite is flipped vertically or not
|
||||
|
||||
bool _insideBounds; /// whether or not the sprite was inside bounds the previous frame
|
||||
|
||||
private:
|
||||
CC_DISALLOW_COPY_AND_ASSIGN(Sprite);
|
||||
};
|
||||
|
|
|
@ -131,7 +131,7 @@ SpriteBatchNode::~SpriteBatchNode()
|
|||
|
||||
// override visit
|
||||
// don't call visit on it's children
|
||||
void SpriteBatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void SpriteBatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
CC_PROFILER_START_CATEGORY(kProfilerCategoryBatchSprite, "CCSpriteBatchNode - visit");
|
||||
|
||||
|
@ -149,9 +149,10 @@ void SpriteBatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, b
|
|||
|
||||
sortAllChildren();
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
@ -352,7 +353,7 @@ void SpriteBatchNode::reorderBatch(bool reorder)
|
|||
_reorderChildDirty=reorder;
|
||||
}
|
||||
|
||||
void SpriteBatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void SpriteBatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
// Optimization: Fast Dispatch
|
||||
if( _textureAtlas->getTotalQuads() == 0 )
|
||||
|
@ -368,8 +369,8 @@ void SpriteBatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool tra
|
|||
_shaderProgram,
|
||||
_blendFunc,
|
||||
_textureAtlas,
|
||||
_modelViewTransform);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_batchCommand);
|
||||
transform);
|
||||
renderer->addCommand(&_batchCommand);
|
||||
}
|
||||
|
||||
void SpriteBatchNode::increaseAtlasCapacity(void)
|
||||
|
|
|
@ -155,7 +155,7 @@ public:
|
|||
*/
|
||||
virtual const BlendFunc& getBlendFunc() const override;
|
||||
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
using Node::addChild;
|
||||
virtual void addChild(Node * child, int zOrder, int tag) override;
|
||||
|
@ -164,7 +164,7 @@ public:
|
|||
virtual void removeChild(Node *child, bool cleanup) override;
|
||||
virtual void removeAllChildrenWithCleanup(bool cleanup) override;
|
||||
virtual void sortAllChildren() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string getDescription() const override;
|
||||
|
||||
/** Inserts a quad at a certain index into the texture atlas. The Sprite won't be added into the children array.
|
||||
|
|
|
@ -242,7 +242,7 @@ const std::string& TextFieldTTF::getContentText()
|
|||
return _inputText;
|
||||
}
|
||||
|
||||
void TextFieldTTF::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TextFieldTTF::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if (_delegate && _delegate->onDraw(this))
|
||||
{
|
||||
|
@ -250,14 +250,14 @@ void TextFieldTTF::draw(Renderer *renderer, const kmMat4 &transform, bool transf
|
|||
}
|
||||
if (_inputText.length())
|
||||
{
|
||||
LabelTTF::draw(renderer, transform, transformDirty);
|
||||
LabelTTF::draw(renderer, transform, transformUpdated);
|
||||
return;
|
||||
}
|
||||
|
||||
// draw placeholder
|
||||
Color3B color = getColor();
|
||||
setColor(_colorSpaceHolder);
|
||||
LabelTTF::draw(renderer, transform, transformDirty);
|
||||
LabelTTF::draw(renderer, transform, transformUpdated);
|
||||
setColor(color);
|
||||
}
|
||||
|
||||
|
|
|
@ -173,7 +173,7 @@ protected:
|
|||
bool _secureTextEntry;
|
||||
protected:
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// IMEDelegate interface
|
||||
|
|
|
@ -97,16 +97,16 @@ void TransitionScene::sceneOrder()
|
|||
_isInSceneOnTop = true;
|
||||
}
|
||||
|
||||
void TransitionScene::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TransitionScene::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Scene::draw(renderer, transform, transformDirty);
|
||||
Scene::draw(renderer, transform, transformUpdated);
|
||||
|
||||
if( _isInSceneOnTop ) {
|
||||
_outScene->visit(renderer, transform, transformDirty);
|
||||
_inScene->visit(renderer, transform, transformDirty);
|
||||
_outScene->visit(renderer, transform, transformUpdated);
|
||||
_inScene->visit(renderer, transform, transformUpdated);
|
||||
} else {
|
||||
_inScene->visit(renderer, transform, transformDirty);
|
||||
_outScene->visit(renderer, transform, transformDirty);
|
||||
_inScene->visit(renderer, transform, transformUpdated);
|
||||
_outScene->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1258,7 +1258,7 @@ TransitionCrossFade* TransitionCrossFade::create(float t, Scene* scene)
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
void TransitionCrossFade::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TransitionCrossFade::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
// override draw since both scenes (textures) are rendered in 1 scene
|
||||
}
|
||||
|
@ -1407,19 +1407,19 @@ void TransitionTurnOffTiles::onExit()
|
|||
TransitionScene::onExit();
|
||||
}
|
||||
|
||||
void TransitionTurnOffTiles::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TransitionTurnOffTiles::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Scene::draw(renderer, transform, transformDirty);
|
||||
Scene::draw(renderer, transform, transformUpdated);
|
||||
|
||||
if( _isInSceneOnTop )
|
||||
{
|
||||
_outSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_inScene->visit(renderer, transform, transformDirty);
|
||||
_outSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
_inScene->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
else
|
||||
{
|
||||
_inScene->visit(renderer, transform, transformDirty);
|
||||
_outSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_inScene->visit(renderer, transform, transformUpdated);
|
||||
_outSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1487,10 +1487,10 @@ void TransitionSplitCols::switchTargetToInscene()
|
|||
_gridProxy->setTarget(_inScene);
|
||||
}
|
||||
|
||||
void TransitionSplitCols::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TransitionSplitCols::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Scene::draw(renderer, transform, transformDirty);
|
||||
_gridProxy->visit(renderer, transform, transformDirty);
|
||||
Scene::draw(renderer, transform, transformUpdated);
|
||||
_gridProxy->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
|
||||
void TransitionSplitCols::onExit()
|
||||
|
@ -1603,19 +1603,19 @@ void TransitionFadeTR::onExit()
|
|||
TransitionScene::onExit();
|
||||
}
|
||||
|
||||
void TransitionFadeTR::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TransitionFadeTR::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Scene::draw(renderer, transform, transformDirty);
|
||||
Scene::draw(renderer, transform, transformUpdated);
|
||||
|
||||
if( _isInSceneOnTop )
|
||||
{
|
||||
_outSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_inScene->visit(renderer, transform, transformDirty);
|
||||
_outSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
_inScene->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
else
|
||||
{
|
||||
_inScene->visit(renderer, transform, transformDirty);
|
||||
_outSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_inScene->visit(renderer, transform, transformUpdated);
|
||||
_outSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ public:
|
|||
//
|
||||
// Overrides
|
||||
//
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual void cleanup() override;
|
||||
|
@ -609,7 +609,7 @@ public :
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
|
@ -647,7 +647,7 @@ public :
|
|||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual ActionInterval * easeActionWithAction(ActionInterval * action) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
protected:
|
||||
TransitionTurnOffTiles();
|
||||
|
@ -680,7 +680,7 @@ public:
|
|||
virtual void onEnter() override;
|
||||
virtual ActionInterval * easeActionWithAction(ActionInterval * action) override;
|
||||
virtual void onExit() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
protected:
|
||||
TransitionSplitCols();
|
||||
virtual ~TransitionSplitCols();
|
||||
|
@ -731,7 +731,7 @@ public:
|
|||
virtual void onEnter() override;
|
||||
virtual ActionInterval* easeActionWithAction(ActionInterval * action) override;
|
||||
virtual void onExit() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
protected:
|
||||
TransitionFadeTR();
|
||||
virtual ~TransitionFadeTR();
|
||||
|
|
|
@ -92,31 +92,31 @@ void TransitionPageTurn::onDisablePolygonOffset()
|
|||
glPolygonOffset(0, 0);
|
||||
}
|
||||
|
||||
void TransitionPageTurn::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TransitionPageTurn::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Scene::draw(renderer, transform, transformDirty);
|
||||
Scene::draw(renderer, transform, transformUpdated);
|
||||
|
||||
if( _isInSceneOnTop ) {
|
||||
_outSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_outSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
_enableOffsetCmd.init(_globalZOrder);
|
||||
_enableOffsetCmd.func = CC_CALLBACK_0(TransitionPageTurn::onEnablePolygonOffset, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_enableOffsetCmd);
|
||||
_inSceneProxy->visit(renderer, transform, transformDirty);
|
||||
renderer->addCommand(&_enableOffsetCmd);
|
||||
_inSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
_disableOffsetCmd.init(_globalZOrder);
|
||||
_disableOffsetCmd.func = CC_CALLBACK_0(TransitionPageTurn::onDisablePolygonOffset, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_disableOffsetCmd);
|
||||
renderer->addCommand(&_disableOffsetCmd);
|
||||
} else {
|
||||
_inSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_inSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
|
||||
_enableOffsetCmd.init(_globalZOrder);
|
||||
_enableOffsetCmd.func = CC_CALLBACK_0(TransitionPageTurn::onEnablePolygonOffset, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_enableOffsetCmd);
|
||||
renderer->addCommand(&_enableOffsetCmd);
|
||||
|
||||
_outSceneProxy->visit(renderer, transform, transformDirty);
|
||||
_outSceneProxy->visit(renderer, transform, transformUpdated);
|
||||
|
||||
_disableOffsetCmd.init(_globalZOrder);
|
||||
_disableOffsetCmd.func = CC_CALLBACK_0(TransitionPageTurn::onDisablePolygonOffset, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_disableOffsetCmd);
|
||||
renderer->addCommand(&_disableOffsetCmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ public:
|
|||
//
|
||||
// Overrides
|
||||
//
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
/**
|
||||
* Creates a base transition with duration and incoming scene.
|
||||
|
|
|
@ -29,7 +29,6 @@ THE SOFTWARE.
|
|||
#include "cocostudio/CCDatas.h"
|
||||
#include "cocostudio/CCSkin.h"
|
||||
|
||||
#include "renderer/CCQuadCommand.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCGroupCommand.h"
|
||||
#include "CCShaderCache.h"
|
||||
|
@ -378,7 +377,7 @@ void Armature::update(float dt)
|
|||
_armatureTransformDirty = false;
|
||||
}
|
||||
|
||||
void Armature::draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Armature::draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if (_parentBone == nullptr && _batchNode == nullptr)
|
||||
{
|
||||
|
@ -408,17 +407,17 @@ void Armature::draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool t
|
|||
{
|
||||
skin->setBlendFunc(bone->getBlendFunc());
|
||||
}
|
||||
skin->draw(renderer, transform, transformDirty);
|
||||
skin->draw(renderer, transform, transformUpdated);
|
||||
}
|
||||
break;
|
||||
case CS_DISPLAY_ARMATURE:
|
||||
{
|
||||
node->draw(renderer, transform, transformDirty);
|
||||
node->draw(renderer, transform, transformUpdated);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
node->visit(renderer, transform, transformDirty);
|
||||
node->visit(renderer, transform, transformUpdated);
|
||||
CC_NODE_DRAW_SETUP();
|
||||
}
|
||||
break;
|
||||
|
@ -426,7 +425,7 @@ void Armature::draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool t
|
|||
}
|
||||
else if(Node *node = dynamic_cast<Node *>(object))
|
||||
{
|
||||
node->visit(renderer, transform, transformDirty);
|
||||
node->visit(renderer, transform, transformUpdated);
|
||||
CC_NODE_DRAW_SETUP();
|
||||
}
|
||||
}
|
||||
|
@ -445,7 +444,7 @@ void Armature::onExit()
|
|||
}
|
||||
|
||||
|
||||
void Armature::visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Armature::visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// quick return if not visible. children won't be drawn.
|
||||
if (!_visible)
|
||||
|
@ -453,9 +452,10 @@ void Armature::visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform,
|
|||
return;
|
||||
}
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
|
|
@ -156,8 +156,8 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void update(float dt) override;
|
||||
|
||||
virtual void onEnter() override;
|
||||
|
|
|
@ -101,7 +101,7 @@ void BatchNode::removeChild(Node* child, bool cleanup)
|
|||
Node::removeChild(child, cleanup);
|
||||
}
|
||||
|
||||
void BatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void BatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// quick return if not visible. children won't be drawn.
|
||||
if (!_visible)
|
||||
|
@ -109,9 +109,10 @@ void BatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool pa
|
|||
return;
|
||||
}
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
@ -128,7 +129,7 @@ void BatchNode::visit(Renderer *renderer, const kmMat4 &parentTransform, bool pa
|
|||
kmGLPopMatrix();
|
||||
}
|
||||
|
||||
void BatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void BatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if (_children.empty())
|
||||
{
|
||||
|
@ -149,14 +150,14 @@ void BatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transform
|
|||
pushed = true;
|
||||
}
|
||||
|
||||
armature->visit(renderer, transform, transformDirty);
|
||||
armature->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
else
|
||||
{
|
||||
Director::getInstance()->getRenderer()->popGroup();
|
||||
renderer->popGroup();
|
||||
pushed = false;
|
||||
|
||||
((Node *)object)->visit(renderer, transform, transformDirty);
|
||||
((Node *)object)->visit(renderer, transform, transformUpdated);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,8 +56,8 @@ public:
|
|||
virtual void addChild(cocos2d::Node *pChild, int zOrder) override;
|
||||
virtual void addChild(cocos2d::Node *pChild, int zOrder, int tag) override;
|
||||
virtual void removeChild(cocos2d::Node* child, bool cleanup) override;
|
||||
virtual void visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
protected:
|
||||
void generateGroupCommand();
|
||||
|
|
|
@ -219,14 +219,14 @@ kmMat4 Skin::getNodeToWorldTransformAR() const
|
|||
return TransformConcat( _bone->getArmature()->getNodeToWorldTransform(),displayTransform);
|
||||
}
|
||||
|
||||
void Skin::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Skin::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
kmMat4 mv;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &mv);
|
||||
|
||||
//TODO implement z order
|
||||
_quadCommand.init(_globalZOrder, _texture->getName(), _shaderProgram, _blendFunc, &_quad, 1, mv);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_quadCommand);
|
||||
renderer->addCommand(&_quadCommand);
|
||||
}
|
||||
|
||||
void Skin::setBone(Bone *bone)
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
kmMat4 getNodeToWorldTransform() const override;
|
||||
kmMat4 getNodeToWorldTransformAR() const;
|
||||
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
/**
|
||||
* @js NA
|
||||
|
|
|
@ -125,12 +125,12 @@ void Skeleton::update (float deltaTime) {
|
|||
spSkeleton_update(skeleton, deltaTime * timeScale);
|
||||
}
|
||||
|
||||
void Skeleton::draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Skeleton::draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(Skeleton::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void Skeleton::onDraw ()
|
||||
|
|
|
@ -67,7 +67,7 @@ public:
|
|||
virtual ~Skeleton ();
|
||||
|
||||
virtual void update (float deltaTime) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
void onDraw();
|
||||
void onEnter() override;
|
||||
void onExit() override;
|
||||
|
|
|
@ -167,7 +167,7 @@ bool Layout::hitTest(const Point &pt)
|
|||
return false;
|
||||
}
|
||||
|
||||
void Layout::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Layout::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
if (!_enabled)
|
||||
{
|
||||
|
@ -178,10 +178,10 @@ void Layout::visit(Renderer *renderer, const kmMat4 &parentTransform, bool paren
|
|||
switch (_clippingType)
|
||||
{
|
||||
case LAYOUT_CLIPPING_STENCIL:
|
||||
stencilClippingVisit(renderer, parentTransform, parentTransformDirty);
|
||||
stencilClippingVisit(renderer, parentTransform, parentTransformUpdated);
|
||||
break;
|
||||
case LAYOUT_CLIPPING_SCISSOR:
|
||||
scissorClippingVisit(renderer, parentTransform, parentTransformDirty);
|
||||
scissorClippingVisit(renderer, parentTransform, parentTransformUpdated);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -189,7 +189,7 @@ void Layout::visit(Renderer *renderer, const kmMat4 &parentTransform, bool paren
|
|||
}
|
||||
else
|
||||
{
|
||||
Node::visit(renderer, parentTransform, parentTransformDirty);
|
||||
Node::visit(renderer, parentTransform, parentTransformUpdated);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -199,14 +199,15 @@ void Layout::sortAllChildren()
|
|||
doLayout();
|
||||
}
|
||||
|
||||
void Layout::stencilClippingVisit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Layout::stencilClippingVisit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
if(!_visible)
|
||||
return;
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
@ -339,13 +340,13 @@ void Layout::onAfterVisitScissor()
|
|||
glDisable(GL_SCISSOR_TEST);
|
||||
}
|
||||
|
||||
void Layout::scissorClippingVisit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformDirty)
|
||||
void Layout::scissorClippingVisit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
_beforeVisitCmdScissor.init(_globalZOrder);
|
||||
_beforeVisitCmdScissor.func = CC_CALLBACK_0(Layout::onBeforeVisitScissor, this);
|
||||
renderer->addCommand(&_beforeVisitCmdScissor);
|
||||
|
||||
Node::visit(renderer, parentTransform, parentTransformDirty);
|
||||
Node::visit(renderer, parentTransform, parentTransformUpdated);
|
||||
|
||||
_afterVisitCmdScissor.init(_globalZOrder);
|
||||
_afterVisitCmdScissor.func = CC_CALLBACK_0(Layout::onAfterVisitScissor, this);
|
||||
|
|
|
@ -209,7 +209,7 @@ public:
|
|||
*/
|
||||
virtual void addChild(Node* child, int zOrder, int tag) override;
|
||||
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
virtual void sortAllChildren() override;
|
||||
|
||||
|
@ -234,8 +234,8 @@ protected:
|
|||
virtual void copySpecialProperties(Widget* model) override;
|
||||
virtual void copyClonedWidgetChildren(Widget* model) override;
|
||||
|
||||
void stencilClippingVisit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformDirty);
|
||||
void scissorClippingVisit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformDirty);
|
||||
void stencilClippingVisit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformUpdated);
|
||||
void scissorClippingVisit(Renderer *renderer, const kmMat4& parentTransform, bool parentTransformUpdated);
|
||||
|
||||
void setStencilClippingSize(const Size& size);
|
||||
const Rect& getClippingRect();
|
||||
|
|
|
@ -108,11 +108,11 @@ void Widget::onExit()
|
|||
Node::onExit();
|
||||
}
|
||||
|
||||
void Widget::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Widget::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
if (_enabled)
|
||||
{
|
||||
Node::visit(renderer, parentTransform, parentTransformDirty);
|
||||
Node::visit(renderer, parentTransform, parentTransformUpdated);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -331,7 +331,7 @@ public:
|
|||
|
||||
virtual void removeAllNodes();
|
||||
|
||||
virtual void visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(cocos2d::Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
/**
|
||||
* Sets the touch event target/selector of the menu item
|
||||
|
|
|
@ -769,14 +769,14 @@ void Scale9Sprite::setInsetBottom(float insetBottom)
|
|||
this->updateCapInset();
|
||||
}
|
||||
|
||||
void Scale9Sprite::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void Scale9Sprite::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
if(this->_positionsAreDirty)
|
||||
{
|
||||
this->updatePositions();
|
||||
this->_positionsAreDirty = false;
|
||||
}
|
||||
Node::visit(renderer, parentTransform, parentTransformDirty);
|
||||
Node::visit(renderer, parentTransform, parentTransformUpdated);
|
||||
}
|
||||
|
||||
void Scale9Sprite::setColor(const Color3B& color)
|
||||
|
|
|
@ -261,7 +261,7 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
virtual void setOpacityModifyRGB(bool bValue) override;
|
||||
virtual bool isOpacityModifyRGB(void) const override;
|
||||
virtual void setOpacity(GLubyte opacity) override;
|
||||
|
|
|
@ -316,9 +316,9 @@ void EditBox::setAnchorPoint(const Point& anchorPoint)
|
|||
}
|
||||
}
|
||||
|
||||
void EditBox::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void EditBox::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
ControlButton::visit(renderer, parentTransform, parentTransformDirty);
|
||||
ControlButton::visit(renderer, parentTransform, parentTransformUpdated);
|
||||
if (_editBoxImpl != NULL)
|
||||
{
|
||||
_editBoxImpl->visit();
|
||||
|
|
|
@ -379,7 +379,7 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
|
|
|
@ -552,7 +552,7 @@ void ScrollView::onAfterDraw()
|
|||
}
|
||||
}
|
||||
|
||||
void ScrollView::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty)
|
||||
void ScrollView::visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated)
|
||||
{
|
||||
// quick return if not visible
|
||||
if (!isVisible())
|
||||
|
@ -560,9 +560,10 @@ void ScrollView::visit(Renderer *renderer, const kmMat4 &parentTransform, bool p
|
|||
return;
|
||||
}
|
||||
|
||||
bool dirty = parentTransformDirty || _transformDirty;
|
||||
bool dirty = parentTransformUpdated || _transformUpdated;
|
||||
if(dirty)
|
||||
_modelViewTransform = this->transform(parentTransform);
|
||||
_transformUpdated = false;
|
||||
|
||||
// IMPORTANT:
|
||||
// To ease the migration to v3.0, we still support the kmGL stack,
|
||||
|
|
|
@ -225,7 +225,7 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformDirty) override;
|
||||
virtual void visit(Renderer *renderer, const kmMat4 &parentTransform, bool parentTransformUpdated) override;
|
||||
|
||||
using Node::addChild;
|
||||
virtual void addChild(Node * child, int zOrder, int tag) override;
|
||||
|
|
|
@ -182,7 +182,7 @@ static void DrawConstraint(cpConstraint *constraint, DrawNode *renderer)
|
|||
|
||||
// implementation of PhysicsDebugNode
|
||||
|
||||
void PhysicsDebugNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void PhysicsDebugNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
if (! _spacePtr)
|
||||
{
|
||||
|
@ -192,7 +192,7 @@ void PhysicsDebugNode::draw(Renderer *renderer, const kmMat4 &transform, bool tr
|
|||
cpSpaceEachShape(_spacePtr, (cpSpaceShapeIteratorFunc)DrawShape, this);
|
||||
cpSpaceEachConstraint(_spacePtr, (cpSpaceConstraintIteratorFunc)DrawConstraint, this);
|
||||
|
||||
DrawNode::draw(renderer, transform, transformDirty);
|
||||
DrawNode::draw(renderer, transform, transformUpdated);
|
||||
DrawNode::clear();
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public:
|
|||
void setSpace(cpSpace *space);
|
||||
|
||||
// Overrides
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
protected:
|
||||
cpSpace *_spacePtr;
|
||||
|
|
|
@ -1342,12 +1342,12 @@ void ActionFollow::onEnter()
|
|||
this->runAction(Follow::create(_grossini, Rect(0, 0, s.width * 2 - 100, s.height)));
|
||||
}
|
||||
|
||||
void ActionFollow::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ActionFollow::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ActionFollow::onDraw, this);
|
||||
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void ActionFollow::onDraw()
|
||||
|
@ -1649,9 +1649,9 @@ ActionCatmullRomStacked::~ActionCatmullRomStacked()
|
|||
CC_SAFE_RELEASE(_array2);
|
||||
}
|
||||
|
||||
void ActionCatmullRomStacked::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ActionCatmullRomStacked::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
ActionsDemo::draw(renderer, transform, transformDirty);
|
||||
ActionsDemo::draw(renderer, transform, transformUpdated);
|
||||
|
||||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
|
@ -1662,7 +1662,7 @@ void ActionCatmullRomStacked::draw(Renderer *renderer, const kmMat4 &transform,
|
|||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ActionCatmullRomStacked::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void ActionCatmullRomStacked::onDraw()
|
||||
|
@ -1758,9 +1758,9 @@ ActionCardinalSplineStacked::~ActionCardinalSplineStacked()
|
|||
CC_SAFE_RELEASE(_array);
|
||||
}
|
||||
|
||||
void ActionCardinalSplineStacked::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ActionCardinalSplineStacked::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
ActionsDemo::draw(renderer, transform, transformDirty);
|
||||
ActionsDemo::draw(renderer, transform, transformUpdated);
|
||||
|
||||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
|
@ -1777,7 +1777,7 @@ void ActionCardinalSplineStacked::draw(Renderer *renderer, const kmMat4 &transfo
|
|||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ActionCardinalSplineStacked::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void ActionCardinalSplineStacked::onDraw()
|
||||
|
@ -2125,9 +2125,9 @@ ActionCatmullRom::~ActionCatmullRom()
|
|||
_array2->release();
|
||||
}
|
||||
|
||||
void ActionCatmullRom::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ActionCatmullRom::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
ActionsDemo::draw(renderer, transform, transformDirty);
|
||||
ActionsDemo::draw(renderer, transform, transformUpdated);
|
||||
|
||||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
|
@ -2139,7 +2139,7 @@ void ActionCatmullRom::draw(Renderer *renderer, const kmMat4 &transform, bool tr
|
|||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ActionCatmullRom::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2220,9 +2220,9 @@ ActionCardinalSpline::~ActionCardinalSpline()
|
|||
_array->release();
|
||||
}
|
||||
|
||||
void ActionCardinalSpline::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ActionCardinalSpline::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
ActionsDemo::draw(renderer, transform, transformDirty);
|
||||
ActionsDemo::draw(renderer, transform, transformUpdated);
|
||||
|
||||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
|
@ -2239,7 +2239,7 @@ void ActionCardinalSpline::draw(Renderer *renderer, const kmMat4 &transform, boo
|
|||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ActionCardinalSpline::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void ActionCardinalSpline::onDraw()
|
||||
|
|
|
@ -375,7 +375,7 @@ public:
|
|||
CREATE_FUNC(ActionFollow);
|
||||
|
||||
virtual void onEnter() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string subtitle() const override;
|
||||
|
||||
protected:
|
||||
|
@ -451,7 +451,7 @@ public:
|
|||
CREATE_FUNC(ActionCatmullRomStacked);
|
||||
|
||||
virtual ~ActionCatmullRomStacked();
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void onEnter() override;
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
|
@ -472,7 +472,7 @@ public:
|
|||
CREATE_FUNC(ActionCardinalSplineStacked);
|
||||
|
||||
virtual ~ActionCardinalSplineStacked();
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated);
|
||||
virtual void onEnter() override;
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
|
@ -567,7 +567,7 @@ public:
|
|||
~ActionCatmullRom();
|
||||
|
||||
virtual void onEnter() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual std::string title() const override;
|
||||
private:
|
||||
|
@ -588,7 +588,7 @@ public:
|
|||
~ActionCardinalSpline();
|
||||
|
||||
virtual void onEnter() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual std::string title() const override;
|
||||
private:
|
||||
|
|
|
@ -137,14 +137,14 @@ void Box2DTestLayer::createResetButton()
|
|||
|
||||
}
|
||||
|
||||
void Box2DTestLayer::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Box2DTestLayer::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
//
|
||||
// IMPORTANT:
|
||||
// This is only for debug purposes
|
||||
// It is recommend to disable it
|
||||
//
|
||||
Layer::draw(renderer, transform, transformDirty);
|
||||
Layer::draw(renderer, transform, transformUpdated);
|
||||
|
||||
#if CC_ENABLE_BOX2D_INTEGRATION
|
||||
GL::enableVertexAttribs( cocos2d::GL::VERTEX_ATTRIB_FLAG_POSITION );
|
||||
|
@ -154,7 +154,7 @@ void Box2DTestLayer::draw(Renderer *renderer, const kmMat4 &transform, bool tran
|
|||
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(Box2DTestLayer::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
|
||||
kmGLPopMatrix();
|
||||
#endif
|
||||
|
|
|
@ -17,7 +17,7 @@ public:
|
|||
|
||||
void initPhysics();
|
||||
void createResetButton();
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
void addNewSpriteAtPosition(Point p);
|
||||
void update(float dt);
|
||||
|
|
|
@ -207,13 +207,13 @@ void Box2DView::tick(float dt)
|
|||
m_test->Step(&settings);
|
||||
}
|
||||
|
||||
void Box2DView::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Box2DView::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Layer::draw(renderer, transform, transformDirty);
|
||||
Layer::draw(renderer, transform, transformUpdated);
|
||||
|
||||
_customCmd.init(_globalZOrder);
|
||||
_customCmd.func = CC_CALLBACK_0(Box2DView::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCmd);
|
||||
renderer->addCommand(&_customCmd);
|
||||
}
|
||||
|
||||
void Box2DView::onDraw()
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
bool initWithEntryID(int entryId);
|
||||
std::string title() const;
|
||||
void tick(float dt);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
// virtual void registerWithTouchDispatcher();
|
||||
bool onTouchBegan(Touch* touch, Event* event);
|
||||
|
|
|
@ -596,7 +596,7 @@ void RawStencilBufferTest::setup()
|
|||
Director::getInstance()->setAlphaBlending(true);
|
||||
}
|
||||
|
||||
void RawStencilBufferTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void RawStencilBufferTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
auto winPoint = Point(Director::getInstance()->getWinSize());
|
||||
|
||||
|
@ -614,9 +614,7 @@ void RawStencilBufferTest::draw(Renderer *renderer, const kmMat4 &transform, boo
|
|||
iter->func = CC_CALLBACK_0(RawStencilBufferTest::onEnableStencil, this);
|
||||
renderer->addCommand(&(*iter));
|
||||
++iter;
|
||||
|
||||
|
||||
|
||||
for (int i = 0; i < _planeCount; i++) {
|
||||
|
||||
auto stencilPoint = planeSize * (_planeCount - i);
|
||||
|
@ -634,7 +632,7 @@ void RawStencilBufferTest::draw(Renderer *renderer, const kmMat4 &transform, boo
|
|||
|
||||
kmGLPushMatrix();
|
||||
_modelViewTransform = this->transform(transform);
|
||||
_sprites.at(i)->visit(renderer, _modelViewTransform, transformDirty);
|
||||
_sprites.at(i)->visit(renderer, _modelViewTransform, transformUpdated);
|
||||
kmGLPopMatrix();
|
||||
|
||||
iter->init(_globalZOrder);
|
||||
|
@ -644,14 +642,13 @@ void RawStencilBufferTest::draw(Renderer *renderer, const kmMat4 &transform, boo
|
|||
|
||||
kmGLPushMatrix();
|
||||
_modelViewTransform = this->transform(transform);
|
||||
_sprites.at(i)->visit(renderer, _modelViewTransform, transformDirty);
|
||||
_sprites.at(i)->visit(renderer, _modelViewTransform, transformUpdated);
|
||||
kmGLPopMatrix();
|
||||
}
|
||||
|
||||
iter->init(_globalZOrder);
|
||||
iter->func = CC_CALLBACK_0(RawStencilBufferTest::onDisableStencil, this);
|
||||
renderer->addCommand(&(*iter));
|
||||
|
||||
}
|
||||
|
||||
void RawStencilBufferTest::onEnableStencil()
|
||||
|
|
|
@ -153,7 +153,7 @@ public:
|
|||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void setup();
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
virtual void setupStencilForClippingOnPlane(GLint plane);
|
||||
virtual void setupStencilForDrawingOnPlane(GLint plane);
|
||||
|
|
|
@ -114,11 +114,11 @@ DrawPrimitivesTest::DrawPrimitivesTest()
|
|||
{
|
||||
}
|
||||
|
||||
void DrawPrimitivesTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void DrawPrimitivesTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(DrawPrimitivesTest::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void DrawPrimitivesTest::onDraw()
|
||||
|
|
|
@ -27,7 +27,7 @@ public:
|
|||
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
protected:
|
||||
void onDraw();
|
||||
protected:
|
||||
|
|
|
@ -845,7 +845,7 @@ void TestColliderDetector::onExit()
|
|||
|
||||
ArmatureTestLayer::onExit();
|
||||
}
|
||||
void TestColliderDetector::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TestColliderDetector::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION );
|
||||
kmGLPushMatrix();
|
||||
|
@ -1065,11 +1065,11 @@ void TestColliderDetector::update(float delta)
|
|||
}
|
||||
}
|
||||
}
|
||||
void TestColliderDetector::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TestColliderDetector::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(TestColliderDetector::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void TestColliderDetector::onDraw()
|
||||
|
@ -1106,12 +1106,12 @@ std::string TestBoundingBox::title() const
|
|||
{
|
||||
return "Test BoundingBox";
|
||||
}
|
||||
void TestBoundingBox::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TestBoundingBox::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(TestBoundingBox::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
|
||||
renderer->addCommand(&_customCommand);
|
||||
|
||||
}
|
||||
|
||||
void TestBoundingBox::onDraw()
|
||||
|
|
|
@ -211,7 +211,7 @@ public:
|
|||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual std::string title() const override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual void update(float delta);
|
||||
|
||||
void onFrameEvent(cocostudio::Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex);
|
||||
|
@ -270,7 +270,7 @@ public:
|
|||
virtual void onEnter() override;
|
||||
virtual std::string title() const override;
|
||||
virtual void update(float delta);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
void onDraw();
|
||||
|
||||
void onFrameEvent(cocostudio::Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex);
|
||||
|
@ -293,7 +293,7 @@ class TestBoundingBox : public ArmatureTestLayer
|
|||
public:
|
||||
virtual void onEnter() override;
|
||||
virtual std::string title() const override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
cocostudio::Armature *armature;
|
||||
Rect rect;
|
||||
|
|
|
@ -194,9 +194,9 @@ void SceneEditorTestLayer::backCallback(Ref *pSender)
|
|||
s->release();
|
||||
}
|
||||
|
||||
void SceneEditorTestLayer::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void SceneEditorTestLayer::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
Layer::draw(renderer, transform, transformDirty);
|
||||
Layer::draw(renderer, transform, transformUpdated);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ public:
|
|||
virtual void nextCallback(cocos2d::Ref* pSender);
|
||||
virtual void backCallback(cocos2d::Ref* pSender);
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
protected:
|
||||
MenuItemImage *restartItem;
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
USING_NS_CC;
|
||||
|
||||
void CustomTableViewCell::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void CustomTableViewCell::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
TableViewCell::draw(renderer, transform, transformDirty);
|
||||
TableViewCell::draw(renderer, transform, transformUpdated);
|
||||
// draw bounding box
|
||||
// auto pos = getPosition();
|
||||
// auto size = Size(178, 200);
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
class CustomTableViewCell : public cocos2d::extension::TableViewCell
|
||||
{
|
||||
public:
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(cocos2d::Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
};
|
||||
|
||||
#endif /* __CUSTOMTABELVIEWCELL_H__ */
|
||||
|
|
|
@ -206,14 +206,14 @@ Atlas1::~Atlas1()
|
|||
_textureAtlas->release();
|
||||
}
|
||||
|
||||
void Atlas1::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Atlas1::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
// GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
|
||||
// GL_TEXTURE_2D
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(Atlas1::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
|
||||
renderer->addCommand(&_customCommand);
|
||||
|
||||
// [textureAtlas drawNumberOfQuads:3];
|
||||
|
||||
}
|
||||
|
@ -529,11 +529,11 @@ Atlas4::Atlas4()
|
|||
schedule( schedule_selector(Atlas4::step), 0.1f);
|
||||
}
|
||||
|
||||
void Atlas4::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void Atlas4::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(Atlas4::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void Atlas4::onDraw()
|
||||
|
@ -1615,11 +1615,11 @@ std::string LabelBMFontBounds::subtitle() const
|
|||
return "You should see string enclosed by a box";
|
||||
}
|
||||
|
||||
void LabelBMFontBounds::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void LabelBMFontBounds::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(LabelBMFontBounds::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void LabelBMFontBounds::onDraw()
|
||||
|
|
|
@ -35,7 +35,7 @@ public:
|
|||
~Atlas1();
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
protected:
|
||||
void onDraw();
|
||||
protected:
|
||||
|
@ -102,7 +102,7 @@ public:
|
|||
|
||||
Atlas4();
|
||||
virtual void step(float dt);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
|
@ -377,7 +377,7 @@ public:
|
|||
|
||||
LabelBMFontBounds();
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
protected:
|
||||
|
|
|
@ -309,12 +309,12 @@ LabelFNTSpriteActions::LabelFNTSpriteActions()
|
|||
schedule( schedule_selector(LabelFNTSpriteActions::step), 0.1f);
|
||||
}
|
||||
|
||||
void LabelFNTSpriteActions::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void LabelFNTSpriteActions::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(LabelFNTSpriteActions::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
|
||||
renderer->addCommand(&_renderCmd);
|
||||
|
||||
}
|
||||
|
||||
void LabelFNTSpriteActions::onDraw()
|
||||
|
@ -926,11 +926,11 @@ std::string LabelFNTBounds::subtitle() const
|
|||
return "You should see string enclosed by a box";
|
||||
}
|
||||
|
||||
void LabelFNTBounds::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void LabelFNTBounds::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(LabelFNTBounds::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
renderer->addCommand(&_renderCmd);
|
||||
}
|
||||
|
||||
void LabelFNTBounds::onDraw()
|
||||
|
@ -1515,11 +1515,11 @@ void LabelTTFOldNew::onDraw()
|
|||
kmGLLoadMatrix(&oldMat);
|
||||
}
|
||||
|
||||
void LabelTTFOldNew::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void LabelTTFOldNew::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(LabelTTFOldNew::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
renderer->addCommand(&_renderCmd);
|
||||
}
|
||||
|
||||
std::string LabelTTFOldNew::title() const
|
||||
|
|
|
@ -57,7 +57,7 @@ public:
|
|||
|
||||
LabelFNTSpriteActions();
|
||||
virtual void step(float dt);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
|
@ -222,7 +222,7 @@ public:
|
|||
|
||||
LabelFNTBounds();
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
private:
|
||||
|
@ -411,7 +411,7 @@ public:
|
|||
|
||||
LabelTTFOldNew();
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
|
|
|
@ -17,7 +17,7 @@ public:
|
|||
setShaderProgram(ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR));
|
||||
}
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
DrawPrimitives::setDrawColor4B(_touchColor.r, _touchColor.g, _touchColor.b, 255);
|
||||
glLineWidth(10);
|
||||
|
|
|
@ -974,7 +974,7 @@ public:
|
|||
sprite->setShaderProgram(shader);
|
||||
return sprite;
|
||||
}
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
void onDraw();
|
||||
|
||||
protected:
|
||||
|
@ -982,11 +982,11 @@ protected:
|
|||
|
||||
};
|
||||
|
||||
void MySprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void MySprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(MySprite::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void MySprite::onDraw()
|
||||
|
|
|
@ -462,32 +462,31 @@ RenderTextureTestDepthStencil::~RenderTextureTestDepthStencil()
|
|||
CC_SAFE_RELEASE(_spriteDS);
|
||||
}
|
||||
|
||||
void RenderTextureTestDepthStencil::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void RenderTextureTestDepthStencil::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmds[0].init(_globalZOrder);
|
||||
_renderCmds[0].func = CC_CALLBACK_0(RenderTextureTestDepthStencil::onBeforeClear, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmds[0]);
|
||||
|
||||
renderer->addCommand(&_renderCmds[0]);
|
||||
|
||||
_rend->beginWithClear(0, 0, 0, 0, 0, 0);
|
||||
|
||||
_renderCmds[1].init(_globalZOrder);
|
||||
_renderCmds[1].func = CC_CALLBACK_0(RenderTextureTestDepthStencil::onBeforeStencil, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmds[1]);
|
||||
|
||||
renderer->addCommand(&_renderCmds[1]);
|
||||
|
||||
_spriteDS->visit();
|
||||
|
||||
_renderCmds[2].init(_globalZOrder);
|
||||
_renderCmds[2].func = CC_CALLBACK_0(RenderTextureTestDepthStencil::onBeforDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmds[2]);
|
||||
|
||||
renderer->addCommand(&_renderCmds[2]);
|
||||
|
||||
_spriteDraw->visit();
|
||||
|
||||
_rend->end();
|
||||
|
||||
_renderCmds[3].init(_globalZOrder);
|
||||
_renderCmds[3].func = CC_CALLBACK_0(RenderTextureTestDepthStencil::onAfterDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmds[3]);
|
||||
|
||||
renderer->addCommand(&_renderCmds[3]);
|
||||
}
|
||||
|
||||
void RenderTextureTestDepthStencil::onBeforeClear()
|
||||
|
@ -630,13 +629,13 @@ SpriteRenderTextureBug::SimpleSprite* SpriteRenderTextureBug::SimpleSprite::crea
|
|||
return sprite;
|
||||
}
|
||||
|
||||
void SpriteRenderTextureBug::SimpleSprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void SpriteRenderTextureBug::SimpleSprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(SpriteRenderTextureBug::SimpleSprite::onBeforeDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
|
||||
Sprite::draw(renderer, transform, transformDirty);
|
||||
renderer->addCommand(&_customCommand);
|
||||
|
||||
Sprite::draw(renderer, transform, transformUpdated);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ public:
|
|||
virtual ~RenderTextureTestDepthStencil();
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
private:
|
||||
CustomCommand _renderCmds[4];
|
||||
void onBeforeClear();
|
||||
|
@ -125,7 +125,7 @@ public:
|
|||
public:
|
||||
static SimpleSprite* create(const char* filename, const Rect &rect);
|
||||
SimpleSprite();
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated);
|
||||
|
||||
protected:
|
||||
void onBeforeDraw();
|
||||
|
|
|
@ -191,11 +191,11 @@ void ShaderNode::setPosition(const Point &newPosition)
|
|||
_center = Vertex2F(position.x * CC_CONTENT_SCALE_FACTOR(), position.y * CC_CONTENT_SCALE_FACTOR());
|
||||
}
|
||||
|
||||
void ShaderNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ShaderNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(ShaderNode::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void ShaderNode::onDraw()
|
||||
|
@ -433,7 +433,7 @@ public:
|
|||
~SpriteBlur();
|
||||
void setBlurSize(float f);
|
||||
bool initWithTexture(Texture2D* texture, const Rect& rect);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
void initProgram();
|
||||
|
||||
static SpriteBlur* create(const char *pszFileName);
|
||||
|
@ -525,11 +525,11 @@ void SpriteBlur::initProgram()
|
|||
CHECK_GL_ERROR_DEBUG();
|
||||
}
|
||||
|
||||
void SpriteBlur::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void SpriteBlur::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_customCommand.init(_globalZOrder);
|
||||
_customCommand.func = CC_CALLBACK_0(SpriteBlur::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_customCommand);
|
||||
renderer->addCommand(&_customCommand);
|
||||
}
|
||||
|
||||
void SpriteBlur::onDraw()
|
||||
|
|
|
@ -121,7 +121,7 @@ public:
|
|||
|
||||
virtual void update(float dt);
|
||||
virtual void setPosition(const Point &newPosition);
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
static ShaderNode* shaderNodeWithVertex(const char *vert, const char *frag);
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ public:
|
|||
virtual void initShader();
|
||||
void setBackgroundNotification();
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
void listenBackToForeground(Ref *obj);
|
||||
|
||||
protected:
|
||||
|
@ -176,12 +176,12 @@ void ShaderSprite::initShader()
|
|||
CHECK_GL_ERROR_DEBUG();
|
||||
}
|
||||
|
||||
void ShaderSprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void ShaderSprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCommand.init(_globalZOrder);
|
||||
_renderCommand.func = CC_CALLBACK_0(ShaderSprite::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCommand);
|
||||
|
||||
renderer->addCommand(&_renderCommand);
|
||||
|
||||
}
|
||||
|
||||
void ShaderSprite::onDraw()
|
||||
|
|
|
@ -1791,13 +1791,13 @@ std::string TextureDrawAtPoint::subtitle() const
|
|||
return "draws 2 textures using drawAtPoint";
|
||||
}
|
||||
|
||||
void TextureDrawAtPoint::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TextureDrawAtPoint::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
TextureDemo::draw(renderer, transform, transformDirty);
|
||||
TextureDemo::draw(renderer, transform, transformUpdated);
|
||||
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(TextureDrawAtPoint::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
renderer->addCommand(&_renderCmd);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1832,14 +1832,13 @@ TextureDrawInRect::~TextureDrawInRect()
|
|||
_Tex2F->release();
|
||||
}
|
||||
|
||||
void TextureDrawInRect::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TextureDrawInRect::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
TextureDemo::draw(renderer, transform, transformDirty);
|
||||
TextureDemo::draw(renderer, transform, transformUpdated);
|
||||
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(TextureDrawInRect::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
|
||||
renderer->addCommand(&_renderCmd);
|
||||
}
|
||||
|
||||
void TextureDrawInRect::onDraw()
|
||||
|
|
|
@ -466,7 +466,7 @@ public:
|
|||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void onEnter() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
protected:
|
||||
CustomCommand _renderCmd;
|
||||
void onDraw();
|
||||
|
@ -482,7 +482,7 @@ public:
|
|||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void onEnter() override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
protected:
|
||||
CustomCommand _renderCmd;
|
||||
void onDraw();
|
||||
|
|
|
@ -755,11 +755,11 @@ TMXOrthoObjectsTest::TMXOrthoObjectsTest()
|
|||
CCLOG("%s", objectsVal.getDescription().c_str());
|
||||
}
|
||||
|
||||
void TMXOrthoObjectsTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TMXOrthoObjectsTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(TMXOrthoObjectsTest::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
renderer->addCommand(&_renderCmd);
|
||||
}
|
||||
|
||||
void TMXOrthoObjectsTest::onDraw()
|
||||
|
@ -829,11 +829,11 @@ TMXIsoObjectsTest::TMXIsoObjectsTest()
|
|||
CCLOG("%s", objectsVal.getDescription().c_str());
|
||||
}
|
||||
|
||||
void TMXIsoObjectsTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TMXIsoObjectsTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(TMXIsoObjectsTest::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
renderer->addCommand(&_renderCmd);
|
||||
}
|
||||
|
||||
void TMXIsoObjectsTest::onDraw()
|
||||
|
@ -1513,11 +1513,11 @@ TMXGIDObjectsTest::TMXGIDObjectsTest()
|
|||
|
||||
}
|
||||
|
||||
void TMXGIDObjectsTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty)
|
||||
void TMXGIDObjectsTest::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated)
|
||||
{
|
||||
_renderCmd.init(_globalZOrder);
|
||||
_renderCmd.func = CC_CALLBACK_0(TMXGIDObjectsTest::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(&_renderCmd);
|
||||
renderer->addCommand(&_renderCmd);
|
||||
}
|
||||
|
||||
void TMXGIDObjectsTest::onDraw()
|
||||
|
|
|
@ -134,7 +134,7 @@ public:
|
|||
TMXOrthoObjectsTest(void);
|
||||
virtual std::string title() const override;
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string subtitle() const override;
|
||||
protected:
|
||||
CustomCommand _renderCmd;
|
||||
|
@ -147,7 +147,7 @@ public:
|
|||
TMXIsoObjectsTest(void);
|
||||
virtual std::string title() const override;
|
||||
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
virtual std::string subtitle() const override;
|
||||
protected:
|
||||
CustomCommand _renderCmd;
|
||||
|
@ -292,7 +292,7 @@ public:
|
|||
TMXGIDObjectsTest();
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformDirty) override;
|
||||
virtual void draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) override;
|
||||
|
||||
protected:
|
||||
CustomCommand _renderCmd;
|
||||
|
|
Loading…
Reference in New Issue