1
0
mirror of https://github.com/troisjs/trois.git synced 2024-11-24 04:12:02 +08:00

fix liquid effect for android

This commit is contained in:
Kevin Levron 2021-03-15 19:13:33 +01:00
parent 31777c9355
commit 51071f1210

View File

@ -1,6 +1,7 @@
import { import {
FloatType, FloatType,
Mesh, Mesh,
NearestFilter,
OrthographicCamera, OrthographicCamera,
PlaneBufferGeometry, PlaneBufferGeometry,
RGBAFormat, RGBAFormat,
@ -18,8 +19,17 @@ function LiquidEffect(renderer) {
// this.delta = new Vector2(this.width / Math.pow(width, 2), this.height / Math.pow(height, 2)); // this.delta = new Vector2(this.width / Math.pow(width, 2), this.height / Math.pow(height, 2));
this.delta = new Vector2(1 / this.width, 1 / this.height); this.delta = new Vector2(1 / this.width, 1 / this.height);
this.hMap = new WebGLRenderTarget(this.width, this.height, { type: FloatType, format: RGBAFormat, depthBuffer: false, stencilBuffer: false }); const targetOptions = {
this.hMap1 = new WebGLRenderTarget(this.width, this.height, { type: FloatType, format: RGBAFormat, depthBuffer: false, stencilBuffer: false }); minFilter: NearestFilter,
magFilter: NearestFilter,
type: FloatType,
format: RGBAFormat,
depthBuffer: false,
// stencilBuffer: false,
};
this.hMap = new WebGLRenderTarget(this.width, this.height, targetOptions);
this.hMap1 = new WebGLRenderTarget(this.width, this.height, targetOptions);
this.fsQuad = new FullScreenQuad(); this.fsQuad = new FullScreenQuad();
this.initShaders(); this.initShaders();
@ -150,10 +160,10 @@ LiquidEffect.prototype.addDrop = function (x, y, radius, strength) {
this.swapBuffers(); this.swapBuffers();
}; };
LiquidEffect.prototype.renderBuffer = function (buffer, target) { // LiquidEffect.prototype.renderBuffer = function (buffer, target) {
this.copyMat.uniforms.tDiffuse.value = buffer.texture; // this.copyMat.uniforms.tDiffuse.value = buffer.texture;
this.renderShaderMat(this.copyMat, target); // this.renderShaderMat(this.copyMat, target);
}; // };
LiquidEffect.prototype.renderShaderMat = function (mat, target) { LiquidEffect.prototype.renderShaderMat = function (mat, target) {
this.fsQuad.material = mat; this.fsQuad.material = mat;