mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
[cocos2dx] Fixed #877, support for ETC1. Note that ETC1 is not supported when two color tinting is enabled!
This commit is contained in:
parent
137f95a20f
commit
26c1bfe8b4
@ -97,9 +97,9 @@ cocos2d::V3F_C4B_T2F* SkeletonBatch::allocateVertices(uint32_t numVertices) {
|
|||||||
return vertices;
|
return vertices;
|
||||||
}
|
}
|
||||||
|
|
||||||
cocos2d::TrianglesCommand* SkeletonBatch::addCommand(cocos2d::Renderer* renderer, float globalOrder, GLuint textureID, cocos2d::GLProgramState* glProgramState, cocos2d::BlendFunc blendType, const cocos2d::TrianglesCommand::Triangles& triangles, const cocos2d::Mat4& mv, uint32_t flags) {
|
cocos2d::TrianglesCommand* SkeletonBatch::addCommand(cocos2d::Renderer* renderer, float globalOrder, cocos2d::Texture2D* texture, cocos2d::GLProgramState* glProgramState, cocos2d::BlendFunc blendType, const cocos2d::TrianglesCommand::Triangles& triangles, const cocos2d::Mat4& mv, uint32_t flags) {
|
||||||
TrianglesCommand* command = nextFreeCommand();
|
TrianglesCommand* command = nextFreeCommand();
|
||||||
command->init(globalOrder, textureID, glProgramState, blendType, triangles, mv, flags);
|
command->init(globalOrder, texture, glProgramState, blendType, triangles, mv, flags);
|
||||||
renderer->addCommand(command);
|
renderer->addCommand(command);
|
||||||
return command;
|
return command;
|
||||||
}
|
}
|
||||||
@ -118,26 +118,4 @@ cocos2d::TrianglesCommand* SkeletonBatch::nextFreeCommand() {
|
|||||||
}
|
}
|
||||||
return _commandsPool[_nextFreeCommand++];
|
return _commandsPool[_nextFreeCommand++];
|
||||||
}
|
}
|
||||||
|
|
||||||
//void SkeletonBatch::addCommand (cocos2d::Renderer* renderer, float globalZOrder, GLuint textureID, GLProgramState* glProgramState,
|
|
||||||
// BlendFunc blendFunc, const TrianglesCommand::Triangles& triangles, const Mat4& transform, uint32_t transformFlags
|
|
||||||
// ) {
|
|
||||||
// if (_command->triangles->verts) {
|
|
||||||
// free(_command->triangles->verts);
|
|
||||||
// _command->triangles->verts = NULL;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// _command->triangles->verts = (V3F_C4B_T2F *)malloc(sizeof(V3F_C4B_T2F) * triangles.vertCount);
|
|
||||||
// memcpy(_command->triangles->verts, triangles.verts, sizeof(V3F_C4B_T2F) * triangles.vertCount);
|
|
||||||
//
|
|
||||||
// _command->triangles->vertCount = triangles.vertCount;
|
|
||||||
// _command->triangles->indexCount = triangles.indexCount;
|
|
||||||
// _command->triangles->indices = triangles.indices;
|
|
||||||
//
|
|
||||||
// _command->trianglesCommand->init(globalZOrder, textureID, glProgramState, blendFunc, *_command->triangles, transform);
|
|
||||||
// renderer->addCommand(_command->trianglesCommand);
|
|
||||||
//
|
|
||||||
// if (!_command->next) _command->next = new Command();
|
|
||||||
// _command = _command->next;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,7 +46,7 @@ namespace spine {
|
|||||||
void update (float delta);
|
void update (float delta);
|
||||||
|
|
||||||
cocos2d::V3F_C4B_T2F* allocateVertices(uint32_t numVertices);
|
cocos2d::V3F_C4B_T2F* allocateVertices(uint32_t numVertices);
|
||||||
cocos2d::TrianglesCommand* addCommand(cocos2d::Renderer* renderer, float globalOrder, GLuint textureID, cocos2d::GLProgramState* glProgramState, cocos2d::BlendFunc blendType, const cocos2d::TrianglesCommand::Triangles& triangles, const cocos2d::Mat4& mv, uint32_t flags);
|
cocos2d::TrianglesCommand* addCommand(cocos2d::Renderer* renderer, float globalOrder, cocos2d::Texture2D* texture, cocos2d::GLProgramState* glProgramState, cocos2d::BlendFunc blendType, const cocos2d::TrianglesCommand::Triangles& triangles, const cocos2d::Mat4& mv, uint32_t flags);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
SkeletonBatch ();
|
SkeletonBatch ();
|
||||||
|
|||||||
@ -305,7 +305,7 @@ void SkeletonRenderer::draw (Renderer* renderer, const Mat4& transform, uint32_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!isTwoColorTint) {
|
if (!isTwoColorTint) {
|
||||||
cocos2d::TrianglesCommand* batchedTriangles = batch->addCommand(renderer, _globalZOrder, attachmentVertices->_texture->getName(), _glProgramState, blendFunc, triangles, transform, transformFlags);
|
cocos2d::TrianglesCommand* batchedTriangles = batch->addCommand(renderer, _globalZOrder, attachmentVertices->_texture, _glProgramState, blendFunc, triangles, transform, transformFlags);
|
||||||
|
|
||||||
for (int v = 0, vn = batchedTriangles->getTriangles().vertCount; v < vn; ++v) {
|
for (int v = 0, vn = batchedTriangles->getTriangles().vertCount; v < vn; ++v) {
|
||||||
V3F_C4B_T2F* vertex = batchedTriangles->getTriangles().verts + v;
|
V3F_C4B_T2F* vertex = batchedTriangles->getTriangles().verts + v;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user