Merge pull request #4326 from dabingnn/develop_hotFix

[ci skip]Develop hot fix
This commit is contained in:
minggo 2013-11-18 19:33:07 -08:00
commit bd00e6fabb
2 changed files with 18 additions and 14 deletions

View File

@ -329,21 +329,21 @@ void ParticleSystemQuad::postStep()
{
glBindBuffer(GL_ARRAY_BUFFER, _buffersVBO[0]);
// Option 1: Sub Data
// Option 1: Sub Data
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(_quads[0])*_totalParticles, _quads);
// Option 2: Data
// glBufferData(GL_ARRAY_BUFFER, sizeof(quads_[0]) * particleCount, quads_, GL_DYNAMIC_DRAW);
// Option 2: Data
// glBufferData(GL_ARRAY_BUFFER, sizeof(quads_[0]) * particleCount, quads_, GL_DYNAMIC_DRAW);
// Option 3: Orphaning + glMapBuffer
// glBufferData(GL_ARRAY_BUFFER, sizeof(_quads[0])*_totalParticles, NULL, GL_STREAM_DRAW);
// void *buf = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY);
// memcpy(buf, _quads, sizeof(_quads[0])*_totalParticles);
// glUnmapBuffer(GL_ARRAY_BUFFER);
// Option 3: Orphaning + glMapBuffer
// glBufferData(GL_ARRAY_BUFFER, sizeof(_quads[0])*_totalParticles, NULL, GL_STREAM_DRAW);
// void *buf = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY);
// memcpy(buf, _quads, sizeof(_quads[0])*_totalParticles);
// glUnmapBuffer(GL_ARRAY_BUFFER);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
CHECK_GL_ERROR_DEBUG();
CHECK_GL_ERROR_DEBUG();
}
// overriding draw method

View File

@ -127,7 +127,11 @@ void ParticleSystemQuadLoader::onHandlePropTypeBlendFunc(Node * pNode, Node * pP
void ParticleSystemQuadLoader::onHandlePropTypeTexture(Node * pNode, Node * pParent, const char * pPropertyName, Texture2D * pTexture2D, CCBReader * ccbReader) {
if(strcmp(pPropertyName, PROPERTY_TEXTURE) == 0) {
((ParticleSystemQuad *)pNode)->setTexture(pTexture2D);
static_cast<ParticleSystemQuad*>(pNode)->setTexture(pTexture2D);
if(pTexture2D)
{
static_cast<ParticleSystemQuad*>(pNode)->setBlendAdditive(true);
}
} else {
NodeLoader::onHandlePropTypeTexture(pNode, pParent, pPropertyName, pTexture2D, ccbReader);
}