|
@@ -136,6 +136,7 @@ export class PostProcess {
|
|
|
private _options: number | PostProcessOptions;
|
|
|
private _reusable = false;
|
|
|
private _textureType: number;
|
|
|
+ private _textureFormat: number;
|
|
|
/**
|
|
|
* Smart array of input and output textures for the post process.
|
|
|
* @hidden
|
|
@@ -301,12 +302,14 @@ export class PostProcess {
|
|
|
* @param vertexUrl The url of the vertex shader to be used. (default: "postprocess")
|
|
|
* @param indexParameters The index parameters to be used for babylons include syntax "#include<kernelBlurVaryingDeclaration>[0..varyingCount]". (default: undefined) See usage in babylon.blurPostProcess.ts and kernelBlur.vertex.fx
|
|
|
* @param blockCompilation If the shader should not be compiled imediatly. (default: false)
|
|
|
+ * @param textureFormat Format of textures used when performing the post process. (default: TEXTUREFORMAT_RGBA)
|
|
|
*/
|
|
|
constructor(
|
|
|
/** Name of the PostProcess. */
|
|
|
public name: string,
|
|
|
fragmentUrl: string, parameters: Nullable<string[]>, samplers: Nullable<string[]>, options: number | PostProcessOptions, camera: Nullable<Camera>,
|
|
|
- samplingMode: number = Constants.TEXTURE_NEAREST_SAMPLINGMODE, engine?: Engine, reusable?: boolean, defines: Nullable<string> = null, textureType: number = Constants.TEXTURETYPE_UNSIGNED_INT, vertexUrl: string = "postprocess", indexParameters?: any, blockCompilation = false) {
|
|
|
+ samplingMode: number = Constants.TEXTURE_NEAREST_SAMPLINGMODE, engine?: Engine, reusable?: boolean, defines: Nullable<string> = null, textureType: number = Constants.TEXTURETYPE_UNSIGNED_INT, vertexUrl: string = "postprocess",
|
|
|
+ indexParameters?: any, blockCompilation = false, textureFormat = Constants.TEXTUREFORMAT_RGBA) {
|
|
|
if (camera != null) {
|
|
|
this._camera = camera;
|
|
|
this._scene = camera.getScene();
|
|
@@ -324,6 +327,7 @@ export class PostProcess {
|
|
|
this.renderTargetSamplingMode = samplingMode ? samplingMode : Constants.TEXTURE_NEAREST_SAMPLINGMODE;
|
|
|
this._reusable = reusable || false;
|
|
|
this._textureType = textureType;
|
|
|
+ this._textureFormat = textureFormat;
|
|
|
|
|
|
this._samplers = samplers || [];
|
|
|
this._samplers.push("textureSampler");
|
|
@@ -495,7 +499,8 @@ export class PostProcess {
|
|
|
generateDepthBuffer: forceDepthStencil || camera._postProcesses.indexOf(this) === 0,
|
|
|
generateStencilBuffer: (forceDepthStencil || camera._postProcesses.indexOf(this) === 0) && this._engine.isStencilEnable,
|
|
|
samplingMode: this.renderTargetSamplingMode,
|
|
|
- type: this._textureType
|
|
|
+ type: this._textureType,
|
|
|
+ format: this._textureFormat
|
|
|
};
|
|
|
|
|
|
this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions));
|