반응형



출처 : http://chulin28ho.tistory.com/256




 tex2dlod (sampler, float4(UV, 0,miplevel))

 

tex2Dlod 는 밉맵의 레벨을 불러온다. 일부러 텍스쳐를 흐리게 할 때 유용함.

단 이걸 사용하면 거리에 따른 밉맵 조절이 안되는 문제가 있다.

miplevel은 0 부터 사용한다. 숫자가 늘어날수록 밉 레벨이 늘어난다.

여기서의 miplevel은 2.5라고 넣는다면 2와 3 사이를 보간해 준다

#pragma target 3.0 필요

 

http://kblog.popekim.com/2011/04/tex2dlod.html

 

 

 

tex2dbias (sampler, float4(UV, 0,miplevel))

 

tex2Dbias 는 밉맵의 레벨을 불러온다. 일부러 텍스쳐를 흐리게 할 때 유용함.

음.. 여기서의 miplevel은 2.5 라고 넣는다면 지금의 밉레벨 + 2.5 ... 인건가

결과물을 봐도 bias가 더 나쁘고, 3.0도 요구하지 않는다.

 

즉 lod는 밉맵레벨을 고정하는거고

bias는 지금 레벨에 원하는 레벨을 더해줘서 결과물을 내보낸다..

하이브리드한테까지 물어봐서 결과냄. 도무지 이해가 안가길래..

 

 

 

 

 

참고 스레드

http://forum.unity3d.com/threads/tex2dlod-vs-tex2dbias.249140/

 

http://jyblues.blogspot.kr/2011/12/direct3d11-intrinsic-functions.html

 

tex2Dbias(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 2D 텍스쳐의 픽셀 색깔 정보를 얻는다.

tex2Dlod(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 2D 텍스쳐의 픽셀 정보를 얻는다. t.w에 의해 LOD가
              어느단계에서 변할지를 결정한다.







출처 : http://chulin28ho.tistory.com/258



둘은 상당히 비슷한 기능을 하죠. mipmap 제어라는...

그치만 공식의 작동법은 미묘하게 달라요.

lod가 shader3.0을 요구한다는 것도 다르고요...

 

프로그래머들에게 물어보면 공식에 대한 차이만 말해주니까요

자세한 느낌을 보기 위해 직접 테스트를 해 봤습니다.

 

 

 

예제를 만들어 봤습니다. 둘이 똑같아 보이죠?

근데 제 눈에는 살짝 오른쪽 텍스쳐가 추가 샘플링 된 것처럼 보입니다.

 

그래서 정말 그런가 테스트

 

 

 

 

 

오호라 과연 정말입니다.

tex2Dlod는 고정된 mipmap을 유지하지만, bias 는 이름값대로 추가로 바이어스를 걸어주고 있는 느낌입니다.

 

그럼 이번에는 값에 따른 변화를 테스트 하기 위해 다시 근접시킵니다.

 

 

 

음 겜브리오때는 밉맵을 수동 설정 가능했는데. 유니티는 방법이 없을까낭...

뭐 투덜대도 할 수 없으니까 이번에는 값을 비교해 보죠

 

지금 두 그림이 똑같아 보입니다만... 오른쪽이 밉맵 1 상태라고 보여집니다. 한 단계 낮은 이미지요.

 

어쨌거나 일단 비교.

 

 

lod/bias 값 1

 

 

lod/bias 값 1.5

 

 

lod/bias 값 2

 

 

lod/bias 값 2.5

 

 

lod/bias 값 3

 

 

lod/bias 값 3.5

 

 

lod/bias 값 4

 

 

lod/bias 값 4.5

 

 

lod/bias 값 5

 

 

lod/bias 값 5.5

 

 

 

lod/bias 값 6

 

 

음... 일단 오른쪽 bias의 값이 더 낮아 보입니다.

그 이유는... 현재 보이는 거리 때문에 밉맵이 한 단계 더 먹은 상태라서 그렇습니다.

그에 반해 tex2Dlod는 거리고 뭐고 상관 안하고 mipmap 값이 강제지정됩니다. 호옹이.

이런 차이로군요.

 

 

그래서 정말 그런가 추가 테스트

 

 

 

 

다시 6단계에서부터 추가 테스트. 이번에는 필터링을 개뿌연 Box 필터링에서 그나마 날카로운  Kaiser 필터링으로 바꿔 보았습니다. 카메라를 좀 근접시키니 두 이미지가 상당히 비슷하네요 그래도 lod가 더 선명해 보이는게, 1단계 앞인 느낌입니다.

 

 

거리를 멀게 하자 오호라. 역시 bias는 거리에 따라 mipmap이 더 먹습니다.

 

그렇다는것은...

 

 

 

 

거리만 가깝다면 bias가 더 선명하다는 말도 된단 말입니다. lod는 고정이니까. 오호호라...

 

즉  lod는 무조건 고정시키는 거고 bias는 말그대로 기존 값에 bias 시킨다는 말이겠습니다.

 

이 기능은 주로 싸구려 블러 효과로 사용됩니다만, 값을 반대로 처리하면 싸구려 샤픈 효과도 가능하겠죠.

반응형

'그래픽스(Graphics) > Shader' 카테고리의 다른 글

Object Outlines in Unity  (0) 2022.08.21
라이트 프로브(Light Probe)  (0) 2016.11.25
radiance, radiosity,irradiance  (0) 2013.07.25
SSS(Subsurface scattering) 정리  (0) 2013.07.14
Subsurface scattering  (0) 2013.07.14

+ Recent posts