Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var sortDistArray = new Array(skinData.subMeshes.length);
- for (var i = 0; i < sortDistArray.length; i++) {
- var submesh = skinData.subMeshes[i];
- var centerBB = submesh.centerBoundingBox;
- var centerBBVec3 = vec3.fromValues(centerBB.x, centerBB.y, centerBB.z);
- var boneMat = this.bonesMatrices[submesh.rootBone];
- vec3.transformMat4(centerBBVec3, centerBBVec3, boneMat);
- vec3.transformMat4(centerBBVec3, centerBBVec3, modelViewMat);
- var value = vec3.length(centerBBVec3);
- sortDistArray[i] = value;
- }
- QuickSort.multiQuickSort(
- this.materialArray,
- 0, this.materialArray.length - 1,
- function test1(a, b) {
- var aabb1_t = transformedAABB[a.meshIndex];
- var aabb2_t = transformedAABB[b.meshIndex];
- if (a.flags != b.flags) {
- return b.flags - a.flags
- }
- if (sortDistArray[a.meshIndex] > sortDistArray[b.meshIndex]) {
- return 1
- }
- if (sortDistArray[a.meshIndex] < sortDistArray[b.meshIndex]) {
- return -1
- }
- return a.layer - b.layer;
- }
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement