@@ -5,12 +5,13 @@ import { HDRLoader } from "three/examples/jsm/loaders/HDRLoader.js";
55import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js" ;
66import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass.js" ;
77import { UnrealBloomPass } from "three/examples/jsm/postprocessing/UnrealBloomPass.js" ;
8+ import { isMobile } from "./device" ;
89
910// Required for Github Pages deployment
1011THREE . DefaultLoadingManager . setURLModifier ( ( url ) => {
11- if ( / ^ ( h t t p s ? : | d a t a : ) / . test ( url ) ) return url ;
12- const clean = url . startsWith ( '/' ) ? url . slice ( 1 ) : url ;
13- return import . meta. env . BASE_URL + clean ;
12+ if ( / ^ ( h t t p s ? : | d a t a : ) / . test ( url ) ) return url ;
13+ const clean = url . startsWith ( '/' ) ? url . slice ( 1 ) : url ;
14+ return import . meta. env . BASE_URL + clean ;
1415} ) ;
1516
1617const canvas = document . getElementById ( "renderCanvas" ) as HTMLCanvasElement ;
@@ -121,16 +122,19 @@ async function init() {
121122 scene . add ( shadowPlane ) ;
122123
123124 // === Effect ===
124- const composer = new EffectComposer ( renderer ) ;
125- composer . addPass ( new RenderPass ( scene , camera ) ) ;
125+ let composer : EffectComposer | undefined ;
126+ if ( ! isMobile ( ) ) {
127+ composer = new EffectComposer ( renderer ) ;
128+ composer . addPass ( new RenderPass ( scene , camera ) ) ;
126129
127- const bloom = new UnrealBloomPass (
128- new THREE . Vector2 ( window . innerWidth , window . innerHeight ) ,
130+ const bloom = new UnrealBloomPass (
131+ new THREE . Vector2 ( window . innerWidth , window . innerHeight ) ,
129132 /*strength*/ 1.2 ,
130133 /*radius*/ 0.4 ,
131134 /*threshold*/ 0.85
132- ) ;
133- composer . addPass ( bloom ) ;
135+ ) ;
136+ composer . addPass ( bloom ) ;
137+ }
134138
135139 // === Scar model ===
136140 const scar = ( await loadGLB ( "/models/card_holder.glb" ) ) . children [ 0 ] ! . clone ( ) as THREE . Mesh ;
@@ -230,8 +234,12 @@ async function init() {
230234 }
231235
232236 controls . update ( ) ;
233- //renderer.render(scene, camera);
234- composer . render ( ) ;
237+ if ( isMobile ( ) ) {
238+ renderer . render ( scene , camera ) ;
239+ }
240+ else {
241+ composer ?. render ( ) ;
242+ }
235243
236244 requestAnimationFrame ( Update ) ;
237245 }
0 commit comments