Web 버전 특유의 주의점

업데이트: 2019/01/18

렌더러에 WebGL 컨텍스트 등을 전달

CubismWebSamples는 성능 향상을 위해 루프에서 WebGL 게터를 사용하지 않고 애플리케이션 측에서 캐시한 것을 전달합니다.
그리기 전의 프레임 버퍼, 뷰포트의 정보를 렌더러에 전달해야 합니다.

    // 캔버스 크기 전달
    let viewport: number[] = [
        0, 
        0, 
        canvas.width,
        canvas.height
    ];

    this.getRenderer().setRenderState(frameBuffer, viewport);
    this.getRenderer().drawModel();

할당자, 메모리 관련 설명

Native 버전과는 달리, 불필요해진 변수나 오브젝트는 가비지 콜렉션에 의해 해방되기 때문에, 이들에 대해서 적절히 참조를 끊을 필요가 있습니다.

텍스쳐 포맷 정보

Web 버전에서는 라이브러리 그리기 방식이 Premultiplied 방식이므로 텍스쳐 생성 시 UNPACK_PREMULTIPLY_ALPHA_WEBGL을 true로 설정해야 합니다.

gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
이 기사에 관한 의견 및 요청사항을 보내 주시기 바랍니다.