|
@@ -133,8 +133,8 @@
|
|
|
private _vertexBuffers: { [key: string]: VertexBuffer } = {};
|
|
|
private _indexBuffer: WebGLBuffer;
|
|
|
private _downSamplePostprocess: PassPostProcess;
|
|
|
- private _horizontalBlurPostprocess: GlowBlurPostProcess;
|
|
|
- private _verticalBlurPostprocess: GlowBlurPostProcess;
|
|
|
+ private _horizontalBlurPostprocess: BlurPostProcess;
|
|
|
+ private _verticalBlurPostprocess: BlurPostProcess;
|
|
|
private _cachedDefines: string;
|
|
|
private _glowMapGenerationEffect: Effect;
|
|
|
private _glowMapMergeEffect: Effect;
|
|
@@ -352,17 +352,32 @@
|
|
|
effect.setTexture("textureSampler", this._mainTexture);
|
|
|
});
|
|
|
|
|
|
- this._horizontalBlurPostprocess = new GlowBlurPostProcess("HighlightLayerHBP", new BABYLON.Vector2(1.0, 0), this._options.blurHorizontalSize, 1,
|
|
|
- null, Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine());
|
|
|
- this._horizontalBlurPostprocess.onApplyObservable.add(effect => {
|
|
|
- effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight);
|
|
|
- });
|
|
|
-
|
|
|
- this._verticalBlurPostprocess = new GlowBlurPostProcess("HighlightLayerVBP", new BABYLON.Vector2(0, 1.0), this._options.blurVerticalSize, 1,
|
|
|
+ if (this._options.alphaBlendingMode === Engine.ALPHA_COMBINE) {
|
|
|
+ this._horizontalBlurPostprocess = new GlowBlurPostProcess("HighlightLayerHBP", new BABYLON.Vector2(1.0, 0), this._options.blurHorizontalSize, 1,
|
|
|
+ null, Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine());
|
|
|
+ this._horizontalBlurPostprocess.onApplyObservable.add(effect => {
|
|
|
+ effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight);
|
|
|
+ });
|
|
|
+
|
|
|
+ this._verticalBlurPostprocess = new GlowBlurPostProcess("HighlightLayerVBP", new BABYLON.Vector2(0, 1.0), this._options.blurVerticalSize, 1,
|
|
|
+ null, Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine());
|
|
|
+ this._verticalBlurPostprocess.onApplyObservable.add(effect => {
|
|
|
+ effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ this._horizontalBlurPostprocess = new BlurPostProcess("HighlightLayerHBP", new BABYLON.Vector2(1.0, 0), this._options.blurHorizontalSize, 1,
|
|
|
null, Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine());
|
|
|
- this._verticalBlurPostprocess.onApplyObservable.add(effect => {
|
|
|
- effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight);
|
|
|
- });
|
|
|
+ this._horizontalBlurPostprocess.onApplyObservable.add(effect => {
|
|
|
+ effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight);
|
|
|
+ });
|
|
|
+
|
|
|
+ this._verticalBlurPostprocess = new BlurPostProcess("HighlightLayerVBP", new BABYLON.Vector2(0, 1.0), this._options.blurVerticalSize, 1,
|
|
|
+ null, Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine());
|
|
|
+ this._verticalBlurPostprocess.onApplyObservable.add(effect => {
|
|
|
+ effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight);
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
this._mainTexture.onAfterUnbindObservable.add(() => {
|
|
|
this.onBeforeBlurObservable.notifyObservers(this);
|