Z버퍼
기본 구조는 저렇게 생겻다. X축과 Y축이 있고 뒤쪽으로 깊이값이 있는 Z버퍼가 있다,
보통 DX에서는 0~1 값을 같는다고 한다 듀토리얼에서는 클리어시 Z버퍼 값을 1.0f 값으로
적용 한다. 내가 볼수 있는깊이중에 맨뒤에 있는 Z버퍼의 값이 1.0f 가 되는것이고 맨 앞에
있는곳에 0.0f 정도 될수 있을것 같다.
다음은 이 Z버퍼를 사용하면서 알파 블랜딩을 사용 하게 되는데 이것이 문제가 있다.
출력하는 순서가 바뀌게 되면 알파 블랜딩이 제대로 안먹히게 된다.
앞에 Z값이 적은 텍스처를 처음에 뿌리게 되면 뒤에 아무것도 없는 상태에서 알파블랜됭 된다.
그뒤에 Z값이 더큰 텍스처를 뿌리게 되면
일반적으로는 Z값이 작은 텍스처 에 알파블랜딩 된것들뒤에 Z값이 작은 값이 출력 되어야 한다.
하지만 이런경우 안된다. 이같은 경우로 사용 하면 Z버퍼가 엉망으로 나온다.
알파 블랜딩과 Z버퍼를 사용 할때는 순서를 잘 정해야 한다고 한다. 그래서
보통 프로그램에서는 불투명 부터 출력하고 다음에 알파블랜딩을 출력 해준다고들 한다.
다음으로 알파테스트의 사용 원리는 이러하다 보통 예제에서는 알파 0~256의 값이있다고하고
128이하의 값은 모두 투명으로 해라~라고 쓰인다. 그러므로 직솔적인 알파테스트는
나올려면 나오고 안나올려면 쓰레기통(dise card)에 너버린다.
반투명이 안단된다는 소리다~
보통 DX에서는 0~1 값을 같는다고 한다 듀토리얼에서는 클리어시 Z버퍼 값을 1.0f 값으로
적용 한다. 내가 볼수 있는깊이중에 맨뒤에 있는 Z버퍼의 값이 1.0f 가 되는것이고 맨 앞에
있는곳에 0.0f 정도 될수 있을것 같다.
다음은 이 Z버퍼를 사용하면서 알파 블랜딩을 사용 하게 되는데 이것이 문제가 있다.
출력하는 순서가 바뀌게 되면 알파 블랜딩이 제대로 안먹히게 된다.
앞에 Z값이 적은 텍스처를 처음에 뿌리게 되면 뒤에 아무것도 없는 상태에서 알파블랜됭 된다.
그뒤에 Z값이 더큰 텍스처를 뿌리게 되면
일반적으로는 Z값이 작은 텍스처 에 알파블랜딩 된것들뒤에 Z값이 작은 값이 출력 되어야 한다.
하지만 이런경우 안된다. 이같은 경우로 사용 하면 Z버퍼가 엉망으로 나온다.
알파 블랜딩과 Z버퍼를 사용 할때는 순서를 잘 정해야 한다고 한다. 그래서
보통 프로그램에서는 불투명 부터 출력하고 다음에 알파블랜딩을 출력 해준다고들 한다.
다음으로 알파테스트의 사용 원리는 이러하다 보통 예제에서는 알파 0~256의 값이있다고하고
128이하의 값은 모두 투명으로 해라~라고 쓰인다. 그러므로 직솔적인 알파테스트는
나올려면 나오고 안나올려면 쓰레기통(dise card)에 너버린다.
반투명이 안단된다는 소리다~
'DirectX > 3D' 카테고리의 다른 글
지형 렌더링 LOD (0) | 2010.07.08 |
---|---|
쿼드트리(Quad Tree) (0) | 2010.07.06 |
Z버퍼의 개념( 알파블랜딩) (0) | 2010.06.29 |
DirectX 한글 도움말 (0) | 2010.06.15 |
랜더링 파이프라인 (0) | 2010.06.10 |