2017-11-13 16 views
-1

yuv10 비트 텍스처를 rgba 텍스처로 변환하기 위해 내 쉐이더로 변환하려고합니다. 금속의 yuv10 비트 텍스처

는 OpenGL을 통해 나는이 GLSL 코드 from this link

내가 전환했다을 사용했지만, 결과는 내가 예상 아니다. 내가

tex2d.sample(sampler2d, x, y).rgba; 

대신

texelFetch(tex, ivec2(sourceColumnIndexY, texcoordDenorm.y) 

의 사용하기 때문에

나는 금속에 texelFetch에 대한 동등한 거기에 생각하는?

답변

1

"결과가 내가 예상 한 결과가 아닌"방식을 실제로 설명하지 않습니다. 또한 입력 텍스처에 사용하는 금속 픽셀 형식과 같은 것을 설명하지 않았습니다.

어쨌든 texelFetch()에 해당하는 금속 기능은 단순히 텍스처 유형의 read() 멤버 함수입니다. 예를 들어, texture2d<T> 이러한 두 부재의 기능을 갖는다 :

Tv 컴포넌트 타입 T 인 4 개의 성분 벡터이다
Tv read(uint2 coord, uint lod = 0) const 
Tv read(ushort2 coord, ushort lod = 0) const 

.

+0

정말 고마워요. 이것은 내가 찾고 있었던 바로 그 것이다. 그리고 이제는 효과가 있습니다. – vtruant