2013-07-01 2 views
11

GLSL로 작성된 webgl 쉐이더에서 console.log를 시뮬레이트하는 방법을 이해하려고합니다. 오류 메시지는 쉽게 얻을 수 있지만 맞춤 메시지를 인쇄하는 방법은 알 수 없습니다.webgl 쉐이더에서 console.log를 사용하는 방법은 무엇입니까?

기본적으로 나는 브라우저의 콘솔에서 물건을 인쇄 할 :

<script id="shader-fs1" type="x-shader/x-fragment"> 
    void main(void) 
    { 
    //console.log doesn't work here since it's GLSL not javascript 
    gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); 
    } 
</script> 

어떤 제안?

답변

1

현재 WebGL에서 GLSL의 결과 데이터 (화면/이미지 색상)를 제외하고는 알려진 결과가 없습니다. 이미 고객님께서는 Learning WebGL을 확인 하시고, kick.js도 도움이 될 것입니다.

3

쉐이더를 컴파일 한 후에는 같은 것을 수행 할 수 있습니다

if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { 
    alert(gl.getShaderInfoLog(shader)); 
} 

을 그리고 그것은 컴파일하는 동안 당신에게 오류 메시지가 표시됩니다. GLSL은 framebuffer/texture가 아닌 다른 형식으로 프로그램으로 데이터를 보낼 수 없기 때문에 출력 색상을 검사하여 어떤 일이 일어나는지 확인할 수 있습니다. WebGL 관리자는 Michael이 지적한대로 유용 할 수 있지만 셰이더는 그렇지 않지만 webGL 앱의 일반적인 디버깅은

입니다.
관련 문제