mirror of
https://github.com/Floriansylvain/creative_coding_1.git
synced 2026-08-19 11:43:20 +02:00
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
import * as THREE from 'three'
|
|
import Experience from './Experience.js'
|
|
|
|
export default class Renderer
|
|
{
|
|
constructor()
|
|
{
|
|
this.experience = new Experience()
|
|
this.canvas = this.experience.canvas
|
|
this.sizes = this.experience.sizes
|
|
this.scene = this.experience.scene
|
|
this.camera = this.experience.camera
|
|
|
|
this.setInstance()
|
|
}
|
|
|
|
setInstance()
|
|
{
|
|
this.instance = new THREE.WebGLRenderer({
|
|
canvas: this.canvas,
|
|
antialias: true
|
|
})
|
|
this.instance.physicallyCorrectLights = true
|
|
this.instance.outputEncoding = THREE.sRGBEncoding
|
|
this.instance.toneMapping = THREE.CineonToneMapping
|
|
this.instance.toneMappingExposure = 1.75
|
|
this.instance.shadowMap.enabled = true
|
|
this.instance.shadowMap.type = THREE.PCFSoftShadowMap
|
|
this.instance.setClearColor('#ffffff')
|
|
this.instance.setSize(this.sizes.width, this.sizes.height)
|
|
this.instance.setPixelRatio(Math.min(this.sizes.pixelRatio, 2))
|
|
}
|
|
|
|
resize()
|
|
{
|
|
this.instance.setSize(this.sizes.width, this.sizes.height)
|
|
this.instance.setPixelRatio(Math.min(this.sizes.pixelRatio, 2))
|
|
}
|
|
|
|
update()
|
|
{
|
|
this.instance.render(this.scene, this.camera.instance)
|
|
}
|
|
} |