2012-01-20 5 views

답변

0

는 여기에 설명 : http://www.khronos.org/registry/gles/extensions/OES/OES_vertex_type_10_10_10_2.txt

Modifications to table 2.9 (Component conversions) 

    Add the following entries: 

     GLType      Conversion of (x, y, z) Conversion of w 
     -------     ---------------------- =============== 
     INT_10_10_10_2_OES  (2c + 1)/(2^10 - 1)  (2c + 1)/(2^2 - 1) 
     UNSIGNED_10_10_10_2_OES c/(2^10 - 1)   c/(2^2 - 1) 

을 그래서 당신은 다음, 당신은 또한 압축 할 수 있습니다 대부분의 경우

x = (float)((N>>22)/((1<<10) - 1); 
y = (float)(((N>>12) & ((1<<10)-1))/((1<<10) - 1); 
z = (float)(((N>>2) & ((1<<10)-1))/((1<<10) - 1); 

을 UDEC3 형식과 32 비트 변수 N 정상이있는 경우 w와 xyz를 w로 나눕니다.

+0

그가 왜 이렇게해야하는지 궁금합니다. "대부분 w의 포장을 풀고 xyz를 w로 나누기를 원할 것입니다." 그는 균일 한 좌표로 저장되지 않은 법선에 대해 물었다. –

+0

물론. 그러나 w가 -1 값을 포함한다면? DEC3N과 UDEC3 형식을 누가 만들지는 모르겠지만 그렇게 할 것입니다. 단지를 위해서. 제 3 자 도구가 "옳은 일"을하고 지정된 형식을 남용하지 않기를 신뢰하지 않습니다. –