three.js의 CanvasRenderer가 일부 Windows에서 잘 작동하지 않는 문제와 대응

소개



three.js라고 하면 Javascript용의 WebGL 라이브러리로서 유명하네요.
three.js에는 CanvasRenderer라는 WebGL을 사용하지 않고 렌더링하는 기능이 있습니다.

이번은 three.js의 CanvasRenderer를 사용했을 때 일부 windows 머신에서만 발생한 현상에 대해서입니다.

하고 싶었던 일




이런 식으로 흰색 배경에 선을 그리는 애니메이션을 만들었습니다.

증상: windows에서 흑백으로 표시되는 건




일부 windows 기계에서 흑백이 역전된다는 현상이 일어났습니다.

원인



흔한 three.js 코드입니다. render 함수 내에서 setCrearColor 메서드를 호출하여 색상을 지정합니다. 이 지정으로 기본적으로 Windows와 Mac은 색이 바뀌어줍니다.
function render() {
  camera.lookAt( scene.position);
  renderer.setClearColor('#fff', 0.1);
  renderer.render(scene,camera);
  controls.update();
}

일부 Windows 컴퓨터만 setClearColor가 작동하지 않습니다.

대책



이와 같이 수정했는데 문제가 발생하고 있던 Windows 머신에서도 통상 동작할 수 있었습니다.
  renderer.setClearColor('#fff', 0.1);


  renderer.setClearColor(0xffffff, 0.1);

원인을 잘 모르기 때문에 역시 땀입니다.
누군가를 알고 있다면 알려주세요. 땀

좋은 웹페이지 즐겨찾기