mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2026-04-27 05:01:38 +00:00
reduce allocs
This commit is contained in:
parent
30f58ed436
commit
09344d58a4
1 changed files with 14 additions and 28 deletions
|
|
@ -158,51 +158,37 @@ class InstanceManager {
|
||||||
inst.visibleTicks = inst.visibleTicks - 1;
|
inst.visibleTicks = inst.visibleTicks - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inst.gameObject.currentOpacity == 1)
|
var opacity = inst.gameObject.currentOpacity;
|
||||||
|
if (opacity == 1)
|
||||||
opaqueinstances.push(inst);
|
opaqueinstances.push(inst);
|
||||||
else if (inst.gameObject.currentOpacity != 0)
|
else if (opacity != 0)
|
||||||
transparentinstances.push(inst);
|
transparentinstances.push(inst);
|
||||||
// break;
|
// break;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var dtsShader = minfo.dtsShader;
|
||||||
// Emit non culled primitives
|
// Emit non culled primitives
|
||||||
if (minfo.meshbatch != null) {
|
if (minfo.meshbatch != null) {
|
||||||
minfo.meshbatch.begin(opaqueinstances.length);
|
minfo.meshbatch.begin(opaqueinstances.length);
|
||||||
for (instance in opaqueinstances) { // Draw the opaque shit first
|
var i = 0;
|
||||||
var dtsShader = minfo.dtsShader;
|
while (i < opaqueinstances.length) {
|
||||||
if (dtsShader != null) {
|
var instance = @:privateAccess opaqueinstances.array[i++];
|
||||||
|
if (dtsShader != null)
|
||||||
dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
||||||
}
|
minfo.meshbatch.worldPosition = instance.emptyObj.getAbsPos();
|
||||||
var transform = instance.emptyObj.getAbsPos();
|
|
||||||
// minfo.meshbatch.shadersChanged = true;
|
|
||||||
// minfo.meshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
|
||||||
// minfo.meshbatch.material.mainPass.enableLights = minfo.mesh.material.mainPass.enableLights;
|
|
||||||
minfo.meshbatch.worldPosition = transform;
|
|
||||||
minfo.meshbatch.emitInstance();
|
minfo.meshbatch.emitInstance();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (minfo.transparencymeshbatch != null) {
|
if (minfo.transparencymeshbatch != null) {
|
||||||
minfo.transparencymeshbatch.begin(transparentinstances.length);
|
minfo.transparencymeshbatch.begin(transparentinstances.length);
|
||||||
for (instance in transparentinstances) { // Non opaque shit
|
var i = 0;
|
||||||
var dtsShader = minfo.dtsShader;
|
while (i < transparentinstances.length) {
|
||||||
if (dtsShader != null) {
|
var instance = @:privateAccess transparentinstances.array[i++];
|
||||||
|
if (dtsShader != null)
|
||||||
dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
||||||
}
|
minfo.transparencymeshbatch.worldPosition = instance.emptyObj.getAbsPos();
|
||||||
// minfo.transparencymeshbatch.material.blendMode = Alpha;
|
|
||||||
// minfo.transparencymeshbatch.material.color.a = instance.gameObject.currentOpacity;
|
|
||||||
// minfo.transparencymeshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
|
||||||
// minfo.transparencymeshbatch.shadersChanged = true;
|
|
||||||
// minfo.transparencymeshbatch.material.mainPass.enableLights = minfo.mesh.material.mainPass.enableLights;
|
|
||||||
// minfo.transparencymeshbatch.material.mainPass.depthWrite = false;
|
|
||||||
// if (dtsShader != null) {
|
|
||||||
// dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
|
||||||
// minfo.transparencymeshbatch.shadersChanged = true;
|
|
||||||
// }
|
|
||||||
var transform = instance.emptyObj.getAbsPos();
|
|
||||||
minfo.transparencymeshbatch.worldPosition = transform;
|
|
||||||
minfo.transparencymeshbatch.emitInstance();
|
minfo.transparencymeshbatch.emitInstance();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue