不错不错,真是造福大家啊!
这种方式draw Call会很高
楼主叼炸天了

fragment shader , rgb都调成一样应该就可以了。setCoior不就好了么?
=。= github而已。。。
不行的话架个梯子。。。
感谢指正,已修复。
引擎版本3.5。
赞 感谢LZ分享 。。。。。。。。。
很赞的效果 试试看~
之前看到过,但是现在用不到 但是的确好东西,希望加入在cocos2dx 内引入该功能
很牛,瞬间变脸!
hi,问个问题,不知道楼主有没有测试,通过这个类创建精灵后添加到界面上,然后调用移除精灵的方法,内存是不会下降的,反而添加一次增加一次,只增加不减少。楼主有解决的方法吗?
代码如下:
添加精灵代码:
Size visibleSize = Director::getInstance()->getVisibleSize();
if (!m_node) {
m_node = Node::create();
this->addChild(m_node);
m_node->setContentSize(Size(Vec2(visibleSize.width, visibleSize.height)));
}
for (int i = 0; i < 30; i++) {
auto spriteWithHue = SpriteWithHue::create(“ball_red.png”);
spriteWithHue->setPosition(Vec2(rand_0_1() * visibleSize.width, rand_0_1() * visibleSize.height));
spriteWithHue->setHue(M_PI * 2 * rand_0_1());
m_node->addChild(spriteWithHue);
}
移除精灵方法:
if (m_node) {
m_node->removeAllChildrenWithCleanup(false);
m_node->removeFromParent();
m_node = nullptr;
}
mark



好东西马克一下
看看效果
1!!
好东西,顶一个
偷个懒,直接用封装好的,嘿嘿
看起来好像不错的样子。。。。。
嗯。看了下确实有这个问题,查了下主要是2个问题导致内存没降下来。
1.GLProgramStateCache每次都会缓存program state,这部分,直接调用
void GLProgramStateCache::removeUnusedGLProgramState()即可。
2.GLProgram创建后,即使析构了内存也降不下来。这部分不太清楚,先建了个issue给引擎。
https://github.com/cocos2d/cocos2d-x/issues/12138
这块得等引擎fix。