mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
more glow
This commit is contained in:
parent
a893aa7040
commit
c4604d497a
14 changed files with 319 additions and 10 deletions
BIN
data/skies/env_DN.png
Normal file
BIN
data/skies/env_DN.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 136 B |
BIN
data/skies/env_EA.png
Normal file
BIN
data/skies/env_EA.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 322 B |
BIN
data/skies/env_NO.png
Normal file
BIN
data/skies/env_NO.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 240 B |
BIN
data/skies/env_SO.png
Normal file
BIN
data/skies/env_SO.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 323 B |
BIN
data/skies/env_UP.png
Normal file
BIN
data/skies/env_UP.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 135 B |
BIN
data/skies/env_WE.png
Normal file
BIN
data/skies/env_WE.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 257 B |
|
|
@ -78,8 +78,9 @@ class InstanceManager {
|
||||||
minfo.meshbatch.material.mainPass.depthTest = minfo.mesh.material.mainPass.depthTest;
|
minfo.meshbatch.material.mainPass.depthTest = minfo.mesh.material.mainPass.depthTest;
|
||||||
// minfo.meshbatch.shadersChanged = true;
|
// minfo.meshbatch.shadersChanged = true;
|
||||||
minfo.meshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
minfo.meshbatch.material.mainPass.setPassName(minfo.mesh.material.mainPass.name);
|
||||||
// minfo.meshbatch.material.mainPass.enableLights = minfo.mesh.material.mainPass.enableLights;
|
minfo.meshbatch.material.mainPass.enableLights = minfo.mesh.material.mainPass.enableLights;
|
||||||
minfo.meshbatch.worldPosition = transform;
|
minfo.meshbatch.worldPosition = transform;
|
||||||
|
minfo.meshbatch.material.mainPass.culling = minfo.mesh.material.mainPass.culling;
|
||||||
minfo.meshbatch.emitInstance();
|
minfo.meshbatch.emitInstance();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -151,7 +152,21 @@ class InstanceManager {
|
||||||
}
|
}
|
||||||
var glowPass = mat.getPass("glow");
|
var glowPass = mat.getPass("glow");
|
||||||
if (glowPass != null) {
|
if (glowPass != null) {
|
||||||
minfo.meshbatch.material.addPass(glowPass.clone());
|
var gpass = glowPass.clone();
|
||||||
|
gpass.enableLights = false;
|
||||||
|
gpass.depthTest = LessEqual;
|
||||||
|
minfoshaders = [];
|
||||||
|
|
||||||
|
for (shader in gpass.getShaders()) {
|
||||||
|
minfoshaders.push(shader);
|
||||||
|
}
|
||||||
|
for (shader in minfoshaders)
|
||||||
|
gpass.removeShader(shader);
|
||||||
|
for (shader in glowPass.getShaders()) {
|
||||||
|
gpass.addShader(shader);
|
||||||
|
}
|
||||||
|
|
||||||
|
minfo.meshbatch.material.addPass(gpass);
|
||||||
}
|
}
|
||||||
// var dtsshader = mat.mainPass.getShader(DtsTexture);
|
// var dtsshader = mat.mainPass.getShader(DtsTexture);
|
||||||
// if (dtsshader != null) {
|
// if (dtsshader != null) {
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ class DefaultCubemapMaterial extends hxsl.Shader {
|
||||||
var specPower:Float;
|
var specPower:Float;
|
||||||
var pixelTransformedPosition:Vec3;
|
var pixelTransformedPosition:Vec3;
|
||||||
var transformedNormal:Vec3;
|
var transformedNormal:Vec3;
|
||||||
|
@const var doGammaRamp:Bool;
|
||||||
// @var var outReflectVec:Vec3;
|
// @var var outReflectVec:Vec3;
|
||||||
@var var outLightVec:Vec4;
|
@var var outLightVec:Vec4;
|
||||||
@var var outPos:Vec3;
|
@var var outPos:Vec3;
|
||||||
|
|
@ -82,11 +83,13 @@ class DefaultCubemapMaterial extends hxsl.Shader {
|
||||||
outCol += specular * diffuse.a;
|
outCol += specular * diffuse.a;
|
||||||
|
|
||||||
// Gamma correction using our regression model
|
// Gamma correction using our regression model
|
||||||
var a = 1.00759;
|
if (doGammaRamp) {
|
||||||
var b = 1.18764;
|
var a = 1.00759;
|
||||||
outCol.x = a * pow(outCol.x, b);
|
var b = 1.18764;
|
||||||
outCol.y = a * pow(outCol.y, b);
|
outCol.x = a * pow(outCol.x, b);
|
||||||
outCol.z = a * pow(outCol.z, b);
|
outCol.y = a * pow(outCol.y, b);
|
||||||
|
outCol.z = a * pow(outCol.z, b);
|
||||||
|
}
|
||||||
|
|
||||||
pixelColor = outCol;
|
pixelColor = outCol;
|
||||||
}
|
}
|
||||||
|
|
@ -100,5 +103,6 @@ class DefaultCubemapMaterial extends hxsl.Shader {
|
||||||
this.shininess = shininess;
|
this.shininess = shininess;
|
||||||
this.specularColor = specularColor;
|
this.specularColor = specularColor;
|
||||||
this.secondaryMapUvFactor = secondaryMapUvFactor;
|
this.secondaryMapUvFactor = secondaryMapUvFactor;
|
||||||
|
this.doGammaRamp = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,12 +70,28 @@ class AntiGravity extends PowerUp {
|
||||||
material.receiveShadows = true;
|
material.receiveShadows = true;
|
||||||
}
|
}
|
||||||
if (matName == "item_glow") {
|
if (matName == "item_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();
|
var glowpass = material.mainPass.clone();
|
||||||
|
glowpass.addShader(trivialShader);
|
||||||
|
var dtsshader = glowpass.getShader(shaders.DtsTexture);
|
||||||
|
if (dtsshader != null)
|
||||||
|
glowpass.removeShader(dtsshader);
|
||||||
glowpass.setPassName("glow");
|
glowpass.setPassName("glow");
|
||||||
glowpass.depthTest = LessEqual;
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.enableLights = false;
|
||||||
material.addPass(glowpass);
|
material.addPass(glowpass);
|
||||||
|
|
||||||
material.mainPass.setPassName("glowPre");
|
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();
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
thisprops.light = false; // We will calculate our own lighting
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
|
|
||||||
|
|
@ -54,5 +54,34 @@ class Blast extends PowerUp {
|
||||||
material.shadows = false;
|
material.shadows = false;
|
||||||
material.receiveShadows = true;
|
material.receiveShadows = true;
|
||||||
}
|
}
|
||||||
|
if (matName == "item_glow") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/items/item_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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ class EndPad extends DtsObject {
|
||||||
this.dtsPath = "data/shapes/pads/endarea.dts";
|
this.dtsPath = "data/shapes/pads/endarea.dts";
|
||||||
this.isCollideable = true;
|
this.isCollideable = true;
|
||||||
this.identifier = "EndPad";
|
this.identifier = "EndPad";
|
||||||
this.useInstancing = false;
|
this.useInstancing = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override function init(level:MarbleWorld, onFinish:Void->Void) {
|
public override function init(level:MarbleWorld, onFinish:Void->Void) {
|
||||||
|
|
@ -120,6 +120,76 @@ class EndPad extends DtsObject {
|
||||||
// We can safely remove the firework
|
// We can safely remove the firework
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override function postProcessMaterial(matName:String, material:h3d.mat.Material) {
|
||||||
|
if (matName == "abyss2") {
|
||||||
|
var glowpass = material.mainPass.clone();
|
||||||
|
glowpass.setPassName("glow");
|
||||||
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.enableLights = false;
|
||||||
|
material.addPass(glowpass);
|
||||||
|
|
||||||
|
material.mainPass.setPassName("glowPre");
|
||||||
|
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 == "ringtex") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/pads/ringtex.png").resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
var shader = new shaders.DefaultNormalMaterial(diffuseTex, 14, new h3d.Vector(0.3, 0.3, 0.3, 7), 1);
|
||||||
|
shader.doGammaRamp = false;
|
||||||
|
var dtsTex = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
dtsTex.passThrough = true;
|
||||||
|
material.mainPass.removeShader(material.textureShader);
|
||||||
|
material.mainPass.addShader(shader);
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
material.receiveShadows = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matName == "misty") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/pads/misty.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;
|
||||||
|
glowpass.blendSrc = SrcAlpha;
|
||||||
|
glowpass.blendDst = OneMinusSrcAlpha;
|
||||||
|
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;
|
||||||
|
material.blendMode = Alpha;
|
||||||
|
material.mainPass.blendSrc = SrcAlpha;
|
||||||
|
material.mainPass.blendDst = OneMinusSrcAlpha;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final fireworkSmoke:ParticleEmitterOptions = {
|
final fireworkSmoke:ParticleEmitterOptions = {
|
||||||
|
|
|
||||||
|
|
@ -64,5 +64,34 @@ class MegaMarble extends PowerUp {
|
||||||
material.shadows = false;
|
material.shadows = false;
|
||||||
material.receiveShadows = true;
|
material.receiveShadows = true;
|
||||||
}
|
}
|
||||||
|
if (matName == "item_glow") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/images/grow_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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package shapes;
|
package shapes;
|
||||||
|
|
||||||
import src.DtsObject;
|
import src.DtsObject;
|
||||||
|
import src.ResourceLoader;
|
||||||
|
|
||||||
class StartPad extends DtsObject {
|
class StartPad extends DtsObject {
|
||||||
public function new() {
|
public function new() {
|
||||||
|
|
@ -8,6 +9,122 @@ class StartPad extends DtsObject {
|
||||||
dtsPath = "data/shapes/pads/startarea.dts";
|
dtsPath = "data/shapes/pads/startarea.dts";
|
||||||
isCollideable = true;
|
isCollideable = true;
|
||||||
identifier = "StartPad";
|
identifier = "StartPad";
|
||||||
useInstancing = false;
|
useInstancing = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
override function postProcessMaterial(matName:String, material:h3d.mat.Material) {
|
||||||
|
if (matName == "ringglass") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/pads/ringglass.png").resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
var normalTex = ResourceLoader.getTexture("data/shapes/pads/ringnormal.png").resource;
|
||||||
|
normalTex.wrap = Repeat;
|
||||||
|
normalTex.mipMap = Nearest;
|
||||||
|
|
||||||
|
var cubemapTex = new h3d.mat.Texture(64, 64, [Cube]);
|
||||||
|
var cubemapFace1 = ResourceLoader.getImage('data/skies/env_SO.png').resource;
|
||||||
|
var cubemapFace2 = ResourceLoader.getImage('data/skies/env_NO.png').resource;
|
||||||
|
var cubemapFace3 = ResourceLoader.getImage('data/skies/env_EA.png').resource;
|
||||||
|
var cubemapFace4 = ResourceLoader.getImage('data/skies/env_WE.png').resource;
|
||||||
|
var cubemapFace5 = ResourceLoader.getImage('data/skies/env_UP.png').resource;
|
||||||
|
var cubemapFace6 = ResourceLoader.getImage('data/skies/env_DN.png').resource;
|
||||||
|
cubemapTex.uploadPixels(cubemapFace1.getPixels(), 0, 0);
|
||||||
|
cubemapTex.uploadPixels(cubemapFace2.getPixels(), 0, 1);
|
||||||
|
cubemapTex.uploadPixels(cubemapFace3.getPixels(), 0, 2);
|
||||||
|
cubemapTex.uploadPixels(cubemapFace4.getPixels(), 0, 3);
|
||||||
|
cubemapTex.uploadPixels(cubemapFace5.getPixels(), 0, 4);
|
||||||
|
cubemapTex.uploadPixels(cubemapFace6.getPixels(), 0, 5);
|
||||||
|
|
||||||
|
var shader = new shaders.DefaultCubemapMaterial(diffuseTex, normalTex, 12, new h3d.Vector(0.8, 0.8, 0.8, 1), 1, cubemapTex);
|
||||||
|
shader.doGammaRamp = false;
|
||||||
|
var dtsTex = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
dtsTex.passThrough = true;
|
||||||
|
material.mainPass.removeShader(material.textureShader);
|
||||||
|
material.mainPass.addShader(shader);
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
material.receiveShadows = true;
|
||||||
|
material.blendMode = Alpha;
|
||||||
|
material.mainPass.culling = None;
|
||||||
|
// material.blendMode = Alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matName == "ringtex") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/pads/ringtex.png").resource;
|
||||||
|
diffuseTex.wrap = Repeat;
|
||||||
|
diffuseTex.mipMap = Nearest;
|
||||||
|
var shader = new shaders.DefaultNormalMaterial(diffuseTex, 14, new h3d.Vector(0.3, 0.3, 0.3, 7), 1);
|
||||||
|
shader.doGammaRamp = false;
|
||||||
|
var dtsTex = material.mainPass.getShader(shaders.DtsTexture);
|
||||||
|
dtsTex.passThrough = true;
|
||||||
|
material.mainPass.removeShader(material.textureShader);
|
||||||
|
material.mainPass.addShader(shader);
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
material.receiveShadows = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matName == "abyss") {
|
||||||
|
var thisprops:Dynamic = material.getDefaultProps();
|
||||||
|
thisprops.light = false; // We will calculate our own lighting
|
||||||
|
material.props = thisprops;
|
||||||
|
material.shadows = false;
|
||||||
|
material.receiveShadows = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matName == "abyss2") {
|
||||||
|
var glowpass = material.mainPass.clone();
|
||||||
|
glowpass.setPassName("glow");
|
||||||
|
glowpass.depthTest = LessEqual;
|
||||||
|
glowpass.enableLights = false;
|
||||||
|
material.addPass(glowpass);
|
||||||
|
|
||||||
|
material.mainPass.setPassName("glowPre");
|
||||||
|
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 == "misty") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/pads/misty.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;
|
||||||
|
glowpass.blendSrc = SrcAlpha;
|
||||||
|
glowpass.blendDst = OneMinusSrcAlpha;
|
||||||
|
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;
|
||||||
|
material.blendMode = Alpha;
|
||||||
|
material.mainPass.blendSrc = SrcAlpha;
|
||||||
|
material.mainPass.blendDst = OneMinusSrcAlpha;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -107,5 +107,34 @@ class SuperSpeed extends PowerUp {
|
||||||
material.shadows = false;
|
material.shadows = false;
|
||||||
material.receiveShadows = true;
|
material.receiveShadows = true;
|
||||||
}
|
}
|
||||||
|
if (matName == "superSpeed_star") {
|
||||||
|
var diffuseTex = ResourceLoader.getTexture("data/shapes/items/superSpeed_star.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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue