mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2026-04-27 05:01:38 +00:00
more glow
This commit is contained in:
parent
c4604d497a
commit
5960a845bd
6 changed files with 174 additions and 18 deletions
|
|
@ -816,6 +816,12 @@ class DtsObject extends GameObject {
|
||||||
var dot1 = normal.dot(vertexNormals[i1]);
|
var dot1 = normal.dot(vertexNormals[i1]);
|
||||||
var dot2 = normal.dot(vertexNormals[i2]);
|
var dot2 = normal.dot(vertexNormals[i2]);
|
||||||
var dot3 = normal.dot(vertexNormals[i3]);
|
var dot3 = normal.dot(vertexNormals[i3]);
|
||||||
|
var matname = dts.matNames[materialIndex];
|
||||||
|
// if (matname == 'blastwave') {
|
||||||
|
// var temp = i1;
|
||||||
|
// i1 = i3;
|
||||||
|
// i3 = temp;
|
||||||
|
// }
|
||||||
// if (!StringTools.contains(this.dtsPath, 'helicopter.dts') && !StringTools.contains(this.dtsPath, 'tornado.dts'))
|
// if (!StringTools.contains(this.dtsPath, 'helicopter.dts') && !StringTools.contains(this.dtsPath, 'tornado.dts'))
|
||||||
// ^ temp hardcoded fix
|
// ^ temp hardcoded fix
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,17 @@ class InstanceManager {
|
||||||
if (glowPass != null) {
|
if (glowPass != null) {
|
||||||
var gpass = glowPass.clone();
|
var gpass = glowPass.clone();
|
||||||
gpass.enableLights = false;
|
gpass.enableLights = false;
|
||||||
gpass.depthTest = LessEqual;
|
gpass.depthTest = glowPass.depthTest;
|
||||||
|
gpass.blendSrc = glowPass.blendSrc;
|
||||||
|
gpass.blendDst = glowPass.blendDst;
|
||||||
|
gpass.blendOp = glowPass.blendOp;
|
||||||
|
gpass.blendAlphaSrc = glowPass.blendAlphaSrc;
|
||||||
|
gpass.blendAlphaDst = glowPass.blendAlphaDst;
|
||||||
|
gpass.blendAlphaOp = glowPass.blendAlphaOp;
|
||||||
|
if (glowPass.culling == None) {
|
||||||
|
gpass.culling = glowPass.culling;
|
||||||
|
}
|
||||||
|
|
||||||
minfoshaders = [];
|
minfoshaders = [];
|
||||||
|
|
||||||
for (shader in gpass.getShaders()) {
|
for (shader in gpass.getShaders()) {
|
||||||
|
|
|
||||||
|
|
@ -169,25 +169,27 @@ class EndPad extends DtsObject {
|
||||||
glowpass.removeShader(dtsshader);
|
glowpass.removeShader(dtsshader);
|
||||||
glowpass.setPassName("glow");
|
glowpass.setPassName("glow");
|
||||||
glowpass.depthTest = LessEqual;
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.depthWrite = false;
|
||||||
glowpass.enableLights = false;
|
glowpass.enableLights = false;
|
||||||
glowpass.blendSrc = SrcAlpha;
|
glowpass.blendSrc = SrcAlpha;
|
||||||
glowpass.blendDst = OneMinusSrcAlpha;
|
glowpass.blendDst = OneMinusSrcAlpha;
|
||||||
material.addPass(glowpass);
|
material.addPass(glowpass);
|
||||||
|
|
||||||
material.mainPass.setPassName("glowPre");
|
material.mainPass.setPassName("glowPreNoRender");
|
||||||
material.mainPass.addShader(trivialShader);
|
material.mainPass.addShader(trivialShader);
|
||||||
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
if (dtsshader != null)
|
if (dtsshader != null)
|
||||||
material.mainPass.removeShader(dtsshader);
|
material.mainPass.removeShader(dtsshader);
|
||||||
material.mainPass.enableLights = false;
|
material.mainPass.enableLights = false;
|
||||||
|
|
||||||
var thisprops:Dynamic = material.getDefaultProps();
|
// var thisprops:Dynamic = material.getDefaultProps();
|
||||||
thisprops.light = false; // We will calculate our own lighting
|
// thisprops.light = false; // We will calculate our own lighting
|
||||||
material.props = thisprops;
|
// material.props = thisprops;
|
||||||
material.shadows = false;
|
// material.shadows = false;
|
||||||
material.blendMode = Alpha;
|
// material.blendMode = Alpha;
|
||||||
material.mainPass.blendSrc = SrcAlpha;
|
// material.mainPass.depthWrite = false;
|
||||||
material.mainPass.blendDst = OneMinusSrcAlpha;
|
// material.mainPass.blendSrc = SrcAlpha;
|
||||||
|
// material.mainPass.blendDst = OneMinusSrcAlpha;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,5 +32,77 @@ class RoundBumper extends AbstractBumper {
|
||||||
material.shadows = false;
|
material.shadows = false;
|
||||||
material.receiveShadows = true;
|
material.receiveShadows = true;
|
||||||
}
|
}
|
||||||
|
if (matName == "antigrav_glow") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/items/antigrav_glow.png").resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
|
||||||
|
var trivialShader = new shaders.TrivialMaterial(diffuseTex);
|
||||||
|
|
||||||
|
var glowpass = material.mainPass.clone();
|
||||||
|
glowpass.addShader(trivialShader);
|
||||||
|
var dtsshader = glowpass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
glowpass.removeShader(dtsshader);
|
||||||
|
glowpass.setPassName("glow");
|
||||||
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.enableLights = false;
|
||||||
|
material.addPass(glowpass);
|
||||||
|
|
||||||
|
material.mainPass.setPassName("glowPre");
|
||||||
|
material.mainPass.addShader(trivialShader);
|
||||||
|
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
material.mainPass.removeShader(dtsshader);
|
||||||
|
material.mainPass.enableLights = false;
|
||||||
|
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matName == "blastwave") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/images/blastwave.png").resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
// aa
|
||||||
|
var trivialShader = new shaders.TrivialMaterial(diffuseTex);
|
||||||
|
material.mainPass.removeShader(material.textureShader);
|
||||||
|
var glowpass = material.mainPass.clone();
|
||||||
|
|
||||||
|
glowpass.addShader(trivialShader);
|
||||||
|
var dtsshader = glowpass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
glowpass.removeShader(dtsshader);
|
||||||
|
glowpass.setPassName("glow");
|
||||||
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.depthWrite = false;
|
||||||
|
glowpass.enableLights = false;
|
||||||
|
glowpass.blendSrc = SrcAlpha;
|
||||||
|
glowpass.blendDst = One;
|
||||||
|
glowpass.blendOp = Add;
|
||||||
|
glowpass.blendAlphaSrc = SrcAlpha;
|
||||||
|
glowpass.blendAlphaDst = One;
|
||||||
|
glowpass.blendAlphaOp = Add;
|
||||||
|
// glowpass.blendSrc = SrcAlpha;
|
||||||
|
// glowpass.blendDst = OneMinusSrcAlpha;
|
||||||
|
material.addPass(glowpass);
|
||||||
|
|
||||||
|
material.mainPass.setPassName("glowPreNoRender");
|
||||||
|
material.mainPass.removeShader(material.textureShader);
|
||||||
|
material.mainPass.addShader(trivialShader);
|
||||||
|
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
material.mainPass.removeShader(dtsshader);
|
||||||
|
material.mainPass.enableLights = false;
|
||||||
|
|
||||||
|
// var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
// thisprops.light = false; // We will calculate our own lighting
|
||||||
|
// material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
// material.blendMode = Alpha;
|
||||||
|
material.mainPass.depthWrite = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,38 @@ class SignPlain extends DtsObject {
|
||||||
material.receiveShadows = true;
|
material.receiveShadows = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (matName == "arrowsign_arrow_glow") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture('data/shapes/signs/arrowsign_arrow.png').resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
var shader = new shaders.DefaultNormalMaterial(diffuseTex, 32, new h3d.Vector(1, 1, 1, 1), 1);
|
||||||
|
shader.doGammaRamp = false;
|
||||||
|
var dtsTex = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
dtsTex.passThrough = true;
|
||||||
|
material.mainPass.removeShader(material.textureShader);
|
||||||
|
material.mainPass.addShader(shader);
|
||||||
|
|
||||||
|
var glowpass = material.mainPass.clone();
|
||||||
|
var dtsshader = glowpass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
glowpass.removeShader(dtsshader);
|
||||||
|
glowpass.setPassName("glow");
|
||||||
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.enableLights = false;
|
||||||
|
material.addPass(glowpass);
|
||||||
|
|
||||||
|
material.mainPass.setPassName("glowPre");
|
||||||
|
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
material.mainPass.removeShader(dtsshader);
|
||||||
|
material.mainPass.enableLights = false;
|
||||||
|
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (matName == "ArrowPostUVW") {
|
if (matName == "ArrowPostUVW") {
|
||||||
var diffuseTex = ResourceLoader.getTexture('data/shapes/signs/arrowpostUVW.png').resource;
|
var diffuseTex = ResourceLoader.getTexture('data/shapes/signs/arrowpostUVW.png').resource;
|
||||||
diffuseTex.wrap = Repeat;
|
diffuseTex.wrap = Repeat;
|
||||||
|
|
@ -61,8 +93,40 @@ class SignPlain extends DtsObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matName == "arrowsign_chain") {
|
if (matName == "arrowsign_chain") {
|
||||||
material.blendMode = Alpha;
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/signs/arrowsign_chain.png").resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
|
||||||
|
var trivialShader = new shaders.TrivialMaterial(diffuseTex);
|
||||||
|
|
||||||
|
var glowpass = material.mainPass.clone();
|
||||||
|
glowpass.addShader(trivialShader);
|
||||||
|
var dtsshader = glowpass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
glowpass.removeShader(dtsshader);
|
||||||
|
glowpass.setPassName("glow");
|
||||||
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.depthWrite = false;
|
||||||
|
glowpass.enableLights = false;
|
||||||
|
glowpass.blendSrc = SrcAlpha;
|
||||||
|
glowpass.blendDst = OneMinusSrcAlpha;
|
||||||
|
material.addPass(glowpass);
|
||||||
|
|
||||||
|
material.mainPass.setPassName("glowPreNoRender");
|
||||||
|
material.mainPass.addShader(trivialShader);
|
||||||
|
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
material.mainPass.removeShader(dtsshader);
|
||||||
material.mainPass.enableLights = false;
|
material.mainPass.enableLights = false;
|
||||||
|
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
material.blendMode = Alpha;
|
||||||
|
material.mainPass.depthWrite = false;
|
||||||
|
material.mainPass.blendSrc = SrcAlpha;
|
||||||
|
material.mainPass.blendDst = OneMinusSrcAlpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matName == "arrowsign_post") {
|
if (matName == "arrowsign_post") {
|
||||||
|
|
|
||||||
|
|
@ -106,25 +106,27 @@ class StartPad extends DtsObject {
|
||||||
glowpass.removeShader(dtsshader);
|
glowpass.removeShader(dtsshader);
|
||||||
glowpass.setPassName("glow");
|
glowpass.setPassName("glow");
|
||||||
glowpass.depthTest = LessEqual;
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.depthWrite = false;
|
||||||
glowpass.enableLights = false;
|
glowpass.enableLights = false;
|
||||||
glowpass.blendSrc = SrcAlpha;
|
glowpass.blendSrc = SrcAlpha;
|
||||||
glowpass.blendDst = OneMinusSrcAlpha;
|
glowpass.blendDst = OneMinusSrcAlpha;
|
||||||
material.addPass(glowpass);
|
material.addPass(glowpass);
|
||||||
|
|
||||||
material.mainPass.setPassName("glowPre");
|
material.mainPass.setPassName("glowPreNoRender");
|
||||||
material.mainPass.addShader(trivialShader);
|
material.mainPass.addShader(trivialShader);
|
||||||
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
dtsshader = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
if (dtsshader != null)
|
if (dtsshader != null)
|
||||||
material.mainPass.removeShader(dtsshader);
|
material.mainPass.removeShader(dtsshader);
|
||||||
material.mainPass.enableLights = false;
|
material.mainPass.enableLights = false;
|
||||||
|
|
||||||
var thisprops:Dynamic = material.getDefaultProps();
|
// var thisprops:Dynamic = material.getDefaultProps();
|
||||||
thisprops.light = false; // We will calculate our own lighting
|
// thisprops.light = false; // We will calculate our own lighting
|
||||||
material.props = thisprops;
|
// material.props = thisprops;
|
||||||
material.shadows = false;
|
// material.shadows = false;
|
||||||
material.blendMode = Alpha;
|
// material.blendMode = Alpha;
|
||||||
material.mainPass.blendSrc = SrcAlpha;
|
// material.mainPass.depthWrite = false;
|
||||||
material.mainPass.blendDst = OneMinusSrcAlpha;
|
// material.mainPass.blendSrc = SrcAlpha;
|
||||||
|
// material.mainPass.blendDst = OneMinusSrcAlpha;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue