uniform TSL 노드 함수의 update 이벤트

TSL의 uniform은 GLSL의 uniform이다. 다음처럼 간단히 정의할 수 있다.

const myColor = uniform(new THREE.Color(0x0066ff));
material.colorNode = myColor;

TSL의 uniform은 update에 대한 3가지 이벤트를 제공한다.

이 uniform 노드를 사용하는 재질이 적용되는 Object(Mesh 등)에 대해서 호출(하나의 재질은 여러개의 매시에 적용될 수 있음)된다.

myColor.onFrameUpdate(({ object }) => { 
  myColor.value = new THREE.Color(Math.random() * 0xffffff)
})

한번의 프레임을 완성하기 위해 여러번의 렌더 pass가 필요할 수 있는데, 렌더 pass마다 호출된다.

myColor.onRenderUpdate(({ object }) => {
  myColor.value = new THREE.Color(Math.random() * 0xffffff)
})

렌더 pass가 여러번일지라도 프레임 당 딱 1번 호출된다.

myColor.onFrameUpdate(({ object }) => {
  myColor.value = new THREE.Color(Math.random() * 0xffffff)
})

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다