|
@@ -4809,7 +4809,9 @@ var BABYLON;
|
|
serializationObject = {};
|
|
serializationObject = {};
|
|
}
|
|
}
|
|
// Tags
|
|
// Tags
|
|
- serializationObject.tags = BABYLON.Tags.GetTags(entity);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ serializationObject.tags = BABYLON.Tags.GetTags(entity);
|
|
|
|
+ }
|
|
// Properties
|
|
// Properties
|
|
for (var property in entity.__serializableMembers) {
|
|
for (var property in entity.__serializableMembers) {
|
|
var propertyDescriptor = entity.__serializableMembers[property];
|
|
var propertyDescriptor = entity.__serializableMembers[property];
|
|
@@ -4850,7 +4852,9 @@ var BABYLON;
|
|
SerializationHelper.Parse = function (creationFunction, source, scene, rootUrl) {
|
|
SerializationHelper.Parse = function (creationFunction, source, scene, rootUrl) {
|
|
var destination = creationFunction();
|
|
var destination = creationFunction();
|
|
// Tags
|
|
// Tags
|
|
- BABYLON.Tags.AddTagsTo(destination, source.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(destination, source.tags);
|
|
|
|
+ }
|
|
// Properties
|
|
// Properties
|
|
for (var property in destination.__serializableMembers) {
|
|
for (var property in destination.__serializableMembers) {
|
|
var propertyDescriptor = destination.__serializableMembers[property];
|
|
var propertyDescriptor = destination.__serializableMembers[property];
|
|
@@ -4890,7 +4894,9 @@ var BABYLON;
|
|
SerializationHelper.Clone = function (creationFunction, source) {
|
|
SerializationHelper.Clone = function (creationFunction, source) {
|
|
var destination = creationFunction();
|
|
var destination = creationFunction();
|
|
// Tags
|
|
// Tags
|
|
- BABYLON.Tags.AddTagsTo(destination, source.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(destination, source.tags);
|
|
|
|
+ }
|
|
// Properties
|
|
// Properties
|
|
for (var property in destination.__serializableMembers) {
|
|
for (var property in destination.__serializableMembers) {
|
|
var propertyDescriptor = destination.__serializableMembers[property];
|
|
var propertyDescriptor = destination.__serializableMembers[property];
|
|
@@ -7597,6 +7603,13 @@ var BABYLON;
|
|
enumerable: true,
|
|
enumerable: true,
|
|
configurable: true
|
|
configurable: true
|
|
});
|
|
});
|
|
|
|
+ Object.defineProperty(Engine, "ALPHA_SCREENMODE", {
|
|
|
|
+ get: function () {
|
|
|
|
+ return Engine._ALPHA_SCREENMODE;
|
|
|
|
+ },
|
|
|
|
+ enumerable: true,
|
|
|
|
+ configurable: true
|
|
|
|
+ });
|
|
Object.defineProperty(Engine, "DELAYLOADSTATE_NONE", {
|
|
Object.defineProperty(Engine, "DELAYLOADSTATE_NONE", {
|
|
get: function () {
|
|
get: function () {
|
|
return Engine._DELAYLOADSTATE_NONE;
|
|
return Engine._DELAYLOADSTATE_NONE;
|
|
@@ -8889,6 +8902,10 @@ var BABYLON;
|
|
this._alphaState.setAlphaBlendFunctionParameters(this._gl.CONSTANT_COLOR, this._gl.ONE_MINUS_CONSTANT_COLOR, this._gl.CONSTANT_ALPHA, this._gl.ONE_MINUS_CONSTANT_ALPHA);
|
|
this._alphaState.setAlphaBlendFunctionParameters(this._gl.CONSTANT_COLOR, this._gl.ONE_MINUS_CONSTANT_COLOR, this._gl.CONSTANT_ALPHA, this._gl.ONE_MINUS_CONSTANT_ALPHA);
|
|
this._alphaState.alphaBlend = true;
|
|
this._alphaState.alphaBlend = true;
|
|
break;
|
|
break;
|
|
|
|
+ case Engine.ALPHA_SCREENMODE:
|
|
|
|
+ this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE, this._gl.ONE_MINUS_SRC_COLOR, this._gl.ONE, this._gl.ONE_MINUS_SRC_ALPHA);
|
|
|
|
+ this._alphaState.alphaBlend = true;
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
if (!noDepthWriteChange) {
|
|
if (!noDepthWriteChange) {
|
|
this.setDepthWrite(mode === Engine.ALPHA_DISABLE);
|
|
this.setDepthWrite(mode === Engine.ALPHA_DISABLE);
|
|
@@ -10365,6 +10382,7 @@ var BABYLON;
|
|
Engine._ALPHA_PREMULTIPLIED = 7;
|
|
Engine._ALPHA_PREMULTIPLIED = 7;
|
|
Engine._ALPHA_PREMULTIPLIED_PORTERDUFF = 8;
|
|
Engine._ALPHA_PREMULTIPLIED_PORTERDUFF = 8;
|
|
Engine._ALPHA_INTERPOLATE = 9;
|
|
Engine._ALPHA_INTERPOLATE = 9;
|
|
|
|
+ Engine._ALPHA_SCREENMODE = 10;
|
|
Engine._DELAYLOADSTATE_NONE = 0;
|
|
Engine._DELAYLOADSTATE_NONE = 0;
|
|
Engine._DELAYLOADSTATE_LOADED = 1;
|
|
Engine._DELAYLOADSTATE_LOADED = 1;
|
|
Engine._DELAYLOADSTATE_LOADING = 2;
|
|
Engine._DELAYLOADSTATE_LOADING = 2;
|
|
@@ -20973,7 +20991,7 @@ var BABYLON;
|
|
serializationObject.name = this.name;
|
|
serializationObject.name = this.name;
|
|
serializationObject.id = this.id;
|
|
serializationObject.id = this.id;
|
|
serializationObject.type = this.getClassName();
|
|
serializationObject.type = this.getClassName();
|
|
- if (BABYLON.Tags.HasTags(this)) {
|
|
|
|
|
|
+ if (BABYLON.Tags && BABYLON.Tags.HasTags(this)) {
|
|
serializationObject.tags = BABYLON.Tags.GetTags(this);
|
|
serializationObject.tags = BABYLON.Tags.GetTags(this);
|
|
}
|
|
}
|
|
serializationObject.position = this.position.asArray();
|
|
serializationObject.position = this.position.asArray();
|
|
@@ -21136,7 +21154,9 @@ var BABYLON;
|
|
mesh = new Mesh(parsedMesh.name, scene);
|
|
mesh = new Mesh(parsedMesh.name, scene);
|
|
}
|
|
}
|
|
mesh.id = parsedMesh.id;
|
|
mesh.id = parsedMesh.id;
|
|
- BABYLON.Tags.AddTagsTo(mesh, parsedMesh.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(mesh, parsedMesh.tags);
|
|
|
|
+ }
|
|
mesh.position = BABYLON.Vector3.FromArray(parsedMesh.position);
|
|
mesh.position = BABYLON.Vector3.FromArray(parsedMesh.position);
|
|
if (parsedMesh.metadata !== undefined) {
|
|
if (parsedMesh.metadata !== undefined) {
|
|
mesh.metadata = parsedMesh.metadata;
|
|
mesh.metadata = parsedMesh.metadata;
|
|
@@ -21294,7 +21314,9 @@ var BABYLON;
|
|
for (var index = 0; index < parsedMesh.instances.length; index++) {
|
|
for (var index = 0; index < parsedMesh.instances.length; index++) {
|
|
var parsedInstance = parsedMesh.instances[index];
|
|
var parsedInstance = parsedMesh.instances[index];
|
|
var instance = mesh.createInstance(parsedInstance.name);
|
|
var instance = mesh.createInstance(parsedInstance.name);
|
|
- BABYLON.Tags.AddTagsTo(instance, parsedInstance.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(instance, parsedInstance.tags);
|
|
|
|
+ }
|
|
instance.position = BABYLON.Vector3.FromArray(parsedInstance.position);
|
|
instance.position = BABYLON.Vector3.FromArray(parsedInstance.position);
|
|
if (parsedInstance.parentId) {
|
|
if (parsedInstance.parentId) {
|
|
instance._waitingParentId = parsedInstance.parentId;
|
|
instance._waitingParentId = parsedInstance.parentId;
|
|
@@ -23987,7 +24009,9 @@ var BABYLON;
|
|
Material.ParseMultiMaterial = function (parsedMultiMaterial, scene) {
|
|
Material.ParseMultiMaterial = function (parsedMultiMaterial, scene) {
|
|
var multiMaterial = new BABYLON.MultiMaterial(parsedMultiMaterial.name, scene);
|
|
var multiMaterial = new BABYLON.MultiMaterial(parsedMultiMaterial.name, scene);
|
|
multiMaterial.id = parsedMultiMaterial.id;
|
|
multiMaterial.id = parsedMultiMaterial.id;
|
|
- BABYLON.Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);
|
|
|
|
+ }
|
|
for (var matIndex = 0; matIndex < parsedMultiMaterial.materials.length; matIndex++) {
|
|
for (var matIndex = 0; matIndex < parsedMultiMaterial.materials.length; matIndex++) {
|
|
var subMatId = parsedMultiMaterial.materials[matIndex];
|
|
var subMatId = parsedMultiMaterial.materials[matIndex];
|
|
if (subMatId) {
|
|
if (subMatId) {
|
|
@@ -27321,7 +27345,7 @@ var BABYLON;
|
|
Geometry.prototype.serialize = function () {
|
|
Geometry.prototype.serialize = function () {
|
|
var serializationObject = {};
|
|
var serializationObject = {};
|
|
serializationObject.id = this.id;
|
|
serializationObject.id = this.id;
|
|
- if (BABYLON.Tags.HasTags(this)) {
|
|
|
|
|
|
+ if (BABYLON.Tags && BABYLON.Tags.HasTags(this)) {
|
|
serializationObject.tags = BABYLON.Tags.GetTags(this);
|
|
serializationObject.tags = BABYLON.Tags.GetTags(this);
|
|
}
|
|
}
|
|
return serializationObject;
|
|
return serializationObject;
|
|
@@ -27587,7 +27611,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a box...
|
|
return null; // null since geometry could be something else than a box...
|
|
}
|
|
}
|
|
var geometry = new Geometry(parsedVertexData.id, scene);
|
|
var geometry = new Geometry(parsedVertexData.id, scene);
|
|
- BABYLON.Tags.AddTagsTo(geometry, parsedVertexData.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(geometry, parsedVertexData.tags);
|
|
|
|
+ }
|
|
if (parsedVertexData.delayLoadingFile) {
|
|
if (parsedVertexData.delayLoadingFile) {
|
|
geometry.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED;
|
|
geometry.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED;
|
|
geometry.delayLoadingFile = rootUrl + parsedVertexData.delayLoadingFile;
|
|
geometry.delayLoadingFile = rootUrl + parsedVertexData.delayLoadingFile;
|
|
@@ -27737,7 +27763,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a box...
|
|
return null; // null since geometry could be something else than a box...
|
|
}
|
|
}
|
|
var box = new Geometry.Primitives.Box(parsedBox.id, scene, parsedBox.size, parsedBox.canBeRegenerated, null);
|
|
var box = new Geometry.Primitives.Box(parsedBox.id, scene, parsedBox.size, parsedBox.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(box, parsedBox.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(box, parsedBox.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(box, true);
|
|
scene.pushGeometry(box, true);
|
|
return box;
|
|
return box;
|
|
};
|
|
};
|
|
@@ -27771,7 +27799,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a sphere...
|
|
return null; // null since geometry could be something else than a sphere...
|
|
}
|
|
}
|
|
var sphere = new Geometry.Primitives.Sphere(parsedSphere.id, scene, parsedSphere.segments, parsedSphere.diameter, parsedSphere.canBeRegenerated, null);
|
|
var sphere = new Geometry.Primitives.Sphere(parsedSphere.id, scene, parsedSphere.segments, parsedSphere.diameter, parsedSphere.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(sphere, parsedSphere.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(sphere, parsedSphere.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(sphere, true);
|
|
scene.pushGeometry(sphere, true);
|
|
return sphere;
|
|
return sphere;
|
|
};
|
|
};
|
|
@@ -27831,7 +27861,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a cylinder...
|
|
return null; // null since geometry could be something else than a cylinder...
|
|
}
|
|
}
|
|
var cylinder = new Geometry.Primitives.Cylinder(parsedCylinder.id, scene, parsedCylinder.height, parsedCylinder.diameterTop, parsedCylinder.diameterBottom, parsedCylinder.tessellation, parsedCylinder.subdivisions, parsedCylinder.canBeRegenerated, null);
|
|
var cylinder = new Geometry.Primitives.Cylinder(parsedCylinder.id, scene, parsedCylinder.height, parsedCylinder.diameterTop, parsedCylinder.diameterBottom, parsedCylinder.tessellation, parsedCylinder.subdivisions, parsedCylinder.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(cylinder, parsedCylinder.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(cylinder, parsedCylinder.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(cylinder, true);
|
|
scene.pushGeometry(cylinder, true);
|
|
return cylinder;
|
|
return cylinder;
|
|
};
|
|
};
|
|
@@ -27867,7 +27899,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a torus...
|
|
return null; // null since geometry could be something else than a torus...
|
|
}
|
|
}
|
|
var torus = new Geometry.Primitives.Torus(parsedTorus.id, scene, parsedTorus.diameter, parsedTorus.thickness, parsedTorus.tessellation, parsedTorus.canBeRegenerated, null);
|
|
var torus = new Geometry.Primitives.Torus(parsedTorus.id, scene, parsedTorus.diameter, parsedTorus.thickness, parsedTorus.tessellation, parsedTorus.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(torus, parsedTorus.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(torus, parsedTorus.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(torus, true);
|
|
scene.pushGeometry(torus, true);
|
|
return torus;
|
|
return torus;
|
|
};
|
|
};
|
|
@@ -27901,7 +27935,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a ground...
|
|
return null; // null since geometry could be something else than a ground...
|
|
}
|
|
}
|
|
var ground = new Geometry.Primitives.Ground(parsedGround.id, scene, parsedGround.width, parsedGround.height, parsedGround.subdivisions, parsedGround.canBeRegenerated, null);
|
|
var ground = new Geometry.Primitives.Ground(parsedGround.id, scene, parsedGround.width, parsedGround.height, parsedGround.subdivisions, parsedGround.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(ground, parsedGround.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(ground, parsedGround.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(ground, true);
|
|
scene.pushGeometry(ground, true);
|
|
return ground;
|
|
return ground;
|
|
};
|
|
};
|
|
@@ -27954,7 +27990,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a ground...
|
|
return null; // null since geometry could be something else than a ground...
|
|
}
|
|
}
|
|
var plane = new Geometry.Primitives.Plane(parsedPlane.id, scene, parsedPlane.size, parsedPlane.canBeRegenerated, null);
|
|
var plane = new Geometry.Primitives.Plane(parsedPlane.id, scene, parsedPlane.size, parsedPlane.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(plane, parsedPlane.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(plane, parsedPlane.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(plane, true);
|
|
scene.pushGeometry(plane, true);
|
|
return plane;
|
|
return plane;
|
|
};
|
|
};
|
|
@@ -27997,7 +28035,9 @@ var BABYLON;
|
|
return null; // null since geometry could be something else than a ground...
|
|
return null; // null since geometry could be something else than a ground...
|
|
}
|
|
}
|
|
var torusKnot = new Geometry.Primitives.TorusKnot(parsedTorusKnot.id, scene, parsedTorusKnot.radius, parsedTorusKnot.tube, parsedTorusKnot.radialSegments, parsedTorusKnot.tubularSegments, parsedTorusKnot.p, parsedTorusKnot.q, parsedTorusKnot.canBeRegenerated, null);
|
|
var torusKnot = new Geometry.Primitives.TorusKnot(parsedTorusKnot.id, scene, parsedTorusKnot.radius, parsedTorusKnot.tube, parsedTorusKnot.radialSegments, parsedTorusKnot.tubularSegments, parsedTorusKnot.p, parsedTorusKnot.q, parsedTorusKnot.canBeRegenerated, null);
|
|
- BABYLON.Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags);
|
|
|
|
|
|
+ if (BABYLON.Tags) {
|
|
|
|
+ BABYLON.Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags);
|
|
|
|
+ }
|
|
scene.pushGeometry(torusKnot, true);
|
|
scene.pushGeometry(torusKnot, true);
|
|
return torusKnot;
|
|
return torusKnot;
|
|
};
|
|
};
|
|
@@ -40773,6 +40813,7 @@ var BABYLON;
|
|
this._textures = new BABYLON.SmartArray(2);
|
|
this._textures = new BABYLON.SmartArray(2);
|
|
this._currentRenderTextureInd = 0;
|
|
this._currentRenderTextureInd = 0;
|
|
this._scaleRatio = new BABYLON.Vector2(1, 1);
|
|
this._scaleRatio = new BABYLON.Vector2(1, 1);
|
|
|
|
+ this._texelSize = BABYLON.Vector2.Zero();
|
|
// Events
|
|
// Events
|
|
/**
|
|
/**
|
|
* An event triggered when the postprocess is activated.
|
|
* An event triggered when the postprocess is activated.
|
|
@@ -40883,6 +40924,16 @@ var BABYLON;
|
|
PostProcess.prototype.getCamera = function () {
|
|
PostProcess.prototype.getCamera = function () {
|
|
return this._camera;
|
|
return this._camera;
|
|
};
|
|
};
|
|
|
|
+ Object.defineProperty(PostProcess.prototype, "texelSize", {
|
|
|
|
+ get: function () {
|
|
|
|
+ if (this._shareOutputWithPostProcess) {
|
|
|
|
+ return this._shareOutputWithPostProcess.texelSize;
|
|
|
|
+ }
|
|
|
|
+ return this._texelSize;
|
|
|
|
+ },
|
|
|
|
+ enumerable: true,
|
|
|
|
+ configurable: true
|
|
|
|
+ });
|
|
PostProcess.prototype.getEngine = function () {
|
|
PostProcess.prototype.getEngine = function () {
|
|
return this._engine;
|
|
return this._engine;
|
|
};
|
|
};
|
|
@@ -40940,6 +40991,7 @@ var BABYLON;
|
|
if (this._reusable) {
|
|
if (this._reusable) {
|
|
this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions));
|
|
this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions));
|
|
}
|
|
}
|
|
|
|
+ this._texelSize.copyFromFloats(1.0 / this.width, 1.0 / this.height);
|
|
this.onSizeChangedObservable.notifyObservers(this);
|
|
this.onSizeChangedObservable.notifyObservers(this);
|
|
}
|
|
}
|
|
this._textures.forEach(function (texture) {
|
|
this._textures.forEach(function (texture) {
|
|
@@ -41228,12 +41280,9 @@ var BABYLON;
|
|
function FxaaPostProcess(name, options, camera, samplingMode, engine, reusable, textureType) {
|
|
function FxaaPostProcess(name, options, camera, samplingMode, engine, reusable, textureType) {
|
|
if (textureType === void 0) { textureType = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; }
|
|
if (textureType === void 0) { textureType = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; }
|
|
var _this = _super.call(this, name, "fxaa", ["texelSize"], null, options, camera, samplingMode || BABYLON.Texture.BILINEAR_SAMPLINGMODE, engine, reusable, null, textureType) || this;
|
|
var _this = _super.call(this, name, "fxaa", ["texelSize"], null, options, camera, samplingMode || BABYLON.Texture.BILINEAR_SAMPLINGMODE, engine, reusable, null, textureType) || this;
|
|
- _this.onSizeChangedObservable.add(function () {
|
|
|
|
- _this.texelWidth = 1.0 / _this.width;
|
|
|
|
- _this.texelHeight = 1.0 / _this.height;
|
|
|
|
- });
|
|
|
|
_this.onApplyObservable.add(function (effect) {
|
|
_this.onApplyObservable.add(function (effect) {
|
|
- effect.setFloat2("texelSize", _this.texelWidth, _this.texelHeight);
|
|
|
|
|
|
+ var texelSize = _this.texelSize;
|
|
|
|
+ effect.setFloat2("texelSize", texelSize.x, texelSize.y);
|
|
});
|
|
});
|
|
return _this;
|
|
return _this;
|
|
}
|
|
}
|
|
@@ -41946,7 +41995,10 @@ var BABYLON;
|
|
* @param colorCurves The color curve to bind
|
|
* @param colorCurves The color curve to bind
|
|
* @param effect The effect to bind to
|
|
* @param effect The effect to bind to
|
|
*/
|
|
*/
|
|
- ColorCurves.Bind = function (colorCurves, effect) {
|
|
|
|
|
|
+ ColorCurves.Bind = function (colorCurves, effect, positiveUniform, neutralUniform, negativeUniform) {
|
|
|
|
+ if (positiveUniform === void 0) { positiveUniform = "vCameraColorCurvePositive"; }
|
|
|
|
+ if (neutralUniform === void 0) { neutralUniform = "vCameraColorCurveNeutral"; }
|
|
|
|
+ if (negativeUniform === void 0) { negativeUniform = "vCameraColorCurveNegative"; }
|
|
if (colorCurves._dirty) {
|
|
if (colorCurves._dirty) {
|
|
colorCurves._dirty = false;
|
|
colorCurves._dirty = false;
|
|
// Fill in global info.
|
|
// Fill in global info.
|
|
@@ -41964,9 +42016,9 @@ var BABYLON;
|
|
colorCurves._highlightsCurve.subtractToRef(colorCurves._midtonesCurve, colorCurves._positiveCurve);
|
|
colorCurves._highlightsCurve.subtractToRef(colorCurves._midtonesCurve, colorCurves._positiveCurve);
|
|
colorCurves._midtonesCurve.subtractToRef(colorCurves._shadowsCurve, colorCurves._negativeCurve);
|
|
colorCurves._midtonesCurve.subtractToRef(colorCurves._shadowsCurve, colorCurves._negativeCurve);
|
|
}
|
|
}
|
|
- effect.setFloat4("vCameraColorCurvePositive", colorCurves._positiveCurve.r, colorCurves._positiveCurve.g, colorCurves._positiveCurve.b, colorCurves._positiveCurve.a);
|
|
|
|
- effect.setFloat4("vCameraColorCurveNeutral", colorCurves._midtonesCurve.r, colorCurves._midtonesCurve.g, colorCurves._midtonesCurve.b, colorCurves._midtonesCurve.a);
|
|
|
|
- effect.setFloat4("vCameraColorCurveNegative", colorCurves._negativeCurve.r, colorCurves._negativeCurve.g, colorCurves._negativeCurve.b, colorCurves._negativeCurve.a);
|
|
|
|
|
|
+ effect.setFloat4(positiveUniform, colorCurves._positiveCurve.r, colorCurves._positiveCurve.g, colorCurves._positiveCurve.b, colorCurves._positiveCurve.a);
|
|
|
|
+ effect.setFloat4(neutralUniform, colorCurves._midtonesCurve.r, colorCurves._midtonesCurve.g, colorCurves._midtonesCurve.b, colorCurves._midtonesCurve.a);
|
|
|
|
+ effect.setFloat4(negativeUniform, colorCurves._negativeCurve.r, colorCurves._negativeCurve.g, colorCurves._negativeCurve.b, colorCurves._negativeCurve.a);
|
|
};
|
|
};
|
|
/**
|
|
/**
|
|
* Prepare the list of uniforms associated with the ColorCurves effects.
|
|
* Prepare the list of uniforms associated with the ColorCurves effects.
|