Skip to content

Commit 2f5e9a9

Browse files
committed
fix(landing): use drawing buffer size for liquid background resolution to prevent pixel ratio bugs
1 parent bb52a1c commit 2f5e9a9

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

‎apps/landing/src/components/LiquidBackground.jsx‎

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,15 @@ export default function LiquidBackground() {
1313
renderer.setPixelRatio(window.devicePixelRatio);
1414
mountRef.current.appendChild(renderer.domElement);
1515

16-
const size = new THREE.Vector2();
17-
renderer.getSize(size);
18-
const pixelRatio = renderer.getPixelRatio();
19-
const renderWidth = size.x * pixelRatio;
20-
const renderHeight = size.y * pixelRatio;
16+
const drawingSize = new THREE.Vector2();
17+
renderer.getDrawingBufferSize(drawingSize);
2118

2219
// Liquid Shader Material
2320
const material = new THREE.ShaderMaterial({
2421
uniforms: {
2522
uTime: { value: 0 },
2623
uMouse: { value: new THREE.Vector2(0.5, 0.5) },
27-
uResolution: { value: new THREE.Vector2(renderWidth, renderHeight) }
24+
uResolution: { value: new THREE.Vector2(drawingSize.x, drawingSize.y) }
2825
},
2926
vertexShader: `
3027
varying vec2 vUv;
@@ -95,10 +92,9 @@ export default function LiquidBackground() {
9592
camera.updateProjectionMatrix();
9693
renderer.setSize(window.innerWidth, window.innerHeight);
9794

98-
const newSize = new THREE.Vector2();
99-
renderer.getSize(newSize);
100-
const pr = renderer.getPixelRatio();
101-
material.uniforms.uResolution.value.set(newSize.x * pr, newSize.y * pr);
95+
const drawingSize = new THREE.Vector2();
96+
renderer.getDrawingBufferSize(drawingSize);
97+
material.uniforms.uResolution.value.set(drawingSize.x, drawingSize.y);
10298
};
10399

104100
window.addEventListener('resize', handleResize);

0 commit comments

Comments
 (0)