mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2024-12-26 11:48:29 +00:00
更新编译文件
This commit is contained in:
parent
f3c3a0eae8
commit
dbe9c6d28f
@ -21141,7 +21141,7 @@
|
|||||||
},
|
},
|
||||||
_loadBuiltinsSP: function _loadBuiltinsSP(cb) {
|
_loadBuiltinsSP: function _loadBuiltinsSP(cb) {
|
||||||
cc.sp.MAX_MULTITEXTURE_NUM = 8;
|
cc.sp.MAX_MULTITEXTURE_NUM = 8;
|
||||||
this._loadMultiEffect("multi-2d-sprite", (function(effect) {
|
this._loadMultiEffect("multi-2d-universal", (function(effect) {
|
||||||
cc.sp.multi2dSpriteEffectAsset = effect;
|
cc.sp.multi2dSpriteEffectAsset = effect;
|
||||||
effect.addRef();
|
effect.addRef();
|
||||||
cc.sp.inited = true;
|
cc.sp.inited = true;
|
||||||
@ -56849,6 +56849,31 @@
|
|||||||
} ]);
|
} ]);
|
||||||
vfmtPosUvTwoColor.name = "vfmtPosUvTwoColor";
|
vfmtPosUvTwoColor.name = "vfmtPosUvTwoColor";
|
||||||
_gfx["default"].VertexFormat.XY_UV_Two_Color = vfmtPosUvTwoColor;
|
_gfx["default"].VertexFormat.XY_UV_Two_Color = vfmtPosUvTwoColor;
|
||||||
|
var vfmtPosUvTwoColorTexId = new _gfx["default"].VertexFormat([ {
|
||||||
|
name: _gfx["default"].ATTR_POSITION,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
|
num: 2
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_UV0,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
|
num: 2
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_COLOR,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_UINT8,
|
||||||
|
num: 4,
|
||||||
|
normalize: true
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_COLOR0,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_UINT8,
|
||||||
|
num: 4,
|
||||||
|
normalize: true
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_TEX_ID,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
|
num: 1
|
||||||
|
} ]);
|
||||||
|
vfmtPosUvTwoColorTexId.name = "vfmtPosUvTwoColorTexId";
|
||||||
|
_gfx["default"].VertexFormat.XY_UV_Two_Color_TexId = vfmtPosUvTwoColorTexId;
|
||||||
var vfmtPosUv = new _gfx["default"].VertexFormat([ {
|
var vfmtPosUv = new _gfx["default"].VertexFormat([ {
|
||||||
name: _gfx["default"].ATTR_POSITION,
|
name: _gfx["default"].ATTR_POSITION,
|
||||||
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
@ -56886,7 +56911,8 @@
|
|||||||
vfmtPosUv: vfmtPosUv,
|
vfmtPosUv: vfmtPosUv,
|
||||||
vfmtPosColor: vfmtPosColor,
|
vfmtPosColor: vfmtPosColor,
|
||||||
vfmtPos: vfmtPos,
|
vfmtPos: vfmtPos,
|
||||||
vfmtPosUvColorTexId: vfmtPosUvColorTexId
|
vfmtPosUvColorTexId: vfmtPosUvColorTexId,
|
||||||
|
vfmtPosUvTwoColorTexId: vfmtPosUvTwoColorTexId
|
||||||
};
|
};
|
||||||
}), {
|
}), {
|
||||||
"../../../renderer/gfx": 436
|
"../../../renderer/gfx": 436
|
||||||
@ -56995,7 +57021,7 @@
|
|||||||
this.hasEmptySlot = false;
|
this.hasEmptySlot = false;
|
||||||
if (material) this.material = material; else {
|
if (material) this.material = material; else {
|
||||||
this.material = cc.Material.create(cc.sp.multi2dSpriteEffectAsset);
|
this.material = cc.Material.create(cc.sp.multi2dSpriteEffectAsset);
|
||||||
this.material.name = "multi-2d-sprite";
|
this.material.name = "multi-2d-universal";
|
||||||
this.material.define("USE_TEXTURE", true);
|
this.material.define("USE_TEXTURE", true);
|
||||||
this.material.define("USE_MULTI_TEXTURE", true);
|
this.material.define("USE_MULTI_TEXTURE", true);
|
||||||
}
|
}
|
||||||
@ -87304,21 +87330,18 @@
|
|||||||
return cc.Material.getBuiltinMaterial("2d-spine");
|
return cc.Material.getBuiltinMaterial("2d-spine");
|
||||||
},
|
},
|
||||||
_updateMaterial: function _updateMaterial() {
|
_updateMaterial: function _updateMaterial() {
|
||||||
var useTint = this.useTint || this.isAnimationCached() && true;
|
var useTint = this.useTint;
|
||||||
var baseMaterial = this.getMaterial(0);
|
var baseMaterial = this.getMaterial(0);
|
||||||
if (baseMaterial) {
|
if (baseMaterial) {
|
||||||
var isMultiSupport = baseMaterial.material.isMultiSupport();
|
var isMultiSupport = baseMaterial.material.isMultiSupport();
|
||||||
if (!isMultiSupport) {
|
if (isMultiSupport) this._defineMaterialTint(baseMaterial, useTint); else {
|
||||||
baseMaterial.define("USE_TINT", useTint);
|
baseMaterial.define("USE_TINT", useTint);
|
||||||
baseMaterial.define("CC_USE_MODEL", !this.enableBatch);
|
baseMaterial.define("CC_USE_MODEL", !this.enableBatch);
|
||||||
}
|
}
|
||||||
var srcBlendFactor = this.premultipliedAlpha ? cc.gfx.BLEND_ONE : cc.gfx.BLEND_SRC_ALPHA;
|
var srcBlendFactor = this.premultipliedAlpha ? cc.gfx.BLEND_ONE : cc.gfx.BLEND_SRC_ALPHA;
|
||||||
var dstBlendFactor = cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;
|
var dstBlendFactor = cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;
|
||||||
baseMaterial.setBlend(true, cc.gfx.BLEND_FUNC_ADD, srcBlendFactor, srcBlendFactor, cc.gfx.BLEND_FUNC_ADD, dstBlendFactor, dstBlendFactor);
|
baseMaterial.setBlend(true, cc.gfx.BLEND_FUNC_ADD, srcBlendFactor, srcBlendFactor, cc.gfx.BLEND_FUNC_ADD, dstBlendFactor, dstBlendFactor);
|
||||||
if (isMultiSupport) {
|
isMultiSupport && (this.enableBatch || (this.enableBatch = true));
|
||||||
this.useTint && (this.useTint = false);
|
|
||||||
this.enableBatch || (this.enableBatch = true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
this._materialCache = {};
|
this._materialCache = {};
|
||||||
},
|
},
|
||||||
@ -87333,11 +87356,15 @@
|
|||||||
_updateUseTint: function _updateUseTint() {
|
_updateUseTint: function _updateUseTint() {
|
||||||
var baseMaterial = this.getMaterial(0);
|
var baseMaterial = this.getMaterial(0);
|
||||||
if (baseMaterial) {
|
if (baseMaterial) {
|
||||||
var useTint = this.useTint || this.isAnimationCached() && true;
|
var useTint = this.useTint;
|
||||||
baseMaterial.material.isMultiSupport() ? this.useTint && (this.useTint = false) : baseMaterial.define("USE_TINT", useTint);
|
baseMaterial.material.isMultiSupport() ? this._defineMaterialTint(baseMaterial, useTint) : baseMaterial.define("USE_TINT", useTint);
|
||||||
}
|
}
|
||||||
this._materialCache = {};
|
this._materialCache = {};
|
||||||
},
|
},
|
||||||
|
_defineMaterialTint: function _defineMaterialTint(material, useTint) {
|
||||||
|
var passes = material._effect._passes;
|
||||||
|
passes && passes.length > 0 && passes[0]._defines["USE_TINT"] != useTint && material.define("USE_TINT", useTint);
|
||||||
|
},
|
||||||
_updateBatch: function _updateBatch() {
|
_updateBatch: function _updateBatch() {
|
||||||
var baseMaterial = this.getMaterial(0);
|
var baseMaterial = this.getMaterial(0);
|
||||||
baseMaterial && (baseMaterial.material.isMultiSupport() ? this.enableBatch || (this.enableBatch = true) : baseMaterial.define("CC_USE_MODEL", !this.enableBatch));
|
baseMaterial && (baseMaterial.material.isMultiSupport() ? this.enableBatch || (this.enableBatch = true) : baseMaterial.define("CC_USE_MODEL", !this.enableBatch));
|
||||||
@ -95196,6 +95223,7 @@
|
|||||||
colors: [],
|
colors: [],
|
||||||
boneInfos: [],
|
boneInfos: [],
|
||||||
vertices: null,
|
vertices: null,
|
||||||
|
verticesMulti: null,
|
||||||
uintVert: null,
|
uintVert: null,
|
||||||
indices: null
|
indices: null
|
||||||
};
|
};
|
||||||
@ -95862,6 +95890,7 @@
|
|||||||
var VFOneColor = VertexFormat.vfmtPosUvColor;
|
var VFOneColor = VertexFormat.vfmtPosUvColor;
|
||||||
var VFOneColorTexId = VertexFormat.vfmtPosUvColorTexId;
|
var VFOneColorTexId = VertexFormat.vfmtPosUvColorTexId;
|
||||||
var VFTwoColor = VertexFormat.vfmtPosUvTwoColor;
|
var VFTwoColor = VertexFormat.vfmtPosUvTwoColor;
|
||||||
|
var VFTwoColorTexId = VertexFormat.vfmtPosUvTwoColorTexId;
|
||||||
var gfx = cc.gfx;
|
var gfx = cc.gfx;
|
||||||
var FLAG_BATCH = 16;
|
var FLAG_BATCH = 16;
|
||||||
var FLAG_TWO_COLOR = 1;
|
var FLAG_TWO_COLOR = 1;
|
||||||
@ -95928,7 +95957,7 @@
|
|||||||
var baseMaterial = _comp._materials[0];
|
var baseMaterial = _comp._materials[0];
|
||||||
if (!baseMaterial) return null;
|
if (!baseMaterial) return null;
|
||||||
if (_useMulti) {
|
if (_useMulti) {
|
||||||
var key = tex.getId() + src + dst;
|
var key = tex.getId() + src + dst + _useTint;
|
||||||
var materialCache = _comp._materialCache;
|
var materialCache = _comp._materialCache;
|
||||||
var materialInfo = materialCache[key];
|
var materialInfo = materialCache[key];
|
||||||
if (!materialInfo) {
|
if (!materialInfo) {
|
||||||
@ -95943,6 +95972,7 @@
|
|||||||
};
|
};
|
||||||
materialCache.baseMaterial = materialInfo;
|
materialCache.baseMaterial = materialInfo;
|
||||||
}
|
}
|
||||||
|
_comp._defineMaterialTint(baseMaterial, _useTint);
|
||||||
if (-1 === texId) {
|
if (-1 === texId) {
|
||||||
materialInfo.material.setProperty("texture", tex);
|
materialInfo.material.setProperty("texture", tex);
|
||||||
materialInfo.texId = 0;
|
materialInfo.texId = 0;
|
||||||
@ -96127,7 +96157,10 @@
|
|||||||
vbuf[offset + 2] = _tempUv.x;
|
vbuf[offset + 2] = _tempUv.x;
|
||||||
vbuf[offset + 3] = _tempUv.y;
|
vbuf[offset + 3] = _tempUv.y;
|
||||||
uintVData[offset + 4] = _spineColorToInt32(_finalColor);
|
uintVData[offset + 4] = _spineColorToInt32(_finalColor);
|
||||||
_useMulti ? vbuf[offset + 5] = _texId : _useTint && (uintVData[offset + 5] = _spineColorToInt32(_darkColor));
|
if (_useTint) {
|
||||||
|
uintVData[offset + 5] = _spineColorToInt32(_darkColor);
|
||||||
|
_useMulti && (vbuf[offset + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[offset + 5] = _texId);
|
||||||
} else for (var _v3 = 0, _n3 = clippedVertices.length, _offset = _vertexFloatOffset; _v3 < _n3; _v3 += _perClipVertexSize,
|
} else for (var _v3 = 0, _n3 = clippedVertices.length, _offset = _vertexFloatOffset; _v3 < _n3; _v3 += _perClipVertexSize,
|
||||||
_offset += _perVertexSize) {
|
_offset += _perVertexSize) {
|
||||||
vbuf[_offset] = clippedVertices[_v3];
|
vbuf[_offset] = clippedVertices[_v3];
|
||||||
@ -96136,10 +96169,11 @@
|
|||||||
vbuf[_offset + 3] = clippedVertices[_v3 + 7];
|
vbuf[_offset + 3] = clippedVertices[_v3 + 7];
|
||||||
_finalColor32 = (clippedVertices[_v3 + 5] << 24 >>> 0) + (clippedVertices[_v3 + 4] << 16) + (clippedVertices[_v3 + 3] << 8) + clippedVertices[_v3 + 2];
|
_finalColor32 = (clippedVertices[_v3 + 5] << 24 >>> 0) + (clippedVertices[_v3 + 4] << 16) + (clippedVertices[_v3 + 3] << 8) + clippedVertices[_v3 + 2];
|
||||||
uintVData[_offset + 4] = _finalColor32;
|
uintVData[_offset + 4] = _finalColor32;
|
||||||
if (_useMulti) vbuf[_offset + 5] = _texId; else if (_useTint) {
|
if (_useTint) {
|
||||||
_darkColor32 = (clippedVertices[_v3 + 11] << 24 >>> 0) + (clippedVertices[_v3 + 10] << 16) + (clippedVertices[_v3 + 9] << 8) + clippedVertices[_v3 + 8];
|
_darkColor32 = (clippedVertices[_v3 + 11] << 24 >>> 0) + (clippedVertices[_v3 + 10] << 16) + (clippedVertices[_v3 + 9] << 8) + clippedVertices[_v3 + 8];
|
||||||
uintVData[_offset + 5] = _darkColor32;
|
uintVData[_offset + 5] = _darkColor32;
|
||||||
}
|
_useMulti && (vbuf[_offset + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[_offset + 5] = _texId);
|
||||||
}
|
}
|
||||||
} else if (_vertexEffect) for (var v = _vertexFloatOffset, n = _vertexFloatOffset + _vertexFloatCount; v < n; v += _perVertexSize) {
|
} else if (_vertexEffect) for (var v = _vertexFloatOffset, n = _vertexFloatOffset + _vertexFloatCount; v < n; v += _perVertexSize) {
|
||||||
_tempPos.x = vbuf[v];
|
_tempPos.x = vbuf[v];
|
||||||
@ -96152,13 +96186,19 @@
|
|||||||
vbuf[v + 2] = _tempUv.x;
|
vbuf[v + 2] = _tempUv.x;
|
||||||
vbuf[v + 3] = _tempUv.y;
|
vbuf[v + 3] = _tempUv.y;
|
||||||
uintVData[v + 4] = _spineColorToInt32(_finalColor);
|
uintVData[v + 4] = _spineColorToInt32(_finalColor);
|
||||||
_useMulti ? vbuf[v + 5] = _texId : _useTint && (uintVData[v + 5] = _spineColorToInt32(_darkColor));
|
if (_useTint) {
|
||||||
|
uintVData[v + 5] = _spineColorToInt32(_darkColor);
|
||||||
|
_useMulti && (vbuf[v + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[v + 5] = _texId);
|
||||||
} else {
|
} else {
|
||||||
_finalColor32 = _spineColorToInt32(_finalColor);
|
_finalColor32 = _spineColorToInt32(_finalColor);
|
||||||
_darkColor32 = _spineColorToInt32(_darkColor);
|
_darkColor32 = _spineColorToInt32(_darkColor);
|
||||||
for (var _v = _vertexFloatOffset, _n = _vertexFloatOffset + _vertexFloatCount; _v < _n; _v += _perVertexSize) {
|
for (var _v = _vertexFloatOffset, _n = _vertexFloatOffset + _vertexFloatCount; _v < _n; _v += _perVertexSize) {
|
||||||
uintVData[_v + 4] = _finalColor32;
|
uintVData[_v + 4] = _finalColor32;
|
||||||
_useMulti ? vbuf[_v + 5] = _texId : _useTint && (uintVData[_v + 5] = _darkColor32);
|
if (_useTint) {
|
||||||
|
uintVData[_v + 5] = _darkColor32;
|
||||||
|
_useMulti && (vbuf[_v + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[_v + 5] = _texId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -96186,7 +96226,7 @@
|
|||||||
graphics.clear();
|
graphics.clear();
|
||||||
graphics.lineWidth = 2;
|
graphics.lineWidth = 2;
|
||||||
}
|
}
|
||||||
_perClipVertexSize = _useMulti ? 12 : _useTint ? 12 : 8;
|
_perClipVertexSize = _useTint ? _useMulti ? 16 : 12 : _useMulti ? 12 : 8;
|
||||||
_vertexFloatCount = 0;
|
_vertexFloatCount = 0;
|
||||||
_vertexFloatOffset = 0;
|
_vertexFloatOffset = 0;
|
||||||
_vertexOffset = 0;
|
_vertexOffset = 0;
|
||||||
@ -96322,6 +96362,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
_proto.cacheVerticesConvertToMulti = function cacheVerticesConvertToMulti(vertices) {
|
||||||
|
var verticesMulti = new Float32Array(vertices.length + vertices.length / 6);
|
||||||
|
for (var i = 0, j = 0; j < vertices.length; ) {
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = 0;
|
||||||
|
}
|
||||||
|
return verticesMulti;
|
||||||
|
};
|
||||||
_proto.cacheTraverse = function cacheTraverse(worldMat) {
|
_proto.cacheTraverse = function cacheTraverse(worldMat) {
|
||||||
var frame = _comp._curFrame;
|
var frame = _comp._curFrame;
|
||||||
if (!frame) return;
|
if (!frame) return;
|
||||||
@ -96333,6 +96386,11 @@
|
|||||||
var vertices = frame.vertices;
|
var vertices = frame.vertices;
|
||||||
var indices = frame.indices;
|
var indices = frame.indices;
|
||||||
var worldMatm;
|
var worldMatm;
|
||||||
|
var useMultiTint = _useMulti && _useTint;
|
||||||
|
if (useMultiTint) {
|
||||||
|
frame.verticesMulti || (frame.verticesMulti = this.cacheVerticesConvertToMulti(frame.vertices));
|
||||||
|
vertices = frame.verticesMulti;
|
||||||
|
}
|
||||||
var frameVFOffset = 0, frameIndexOffset = 0, segVFCount = 0;
|
var frameVFOffset = 0, frameIndexOffset = 0, segVFCount = 0;
|
||||||
if (worldMat) {
|
if (worldMat) {
|
||||||
worldMatm = worldMat.m;
|
worldMatm = worldMat.m;
|
||||||
@ -96349,7 +96407,7 @@
|
|||||||
var colorOffset = 0;
|
var colorOffset = 0;
|
||||||
var colors = frame.colors;
|
var colors = frame.colors;
|
||||||
var nowColor = colors[colorOffset++];
|
var nowColor = colors[colorOffset++];
|
||||||
var maxVFOffset = nowColor.vfOffset;
|
var maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
_handleColor(nowColor);
|
_handleColor(nowColor);
|
||||||
for (var i = 0, n = segments.length; i < n; i++) {
|
for (var i = 0, n = segments.length; i < n; i++) {
|
||||||
var segInfo = segments[i];
|
var segInfo = segments[i];
|
||||||
@ -96371,32 +96429,57 @@
|
|||||||
ibuf = _buffer._iData;
|
ibuf = _buffer._iData;
|
||||||
uintbuf = _buffer._uintVData;
|
uintbuf = _buffer._uintVData;
|
||||||
for (var ii = _indexOffset, il = _indexOffset + _indexCount; ii < il; ii++) ibuf[ii] = _vertexOffset + indices[frameIndexOffset++];
|
for (var ii = _indexOffset, il = _indexOffset + _indexCount; ii < il; ii++) ibuf[ii] = _vertexOffset + indices[frameIndexOffset++];
|
||||||
segVFCount = segInfo.vfCount;
|
segVFCount = useMultiTint ? segInfo.vfCount + segInfo.vfCount / 6 : segInfo.vfCount;
|
||||||
vbuf.set(vertices.subarray(frameVFOffset, frameVFOffset + segVFCount), _vfOffset);
|
vbuf.set(vertices.subarray(frameVFOffset, frameVFOffset + segVFCount), _vfOffset);
|
||||||
frameVFOffset += segVFCount;
|
frameVFOffset += segVFCount;
|
||||||
if (calcTranslate) for (var _ii4 = _vfOffset, _il = _vfOffset + segVFCount; _ii4 < _il; _ii4 += 6) {
|
if (calcTranslate) for (var _ii4 = _vfOffset, _il = _vfOffset + segVFCount; _ii4 < _il; _ii4 += _perVertexSize) {
|
||||||
vbuf[_ii4] += _m12;
|
vbuf[_ii4] += _m12;
|
||||||
vbuf[_ii4 + 1] += _m13;
|
vbuf[_ii4 + 1] += _m13;
|
||||||
} else if (needBatch) for (var _ii5 = _vfOffset, _il2 = _vfOffset + segVFCount; _ii5 < _il2; _ii5 += 6) {
|
} else if (needBatch) for (var _ii5 = _vfOffset, _il2 = _vfOffset + segVFCount; _ii5 < _il2; _ii5 += _perVertexSize) {
|
||||||
_x = vbuf[_ii5];
|
_x = vbuf[_ii5];
|
||||||
_y = vbuf[_ii5 + 1];
|
_y = vbuf[_ii5 + 1];
|
||||||
vbuf[_ii5] = _x * _m00 + _y * _m04 + _m12;
|
vbuf[_ii5] = _x * _m00 + _y * _m04 + _m12;
|
||||||
vbuf[_ii5 + 1] = _x * _m01 + _y * _m05 + _m13;
|
vbuf[_ii5 + 1] = _x * _m01 + _y * _m05 + _m13;
|
||||||
}
|
}
|
||||||
_buffer.adjustForSpine(_vertexCount, _indexCount);
|
_buffer.adjustForSpine(_vertexCount, _indexCount);
|
||||||
if (_needColor) {
|
if (_useMulti) if (_useTint) if (_needColor) {
|
||||||
var frameColorOffset = frameVFOffset - segVFCount;
|
var frameColorOffset = frameVFOffset - segVFCount;
|
||||||
for (var _ii6 = _vfOffset + 4, _il3 = _vfOffset + 4 + segVFCount; _ii6 < _il3; _ii6 += 6,
|
for (var _ii6 = _vfOffset + 4, _il3 = _vfOffset + 4 + segVFCount; _ii6 < _il3; _ii6 += _perVertexSize,
|
||||||
frameColorOffset += 6) {
|
frameColorOffset += _perVertexSize) {
|
||||||
if (frameColorOffset >= maxVFOffset) {
|
if (frameColorOffset >= maxVFOffset) {
|
||||||
nowColor = colors[colorOffset++];
|
nowColor = colors[colorOffset++];
|
||||||
_handleColor(nowColor);
|
_handleColor(nowColor);
|
||||||
maxVFOffset = nowColor.vfOffset;
|
maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
}
|
}
|
||||||
uintbuf[_ii6] = _finalColor32;
|
uintbuf[_ii6] = _finalColor32;
|
||||||
_useMulti ? vbuf[_ii6 + 1] = _texId : uintbuf[_ii6 + 1] = _darkColor32;
|
uintbuf[_ii6 + 1] = _darkColor32;
|
||||||
|
vbuf[_ii6 + 2] = _texId;
|
||||||
|
}
|
||||||
|
} else for (var _ii7 = _vfOffset + 4, _il4 = _vfOffset + 4 + segVFCount; _ii7 < _il4; _ii7 += _perVertexSize) vbuf[_ii7 + 2] = _texId; else if (_needColor) {
|
||||||
|
var _frameColorOffset = frameVFOffset - segVFCount;
|
||||||
|
for (var _ii8 = _vfOffset + 4, _il5 = _vfOffset + 4 + segVFCount; _ii8 < _il5; _ii8 += _perVertexSize,
|
||||||
|
_frameColorOffset += _perVertexSize) {
|
||||||
|
if (_frameColorOffset >= maxVFOffset) {
|
||||||
|
nowColor = colors[colorOffset++];
|
||||||
|
_handleColor(nowColor);
|
||||||
|
maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
|
}
|
||||||
|
uintbuf[_ii8] = _finalColor32;
|
||||||
|
vbuf[_ii8 + 1] = _texId;
|
||||||
|
}
|
||||||
|
} else for (var _ii9 = _vfOffset + 4, _il6 = _vfOffset + 4 + segVFCount; _ii9 < _il6; _ii9 += _perVertexSize) vbuf[_ii9 + 1] = _texId; else if (_needColor) {
|
||||||
|
var _frameColorOffset2 = frameVFOffset - segVFCount;
|
||||||
|
for (var _ii10 = _vfOffset + 4, _il7 = _vfOffset + 4 + segVFCount; _ii10 < _il7; _ii10 += _perVertexSize,
|
||||||
|
_frameColorOffset2 += _perVertexSize) {
|
||||||
|
if (_frameColorOffset2 >= maxVFOffset) {
|
||||||
|
nowColor = colors[colorOffset++];
|
||||||
|
_handleColor(nowColor);
|
||||||
|
maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
|
}
|
||||||
|
uintbuf[_ii10] = _finalColor32;
|
||||||
|
uintbuf[_ii10 + 1] = _darkColor32;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (_useMulti) for (var _ii7 = _vfOffset + 4, _il4 = _vfOffset + 4 + segVFCount; _ii7 < _il4; _ii7 += 6) vbuf[_ii7 + 1] = _texId;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
_proto.fillBuffers = function fillBuffers(comp, renderer) {
|
_proto.fillBuffers = function fillBuffers(comp, renderer) {
|
||||||
@ -96411,9 +96494,9 @@
|
|||||||
var baseMaterial = comp._materials[0];
|
var baseMaterial = comp._materials[0];
|
||||||
if (!baseMaterial) return;
|
if (!baseMaterial) return;
|
||||||
_useMulti = baseMaterial.material.isMultiSupport();
|
_useMulti = baseMaterial.material.isMultiSupport();
|
||||||
_useTint = !_useMulti && (comp.useTint || comp.isAnimationCached());
|
_useTint = comp.useTint;
|
||||||
_vertexFormat = _useMulti ? VFOneColorTexId : _useTint ? VFTwoColor : VFOneColor;
|
_vertexFormat = _useTint ? _useMulti ? VFTwoColorTexId : VFTwoColor : _useMulti ? VFOneColorTexId : comp.isAnimationCached() ? VFTwoColor : VFOneColor;
|
||||||
_perVertexSize = _useMulti ? 6 : _useTint ? 6 : 5;
|
_perVertexSize = _useTint ? _useMulti ? 7 : 6 : _useMulti ? 6 : comp.isAnimationCached() ? 6 : 5;
|
||||||
_node = comp.node;
|
_node = comp.node;
|
||||||
_buffer = renderer.getBuffer("mesh", _vertexFormat);
|
_buffer = renderer.getBuffer("mesh", _vertexFormat);
|
||||||
_renderer = renderer;
|
_renderer = renderer;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -21121,7 +21121,7 @@
|
|||||||
},
|
},
|
||||||
_loadBuiltinsSP: function _loadBuiltinsSP(cb) {
|
_loadBuiltinsSP: function _loadBuiltinsSP(cb) {
|
||||||
cc.sp.MAX_MULTITEXTURE_NUM = 8;
|
cc.sp.MAX_MULTITEXTURE_NUM = 8;
|
||||||
this._loadMultiEffect("multi-2d-sprite", (function(effect) {
|
this._loadMultiEffect("multi-2d-universal", (function(effect) {
|
||||||
cc.sp.multi2dSpriteEffectAsset = effect;
|
cc.sp.multi2dSpriteEffectAsset = effect;
|
||||||
effect.addRef();
|
effect.addRef();
|
||||||
cc.sp.inited = true;
|
cc.sp.inited = true;
|
||||||
@ -56542,6 +56542,31 @@
|
|||||||
} ]);
|
} ]);
|
||||||
vfmtPosUvTwoColor.name = "vfmtPosUvTwoColor";
|
vfmtPosUvTwoColor.name = "vfmtPosUvTwoColor";
|
||||||
_gfx["default"].VertexFormat.XY_UV_Two_Color = vfmtPosUvTwoColor;
|
_gfx["default"].VertexFormat.XY_UV_Two_Color = vfmtPosUvTwoColor;
|
||||||
|
var vfmtPosUvTwoColorTexId = new _gfx["default"].VertexFormat([ {
|
||||||
|
name: _gfx["default"].ATTR_POSITION,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
|
num: 2
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_UV0,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
|
num: 2
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_COLOR,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_UINT8,
|
||||||
|
num: 4,
|
||||||
|
normalize: true
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_COLOR0,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_UINT8,
|
||||||
|
num: 4,
|
||||||
|
normalize: true
|
||||||
|
}, {
|
||||||
|
name: _gfx["default"].ATTR_TEX_ID,
|
||||||
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
|
num: 1
|
||||||
|
} ]);
|
||||||
|
vfmtPosUvTwoColorTexId.name = "vfmtPosUvTwoColorTexId";
|
||||||
|
_gfx["default"].VertexFormat.XY_UV_Two_Color_TexId = vfmtPosUvTwoColorTexId;
|
||||||
var vfmtPosUv = new _gfx["default"].VertexFormat([ {
|
var vfmtPosUv = new _gfx["default"].VertexFormat([ {
|
||||||
name: _gfx["default"].ATTR_POSITION,
|
name: _gfx["default"].ATTR_POSITION,
|
||||||
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
type: _gfx["default"].ATTR_TYPE_FLOAT32,
|
||||||
@ -56579,7 +56604,8 @@
|
|||||||
vfmtPosUv: vfmtPosUv,
|
vfmtPosUv: vfmtPosUv,
|
||||||
vfmtPosColor: vfmtPosColor,
|
vfmtPosColor: vfmtPosColor,
|
||||||
vfmtPos: vfmtPos,
|
vfmtPos: vfmtPos,
|
||||||
vfmtPosUvColorTexId: vfmtPosUvColorTexId
|
vfmtPosUvColorTexId: vfmtPosUvColorTexId,
|
||||||
|
vfmtPosUvTwoColorTexId: vfmtPosUvTwoColorTexId
|
||||||
};
|
};
|
||||||
}), {
|
}), {
|
||||||
"../../../renderer/gfx": 427
|
"../../../renderer/gfx": 427
|
||||||
@ -56688,7 +56714,7 @@
|
|||||||
this.hasEmptySlot = false;
|
this.hasEmptySlot = false;
|
||||||
if (material) this.material = material; else {
|
if (material) this.material = material; else {
|
||||||
this.material = cc.Material.create(cc.sp.multi2dSpriteEffectAsset);
|
this.material = cc.Material.create(cc.sp.multi2dSpriteEffectAsset);
|
||||||
this.material.name = "multi-2d-sprite";
|
this.material.name = "multi-2d-universal";
|
||||||
this.material.define("USE_TEXTURE", true);
|
this.material.define("USE_TEXTURE", true);
|
||||||
this.material.define("USE_MULTI_TEXTURE", true);
|
this.material.define("USE_MULTI_TEXTURE", true);
|
||||||
}
|
}
|
||||||
@ -73553,21 +73579,18 @@
|
|||||||
return cc.Material.getBuiltinMaterial("2d-spine");
|
return cc.Material.getBuiltinMaterial("2d-spine");
|
||||||
},
|
},
|
||||||
_updateMaterial: function _updateMaterial() {
|
_updateMaterial: function _updateMaterial() {
|
||||||
var useTint = this.useTint || this.isAnimationCached() && false;
|
var useTint = this.useTint;
|
||||||
var baseMaterial = this.getMaterial(0);
|
var baseMaterial = this.getMaterial(0);
|
||||||
if (baseMaterial) {
|
if (baseMaterial) {
|
||||||
var isMultiSupport = baseMaterial.material.isMultiSupport();
|
var isMultiSupport = baseMaterial.material.isMultiSupport();
|
||||||
if (!isMultiSupport) {
|
if (isMultiSupport) this._defineMaterialTint(baseMaterial, useTint); else {
|
||||||
baseMaterial.define("USE_TINT", useTint);
|
baseMaterial.define("USE_TINT", useTint);
|
||||||
baseMaterial.define("CC_USE_MODEL", !this.enableBatch);
|
baseMaterial.define("CC_USE_MODEL", !this.enableBatch);
|
||||||
}
|
}
|
||||||
var srcBlendFactor = this.premultipliedAlpha ? cc.gfx.BLEND_ONE : cc.gfx.BLEND_SRC_ALPHA;
|
var srcBlendFactor = this.premultipliedAlpha ? cc.gfx.BLEND_ONE : cc.gfx.BLEND_SRC_ALPHA;
|
||||||
var dstBlendFactor = cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;
|
var dstBlendFactor = cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;
|
||||||
baseMaterial.setBlend(true, cc.gfx.BLEND_FUNC_ADD, srcBlendFactor, srcBlendFactor, cc.gfx.BLEND_FUNC_ADD, dstBlendFactor, dstBlendFactor);
|
baseMaterial.setBlend(true, cc.gfx.BLEND_FUNC_ADD, srcBlendFactor, srcBlendFactor, cc.gfx.BLEND_FUNC_ADD, dstBlendFactor, dstBlendFactor);
|
||||||
if (isMultiSupport) {
|
isMultiSupport && (this.enableBatch || (this.enableBatch = true));
|
||||||
this.useTint && (this.useTint = false);
|
|
||||||
this.enableBatch || (this.enableBatch = true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
this._materialCache = {};
|
this._materialCache = {};
|
||||||
},
|
},
|
||||||
@ -73582,11 +73605,15 @@
|
|||||||
_updateUseTint: function _updateUseTint() {
|
_updateUseTint: function _updateUseTint() {
|
||||||
var baseMaterial = this.getMaterial(0);
|
var baseMaterial = this.getMaterial(0);
|
||||||
if (baseMaterial) {
|
if (baseMaterial) {
|
||||||
var useTint = this.useTint || this.isAnimationCached() && false;
|
var useTint = this.useTint;
|
||||||
baseMaterial.material.isMultiSupport() ? this.useTint && (this.useTint = false) : baseMaterial.define("USE_TINT", useTint);
|
baseMaterial.material.isMultiSupport() ? this._defineMaterialTint(baseMaterial, useTint) : baseMaterial.define("USE_TINT", useTint);
|
||||||
}
|
}
|
||||||
this._materialCache = {};
|
this._materialCache = {};
|
||||||
},
|
},
|
||||||
|
_defineMaterialTint: function _defineMaterialTint(material, useTint) {
|
||||||
|
var passes = material._effect._passes;
|
||||||
|
passes && passes.length > 0 && passes[0]._defines["USE_TINT"] != useTint && material.define("USE_TINT", useTint);
|
||||||
|
},
|
||||||
_updateBatch: function _updateBatch() {
|
_updateBatch: function _updateBatch() {
|
||||||
var baseMaterial = this.getMaterial(0);
|
var baseMaterial = this.getMaterial(0);
|
||||||
baseMaterial && (baseMaterial.material.isMultiSupport() ? this.enableBatch || (this.enableBatch = true) : baseMaterial.define("CC_USE_MODEL", !this.enableBatch));
|
baseMaterial && (baseMaterial.material.isMultiSupport() ? this.enableBatch || (this.enableBatch = true) : baseMaterial.define("CC_USE_MODEL", !this.enableBatch));
|
||||||
@ -74386,6 +74413,7 @@
|
|||||||
var VFOneColor = VertexFormat.vfmtPosUvColor;
|
var VFOneColor = VertexFormat.vfmtPosUvColor;
|
||||||
var VFOneColorTexId = VertexFormat.vfmtPosUvColorTexId;
|
var VFOneColorTexId = VertexFormat.vfmtPosUvColorTexId;
|
||||||
var VFTwoColor = VertexFormat.vfmtPosUvTwoColor;
|
var VFTwoColor = VertexFormat.vfmtPosUvTwoColor;
|
||||||
|
var VFTwoColorTexId = VertexFormat.vfmtPosUvTwoColorTexId;
|
||||||
var gfx = cc.gfx;
|
var gfx = cc.gfx;
|
||||||
var FLAG_BATCH = 16;
|
var FLAG_BATCH = 16;
|
||||||
var FLAG_TWO_COLOR = 1;
|
var FLAG_TWO_COLOR = 1;
|
||||||
@ -74448,7 +74476,7 @@
|
|||||||
var baseMaterial = _comp._materials[0];
|
var baseMaterial = _comp._materials[0];
|
||||||
if (!baseMaterial) return null;
|
if (!baseMaterial) return null;
|
||||||
if (_useMulti) {
|
if (_useMulti) {
|
||||||
var key = tex.getId() + src + dst;
|
var key = tex.getId() + src + dst + _useTint;
|
||||||
var materialCache = _comp._materialCache;
|
var materialCache = _comp._materialCache;
|
||||||
var materialInfo = materialCache[key];
|
var materialInfo = materialCache[key];
|
||||||
if (!materialInfo) {
|
if (!materialInfo) {
|
||||||
@ -74463,6 +74491,7 @@
|
|||||||
};
|
};
|
||||||
materialCache.baseMaterial = materialInfo;
|
materialCache.baseMaterial = materialInfo;
|
||||||
}
|
}
|
||||||
|
_comp._defineMaterialTint(baseMaterial, _useTint);
|
||||||
if (-1 === texId) {
|
if (-1 === texId) {
|
||||||
materialInfo.material.setProperty("texture", tex);
|
materialInfo.material.setProperty("texture", tex);
|
||||||
materialInfo.texId = 0;
|
materialInfo.texId = 0;
|
||||||
@ -74647,7 +74676,10 @@
|
|||||||
vbuf[offset + 2] = _tempUv.x;
|
vbuf[offset + 2] = _tempUv.x;
|
||||||
vbuf[offset + 3] = _tempUv.y;
|
vbuf[offset + 3] = _tempUv.y;
|
||||||
uintVData[offset + 4] = _spineColorToInt32(_finalColor);
|
uintVData[offset + 4] = _spineColorToInt32(_finalColor);
|
||||||
_useMulti ? vbuf[offset + 5] = _texId : _useTint && (uintVData[offset + 5] = _spineColorToInt32(_darkColor));
|
if (_useTint) {
|
||||||
|
uintVData[offset + 5] = _spineColorToInt32(_darkColor);
|
||||||
|
_useMulti && (vbuf[offset + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[offset + 5] = _texId);
|
||||||
} else for (var _v3 = 0, _n3 = clippedVertices.length, _offset = _vertexFloatOffset; _v3 < _n3; _v3 += _perClipVertexSize,
|
} else for (var _v3 = 0, _n3 = clippedVertices.length, _offset = _vertexFloatOffset; _v3 < _n3; _v3 += _perClipVertexSize,
|
||||||
_offset += _perVertexSize) {
|
_offset += _perVertexSize) {
|
||||||
vbuf[_offset] = clippedVertices[_v3];
|
vbuf[_offset] = clippedVertices[_v3];
|
||||||
@ -74656,10 +74688,11 @@
|
|||||||
vbuf[_offset + 3] = clippedVertices[_v3 + 7];
|
vbuf[_offset + 3] = clippedVertices[_v3 + 7];
|
||||||
_finalColor32 = (clippedVertices[_v3 + 5] << 24 >>> 0) + (clippedVertices[_v3 + 4] << 16) + (clippedVertices[_v3 + 3] << 8) + clippedVertices[_v3 + 2];
|
_finalColor32 = (clippedVertices[_v3 + 5] << 24 >>> 0) + (clippedVertices[_v3 + 4] << 16) + (clippedVertices[_v3 + 3] << 8) + clippedVertices[_v3 + 2];
|
||||||
uintVData[_offset + 4] = _finalColor32;
|
uintVData[_offset + 4] = _finalColor32;
|
||||||
if (_useMulti) vbuf[_offset + 5] = _texId; else if (_useTint) {
|
if (_useTint) {
|
||||||
_darkColor32 = (clippedVertices[_v3 + 11] << 24 >>> 0) + (clippedVertices[_v3 + 10] << 16) + (clippedVertices[_v3 + 9] << 8) + clippedVertices[_v3 + 8];
|
_darkColor32 = (clippedVertices[_v3 + 11] << 24 >>> 0) + (clippedVertices[_v3 + 10] << 16) + (clippedVertices[_v3 + 9] << 8) + clippedVertices[_v3 + 8];
|
||||||
uintVData[_offset + 5] = _darkColor32;
|
uintVData[_offset + 5] = _darkColor32;
|
||||||
}
|
_useMulti && (vbuf[_offset + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[_offset + 5] = _texId);
|
||||||
}
|
}
|
||||||
} else if (_vertexEffect) for (var v = _vertexFloatOffset, n = _vertexFloatOffset + _vertexFloatCount; v < n; v += _perVertexSize) {
|
} else if (_vertexEffect) for (var v = _vertexFloatOffset, n = _vertexFloatOffset + _vertexFloatCount; v < n; v += _perVertexSize) {
|
||||||
_tempPos.x = vbuf[v];
|
_tempPos.x = vbuf[v];
|
||||||
@ -74672,13 +74705,19 @@
|
|||||||
vbuf[v + 2] = _tempUv.x;
|
vbuf[v + 2] = _tempUv.x;
|
||||||
vbuf[v + 3] = _tempUv.y;
|
vbuf[v + 3] = _tempUv.y;
|
||||||
uintVData[v + 4] = _spineColorToInt32(_finalColor);
|
uintVData[v + 4] = _spineColorToInt32(_finalColor);
|
||||||
_useMulti ? vbuf[v + 5] = _texId : _useTint && (uintVData[v + 5] = _spineColorToInt32(_darkColor));
|
if (_useTint) {
|
||||||
|
uintVData[v + 5] = _spineColorToInt32(_darkColor);
|
||||||
|
_useMulti && (vbuf[v + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[v + 5] = _texId);
|
||||||
} else {
|
} else {
|
||||||
_finalColor32 = _spineColorToInt32(_finalColor);
|
_finalColor32 = _spineColorToInt32(_finalColor);
|
||||||
_darkColor32 = _spineColorToInt32(_darkColor);
|
_darkColor32 = _spineColorToInt32(_darkColor);
|
||||||
for (var _v = _vertexFloatOffset, _n = _vertexFloatOffset + _vertexFloatCount; _v < _n; _v += _perVertexSize) {
|
for (var _v = _vertexFloatOffset, _n = _vertexFloatOffset + _vertexFloatCount; _v < _n; _v += _perVertexSize) {
|
||||||
uintVData[_v + 4] = _finalColor32;
|
uintVData[_v + 4] = _finalColor32;
|
||||||
_useMulti ? vbuf[_v + 5] = _texId : _useTint && (uintVData[_v + 5] = _darkColor32);
|
if (_useTint) {
|
||||||
|
uintVData[_v + 5] = _darkColor32;
|
||||||
|
_useMulti && (vbuf[_v + 6] = _texId);
|
||||||
|
} else _useMulti && (vbuf[_v + 5] = _texId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -74706,7 +74745,7 @@
|
|||||||
graphics.clear();
|
graphics.clear();
|
||||||
graphics.lineWidth = 2;
|
graphics.lineWidth = 2;
|
||||||
}
|
}
|
||||||
_perClipVertexSize = _useMulti ? 12 : _useTint ? 12 : 8;
|
_perClipVertexSize = _useTint ? _useMulti ? 16 : 12 : _useMulti ? 12 : 8;
|
||||||
_vertexFloatCount = 0;
|
_vertexFloatCount = 0;
|
||||||
_vertexFloatOffset = 0;
|
_vertexFloatOffset = 0;
|
||||||
_vertexOffset = 0;
|
_vertexOffset = 0;
|
||||||
@ -74842,6 +74881,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
_proto.cacheVerticesConvertToMulti = function cacheVerticesConvertToMulti(vertices) {
|
||||||
|
var verticesMulti = new Float32Array(vertices.length + vertices.length / 6);
|
||||||
|
for (var i = 0, j = 0; j < vertices.length; ) {
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = vertices[j++];
|
||||||
|
verticesMulti[i++] = 0;
|
||||||
|
}
|
||||||
|
return verticesMulti;
|
||||||
|
};
|
||||||
_proto.cacheTraverse = function cacheTraverse(worldMat) {
|
_proto.cacheTraverse = function cacheTraverse(worldMat) {
|
||||||
var frame = _comp._curFrame;
|
var frame = _comp._curFrame;
|
||||||
if (!frame) return;
|
if (!frame) return;
|
||||||
@ -74853,6 +74905,11 @@
|
|||||||
var vertices = frame.vertices;
|
var vertices = frame.vertices;
|
||||||
var indices = frame.indices;
|
var indices = frame.indices;
|
||||||
var worldMatm;
|
var worldMatm;
|
||||||
|
var useMultiTint = _useMulti && _useTint;
|
||||||
|
if (useMultiTint) {
|
||||||
|
frame.verticesMulti || (frame.verticesMulti = this.cacheVerticesConvertToMulti(frame.vertices));
|
||||||
|
vertices = frame.verticesMulti;
|
||||||
|
}
|
||||||
var frameVFOffset = 0, frameIndexOffset = 0, segVFCount = 0;
|
var frameVFOffset = 0, frameIndexOffset = 0, segVFCount = 0;
|
||||||
if (worldMat) {
|
if (worldMat) {
|
||||||
worldMatm = worldMat.m;
|
worldMatm = worldMat.m;
|
||||||
@ -74869,7 +74926,7 @@
|
|||||||
var colorOffset = 0;
|
var colorOffset = 0;
|
||||||
var colors = frame.colors;
|
var colors = frame.colors;
|
||||||
var nowColor = colors[colorOffset++];
|
var nowColor = colors[colorOffset++];
|
||||||
var maxVFOffset = nowColor.vfOffset;
|
var maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
_handleColor(nowColor);
|
_handleColor(nowColor);
|
||||||
for (var i = 0, n = segments.length; i < n; i++) {
|
for (var i = 0, n = segments.length; i < n; i++) {
|
||||||
var segInfo = segments[i];
|
var segInfo = segments[i];
|
||||||
@ -74891,32 +74948,57 @@
|
|||||||
ibuf = _buffer._iData;
|
ibuf = _buffer._iData;
|
||||||
uintbuf = _buffer._uintVData;
|
uintbuf = _buffer._uintVData;
|
||||||
for (var ii = _indexOffset, il = _indexOffset + _indexCount; ii < il; ii++) ibuf[ii] = _vertexOffset + indices[frameIndexOffset++];
|
for (var ii = _indexOffset, il = _indexOffset + _indexCount; ii < il; ii++) ibuf[ii] = _vertexOffset + indices[frameIndexOffset++];
|
||||||
segVFCount = segInfo.vfCount;
|
segVFCount = useMultiTint ? segInfo.vfCount + segInfo.vfCount / 6 : segInfo.vfCount;
|
||||||
vbuf.set(vertices.subarray(frameVFOffset, frameVFOffset + segVFCount), _vfOffset);
|
vbuf.set(vertices.subarray(frameVFOffset, frameVFOffset + segVFCount), _vfOffset);
|
||||||
frameVFOffset += segVFCount;
|
frameVFOffset += segVFCount;
|
||||||
if (calcTranslate) for (var _ii4 = _vfOffset, _il = _vfOffset + segVFCount; _ii4 < _il; _ii4 += 6) {
|
if (calcTranslate) for (var _ii4 = _vfOffset, _il = _vfOffset + segVFCount; _ii4 < _il; _ii4 += _perVertexSize) {
|
||||||
vbuf[_ii4] += _m12;
|
vbuf[_ii4] += _m12;
|
||||||
vbuf[_ii4 + 1] += _m13;
|
vbuf[_ii4 + 1] += _m13;
|
||||||
} else if (needBatch) for (var _ii5 = _vfOffset, _il2 = _vfOffset + segVFCount; _ii5 < _il2; _ii5 += 6) {
|
} else if (needBatch) for (var _ii5 = _vfOffset, _il2 = _vfOffset + segVFCount; _ii5 < _il2; _ii5 += _perVertexSize) {
|
||||||
_x = vbuf[_ii5];
|
_x = vbuf[_ii5];
|
||||||
_y = vbuf[_ii5 + 1];
|
_y = vbuf[_ii5 + 1];
|
||||||
vbuf[_ii5] = _x * _m00 + _y * _m04 + _m12;
|
vbuf[_ii5] = _x * _m00 + _y * _m04 + _m12;
|
||||||
vbuf[_ii5 + 1] = _x * _m01 + _y * _m05 + _m13;
|
vbuf[_ii5 + 1] = _x * _m01 + _y * _m05 + _m13;
|
||||||
}
|
}
|
||||||
_buffer.adjustForSpine(_vertexCount, _indexCount);
|
_buffer.adjustForSpine(_vertexCount, _indexCount);
|
||||||
if (_needColor) {
|
if (_useMulti) if (_useTint) if (_needColor) {
|
||||||
var frameColorOffset = frameVFOffset - segVFCount;
|
var frameColorOffset = frameVFOffset - segVFCount;
|
||||||
for (var _ii6 = _vfOffset + 4, _il3 = _vfOffset + 4 + segVFCount; _ii6 < _il3; _ii6 += 6,
|
for (var _ii6 = _vfOffset + 4, _il3 = _vfOffset + 4 + segVFCount; _ii6 < _il3; _ii6 += _perVertexSize,
|
||||||
frameColorOffset += 6) {
|
frameColorOffset += _perVertexSize) {
|
||||||
if (frameColorOffset >= maxVFOffset) {
|
if (frameColorOffset >= maxVFOffset) {
|
||||||
nowColor = colors[colorOffset++];
|
nowColor = colors[colorOffset++];
|
||||||
_handleColor(nowColor);
|
_handleColor(nowColor);
|
||||||
maxVFOffset = nowColor.vfOffset;
|
maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
}
|
}
|
||||||
uintbuf[_ii6] = _finalColor32;
|
uintbuf[_ii6] = _finalColor32;
|
||||||
_useMulti ? vbuf[_ii6 + 1] = _texId : uintbuf[_ii6 + 1] = _darkColor32;
|
uintbuf[_ii6 + 1] = _darkColor32;
|
||||||
|
vbuf[_ii6 + 2] = _texId;
|
||||||
|
}
|
||||||
|
} else for (var _ii7 = _vfOffset + 4, _il4 = _vfOffset + 4 + segVFCount; _ii7 < _il4; _ii7 += _perVertexSize) vbuf[_ii7 + 2] = _texId; else if (_needColor) {
|
||||||
|
var _frameColorOffset = frameVFOffset - segVFCount;
|
||||||
|
for (var _ii8 = _vfOffset + 4, _il5 = _vfOffset + 4 + segVFCount; _ii8 < _il5; _ii8 += _perVertexSize,
|
||||||
|
_frameColorOffset += _perVertexSize) {
|
||||||
|
if (_frameColorOffset >= maxVFOffset) {
|
||||||
|
nowColor = colors[colorOffset++];
|
||||||
|
_handleColor(nowColor);
|
||||||
|
maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
|
}
|
||||||
|
uintbuf[_ii8] = _finalColor32;
|
||||||
|
vbuf[_ii8 + 1] = _texId;
|
||||||
|
}
|
||||||
|
} else for (var _ii9 = _vfOffset + 4, _il6 = _vfOffset + 4 + segVFCount; _ii9 < _il6; _ii9 += _perVertexSize) vbuf[_ii9 + 1] = _texId; else if (_needColor) {
|
||||||
|
var _frameColorOffset2 = frameVFOffset - segVFCount;
|
||||||
|
for (var _ii10 = _vfOffset + 4, _il7 = _vfOffset + 4 + segVFCount; _ii10 < _il7; _ii10 += _perVertexSize,
|
||||||
|
_frameColorOffset2 += _perVertexSize) {
|
||||||
|
if (_frameColorOffset2 >= maxVFOffset) {
|
||||||
|
nowColor = colors[colorOffset++];
|
||||||
|
_handleColor(nowColor);
|
||||||
|
maxVFOffset = useMultiTint ? nowColor.vfOffset + nowColor.vfOffset / 6 : nowColor.vfOffset;
|
||||||
|
}
|
||||||
|
uintbuf[_ii10] = _finalColor32;
|
||||||
|
uintbuf[_ii10 + 1] = _darkColor32;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (_useMulti) for (var _ii7 = _vfOffset + 4, _il4 = _vfOffset + 4 + segVFCount; _ii7 < _il4; _ii7 += 6) vbuf[_ii7 + 1] = _texId;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
_proto.fillBuffers = function fillBuffers(comp, renderer) {
|
_proto.fillBuffers = function fillBuffers(comp, renderer) {
|
||||||
@ -74931,9 +75013,9 @@
|
|||||||
var baseMaterial = comp._materials[0];
|
var baseMaterial = comp._materials[0];
|
||||||
if (!baseMaterial) return;
|
if (!baseMaterial) return;
|
||||||
_useMulti = baseMaterial.material.isMultiSupport();
|
_useMulti = baseMaterial.material.isMultiSupport();
|
||||||
_useTint = !_useMulti && (comp.useTint || comp.isAnimationCached());
|
_useTint = comp.useTint;
|
||||||
_vertexFormat = _useMulti ? VFOneColorTexId : _useTint ? VFTwoColor : VFOneColor;
|
_vertexFormat = _useTint ? _useMulti ? VFTwoColorTexId : VFTwoColor : _useMulti ? VFOneColorTexId : comp.isAnimationCached() ? VFTwoColor : VFOneColor;
|
||||||
_perVertexSize = _useMulti ? 6 : _useTint ? 6 : 5;
|
_perVertexSize = _useTint ? _useMulti ? 7 : 6 : _useMulti ? 6 : comp.isAnimationCached() ? 6 : 5;
|
||||||
_node = comp.node;
|
_node = comp.node;
|
||||||
_buffer = renderer.getBuffer("mesh", _vertexFormat);
|
_buffer = renderer.getBuffer("mesh", _vertexFormat);
|
||||||
_renderer = renderer;
|
_renderer = renderer;
|
||||||
|
Loading…
Reference in New Issue
Block a user