mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-05 10:16:54 +08:00
[c] Fixes #1148, revert changes to spVertexAttachment_computeWorldVertices. Vertex size must be a multiple of 4, which explains why #1148 failed.
This commit is contained in:
parent
3b750c2612
commit
9a428a02b8
@ -51,7 +51,7 @@ void spVertexAttachment_computeWorldVertices (spVertexAttachment* self, spSlot*
|
|||||||
float* vertices;
|
float* vertices;
|
||||||
int* bones;
|
int* bones;
|
||||||
|
|
||||||
count = offset + (count >> 1) * stride;
|
count += offset;
|
||||||
skeleton = slot->bone->skeleton;
|
skeleton = slot->bone->skeleton;
|
||||||
deformLength = slot->attachmentVerticesCount;
|
deformLength = slot->attachmentVerticesCount;
|
||||||
deform = slot->attachmentVertices;
|
deform = slot->attachmentVertices;
|
||||||
|
|||||||
@ -344,7 +344,8 @@ void SkeletonRenderer::draw (Renderer* renderer, const Mat4& transform, uint32_t
|
|||||||
triangles.verts = batch->allocateVertices(attachmentVertices->_triangles->vertCount);
|
triangles.verts = batch->allocateVertices(attachmentVertices->_triangles->vertCount);
|
||||||
triangles.vertCount = attachmentVertices->_triangles->vertCount;
|
triangles.vertCount = attachmentVertices->_triangles->vertCount;
|
||||||
memcpy(triangles.verts, attachmentVertices->_triangles->verts, sizeof(cocos2d::V3F_C4B_T2F) * attachmentVertices->_triangles->vertCount);
|
memcpy(triangles.verts, attachmentVertices->_triangles->verts, sizeof(cocos2d::V3F_C4B_T2F) * attachmentVertices->_triangles->vertCount);
|
||||||
spVertexAttachment_computeWorldVertices(SUPER(attachment), slot, 0, triangles.vertCount * sizeof(cocos2d::V3F_C4B_T2F) / 4, (float*)triangles.verts, 0, 6);
|
int vertexSizeInFloats = sizeof(cocos2d::V3F_C4B_T2F) / sizeof(float);
|
||||||
|
spVertexAttachment_computeWorldVertices(SUPER(attachment), slot, 0, triangles.vertCount * vertexSizeInFloats, (float*)triangles.verts, 0, vertexSizeInFloats);
|
||||||
} else {
|
} else {
|
||||||
trianglesTwoColor.indices = attachmentVertices->_triangles->indices;
|
trianglesTwoColor.indices = attachmentVertices->_triangles->indices;
|
||||||
trianglesTwoColor.indexCount = attachmentVertices->_triangles->indexCount;
|
trianglesTwoColor.indexCount = attachmentVertices->_triangles->indexCount;
|
||||||
@ -353,7 +354,8 @@ void SkeletonRenderer::draw (Renderer* renderer, const Mat4& transform, uint32_t
|
|||||||
for (int i = 0; i < trianglesTwoColor.vertCount; i++) {
|
for (int i = 0; i < trianglesTwoColor.vertCount; i++) {
|
||||||
trianglesTwoColor.verts[i].texCoords = attachmentVertices->_triangles->verts[i].texCoords;
|
trianglesTwoColor.verts[i].texCoords = attachmentVertices->_triangles->verts[i].texCoords;
|
||||||
}
|
}
|
||||||
spVertexAttachment_computeWorldVertices(SUPER(attachment), slot, 0, trianglesTwoColor.vertCount * sizeof(V3F_C4B_C4B_T2F) / 4, (float*)trianglesTwoColor.verts, 0, 7);
|
int vertexSizeInFloats = sizeof(V3F_C4B_C4B_T2F) / sizeof(float);
|
||||||
|
spVertexAttachment_computeWorldVertices(SUPER(attachment), slot, 0, trianglesTwoColor.vertCount * vertexSizeInFloats, (float*)trianglesTwoColor.verts, 0, vertexSizeInFloats);
|
||||||
}
|
}
|
||||||
|
|
||||||
color.r = attachment->color.r;
|
color.r = attachment->color.r;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user