mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
fix some bugs
This commit is contained in:
parent
dac04ceb7c
commit
f3fdc4c52a
5 changed files with 29 additions and 5 deletions
|
|
@ -60,6 +60,7 @@ class InstanceManager {
|
|||
dtsShader.currentOpacity = instance.gameObject.currentOpacity;
|
||||
}
|
||||
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.setTransform(transform);
|
||||
|
|
@ -67,7 +68,7 @@ class InstanceManager {
|
|||
}
|
||||
}
|
||||
if (minfo.transparencymeshbatch != null) {
|
||||
var transparentinstances = visibleinstances.filter(x -> x.gameObject.currentOpacity != 1);
|
||||
var transparentinstances = visibleinstances.filter(x -> x.gameObject.currentOpacity != 1 && x.gameObject.currentOpacity != 0); // Filter out all zero opacity things too
|
||||
minfo.transparencymeshbatch.begin(transparentinstances.length);
|
||||
for (instance in transparentinstances) { // Non opaque shit
|
||||
var dtsShader = minfo.transparencymeshbatch.material.mainPass.getShader(DtsTexture);
|
||||
|
|
|
|||
|
|
@ -267,6 +267,8 @@ class MarbleWorld extends Scheduler {
|
|||
worker.loadFile(file);
|
||||
}
|
||||
|
||||
this.scene.camera.zFar = Math.max(4000, Std.parseFloat(this.skyElement.visibledistance));
|
||||
|
||||
this.sky = new Sky();
|
||||
|
||||
sky.dmlPath = "data/skies/sky_day.dml";
|
||||
|
|
@ -312,6 +314,8 @@ class MarbleWorld extends Scheduler {
|
|||
"shapes/pads/red.jpg",
|
||||
"shapes/pads/blue.jpg",
|
||||
"shapes/pads/green.jpg",
|
||||
"shapes/items/gem.dts", // Ew ew
|
||||
"shapes/items/gemshine.png",
|
||||
];
|
||||
for (file in marblefiles) {
|
||||
worker.loadFile(file);
|
||||
|
|
|
|||
|
|
@ -51,8 +51,10 @@ class Sky extends Object {
|
|||
// env.compute();
|
||||
// var renderer = cast(level.scene.renderer, h3d.scene.pbr.Renderer);
|
||||
var shad = new Skybox(texture);
|
||||
skyMesh.material.mainPass.removeShader(skyMesh.material.textureShader);
|
||||
skyMesh.material.mainPass.addShader(shad);
|
||||
skyMesh.material.mainPass.depthWrite = false;
|
||||
skyMesh.material.mainPass.depth(false, h3d.mat.Data.Compare.LessEqual);
|
||||
cubemap = texture;
|
||||
onFinish();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -3,21 +3,38 @@ package shaders;
|
|||
class Skybox extends hxsl.Shader {
|
||||
static var SRC = {
|
||||
var pixelColor:Vec4;
|
||||
var transformedNormal:Vec3;
|
||||
var transformedPosition:Vec3;
|
||||
var projectedPosition:Vec4;
|
||||
@param var texture:SamplerCube;
|
||||
@global var camera:{
|
||||
var position:Vec3;
|
||||
var viewProj:Mat4;
|
||||
var view:Mat4;
|
||||
var proj:Mat4;
|
||||
var projFlip:Float;
|
||||
};
|
||||
@input var input:{
|
||||
var position:Vec3;
|
||||
};
|
||||
@global var global:{
|
||||
@perObject var modelView:Mat4;
|
||||
};
|
||||
var output:{
|
||||
var position:Vec4;
|
||||
var color:Vec4;
|
||||
var depth:Float;
|
||||
};
|
||||
var projNorm:Vec3;
|
||||
function __init__() {
|
||||
transformedPosition = input.position * global.modelView.mat3x4();
|
||||
projectedPosition = vec4(transformedPosition, 1) * camera.viewProj;
|
||||
}
|
||||
function vertex() {
|
||||
projNorm = transformedPosition - camera.position;
|
||||
output.position = projectedPosition * vec4(1, camera.projFlip, 1, 1);
|
||||
}
|
||||
function fragment() {
|
||||
pixelColor.rgba = texture.get(normalize(projNorm)).rgba;
|
||||
output.color = texture.get(normalize(projNorm)).rgba;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ class Trigger extends GameObject {
|
|||
|
||||
var mat = new Matrix();
|
||||
var quat = MisParser.parseRotation(element.rotation);
|
||||
// quat.x = -quat.x;
|
||||
// quat.w = -quat.w;
|
||||
quat.x = -quat.x;
|
||||
quat.w = -quat.w;
|
||||
quat.toMatrix(mat);
|
||||
var scale = MisParser.parseVector3(element.scale);
|
||||
mat.scale(scale.x, scale.y, scale.z);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue