안녕하세요
현재 툰쉐이딩은 잘되고 아웃라인 렌더링도 잘 되긴 합니다.
그런데 문제는 백페이스를 노멀방향으로 확대해서 그려주고는 있지만
거리에 따라 두께가 달려져서 고민중입니다.
그 아웃 라인의 두께를 일정하게 고정시키는 방법이 없을까요?
저 아래에서도 이 문제에 관한 쓰레드가 있긴 하지만 결론이 나지 않아
다시 한번 쓰레드를 열었습니다 ^^
좋은 방법있으면 알려주세여 ㅠ.ㅠ.....
아웃라인의 일정한 두께 조절..
Moderator: 류광
-
- Posts: 518
- Joined: 2002-07-03 01:24
1픽셀 굵기로 하고싶다면..
비회원 wrote:스케일 팩터를 카메라하고 케릭터의 거리 값으로 하셨다구여?궁금이 wrote:저는 캐릭터와 카메라의 거리 값을 얻어서 일정하게 나오도록 매 프레임 계산해주었는데.. -_-;
훔..
간단한 예제를 훔쳐 볼 수 있을까여 ㅡㅡ;
폴리곤 오프셋 = thickness x dist x fovx / width
thickness : 픽셀단위의 외곽선 두께 (pixel 단위)
dist : 카메라와 오브젝트의 거리 (사용하는 좌표단위)
width : 화면 가로 해상도 (pixel 단위)
fovx : x 축 방향으로의 카메라 절두체 각도 (radian)
외곽선 두께가 일정하다면 width, fovx, thickness는 상수일테니, 변할 수 있는건 거리밖에 없습니다.
-
- Posts: 526
- Joined: 2002-08-19 23:30
공식에 대한 질문입니다.
공식을 계속해서 보다가 간신희 이해한 부분은 다음과 같은데, 제가 제대로 이해하고 있는지zDistance * tan( screenThickness * fovH / scrHeight )
[출처] 스크린 좌표계의 1픽셀을 3D좌표계의 크기로 맵핑하기|작성자 백승지
궁금합니다.
1. fovH / scrHeight = 1 픽셀당 할당되는 라디안 각도
2. screenTickness = 몇픽셀 움직일것인지 원하는 값.
3. tan ( 각도 ) = 세로 / 가로 의 절대 값 비율을 알려줌.
(View Frustum 을 눕혀서 볼때의 Z 가 가로가 됨).
4. zDistance(가로) * 세로/가로 = 대략 가로는 사라짐.
5. 세로만 남음.. 이 값이 바로 해당 픽셀을 이동시키기 위해서 3D 뷰공간에서 노말만큼 미는값.
수학실력이 많이 부족하여 제가 제대로 이해하고 있는지 아직 더 생각을 해보고 있는데.
대략 맞게 이해하고 있는지 확인해주셨으면 합니다.
[email protected](MSN)
-
- Posts: 313
- Joined: 2002-07-27 12:01
- Location: (주)게임빌
- Contact:
Re: 공식에 대한 질문입니다.
tan(각도) = 세로 / 가로심 형근 wrote:공식을 계속해서 보다가 간신희 이해한 부분은 다음과 같은데, 제가 제대로 이해하고 있는지zDistance * tan( screenThickness * fovH / scrHeight )
[출처] 스크린 좌표계의 1픽셀을 3D좌표계의 크기로 맵핑하기|작성자 백승지
궁금합니다.
1. fovH / scrHeight = 1 픽셀당 할당되는 라디안 각도
2. screenTickness = 몇픽셀 움직일것인지 원하는 값.
3. tan ( 각도 ) = 세로 / 가로 의 절대 값 비율을 알려줌.
(View Frustum 을 눕혀서 볼때의 Z 가 가로가 됨).
4. zDistance(가로) * 세로/가로 = 대략 가로는 사라짐.
5. 세로만 남음.. 이 값이 바로 해당 픽셀을 이동시키기 위해서 3D 뷰공간에서 노말만큼 미는값.
수학실력이 많이 부족하여 제가 제대로 이해하고 있는지 아직 더 생각을 해보고 있는데.
대략 맞게 이해하고 있는지 확인해주셨으면 합니다.
이 부분에서 가로는 결론적으로 1이 됩니다. 따라서 1을 갈 때에 세로로 얼마나 가게 되느냐가 결정되죠..
결국 z축으로 1을 갈 때에 tan(각도)만큼 커지게 되는 것이죠..
1 : tan값 = zDistance : 결과값
따라서 원하는 zDistance에서의 확대크기는 zDistance * tan(각도)가 되는 겁니다.
제가 질문을 제대로 이해하고 답변했는지 모르겠네요~^^