2011-08-16 2 views
2

float 32 비트입니까? 그게 내가 제공 한 것이거나 highp float의 정밀도입니까?균일 한 mat4의 float 값의 정밀도는 무엇입니까?

+0

버텍스 셰이더 또는 프래그먼트 셰이더에 있습니까? OpenGL ES 2.0에서는 프래그먼트 셰이더에서이 정밀도를 정의해야합니다. 따라서 지정한 lowp, mediump 또는 highp 한정자가 지정됩니다. 그렇지 않으면 셰이더 컴파일 오류가 발생합니다. –

답변

2

반드시 highp를 사용해야하는 경우 셰이더에서 지정하십시오.

glGetShaderPrecisionFormat과 함께 사용 가능한 정밀도를 테스트 할 수도 있습니다. 사용되는 것은 기본값으로 다른 하드웨어와 다른 쉐이더 단계에 따라 다릅니다.

+0

기본적으로 32 비트가 균일 한 4x4 행렬의 부동을 정의하는 데 사용되는 경우 이해가 안됩니다. 이것은 API를 전달하는 값이 float32이기 때문에 내가 바라는 것입니다. 나는 내가 lowp, mediump, highp에 대해서만 이야기하는 것을 보았을 때부터 spec을 보았을 때 이후의 정확도가 떨어지는 지 궁금하다. – Xavier

+0

예, 정밀도를 잃을 수 있습니다. 하드웨어가 부동 소수점 정밀도를 구현하는 방법에 따라 다릅니다. highp, mediump 및 mediump 한정자는 모두 필요한 최소 정밀도 범위를 지정합니다. 하드웨어가이 정밀도를 구현하는 방법은 기계마다 다릅니다. –