http://gpgstudy.com/forum/viewtopic.php?topic=18766쉐이더 없이 카툰 외곽라인 처리시 질문입니다 올려짐: 2008-02-12 22:13
--------------------------------------------------------------------------------
제가 카툰 외곽라인을 처리해 보려고 GPG를 검색하다가 알아낸 방법중 제일 쉬운 방법이
newVertex = orgVertex + ( FaceNormal*외곽선두께값(1.0이상) ) (어떤분이 쓰신거 그대로 복사함ㅡ.ㅡ)
이렇게 하면 된다고 하더군요.
쉐이더 없이 구현하려고 하는데 그렇다면 저렇게 생긴 newVertex를 위한 버텍스 버퍼를 추가로 하나 더 만들어야 하는건가요? 아니면 orgVertex 가 있는 버텍스에서 월드 행렬 설정할때 저걸 곱해줘서 처리하라는 애기 인가요? 일단 전 무식해서 newVertex를 위한 버텍스 버퍼를 하나 더 만들어서 하기는 했는데 안만들고 해도 될거 같은데 잘 안됩니다.
kim05005 가입: 2007년 3월 24일 올린 글: 43 올려짐: 2008-02-12 23:46
--------------------------------------------------------------------------------
마비노기 같은 경우는
한 번 크게 그리고, 작게 또 그려서 그 차이로 그린다고 들었습니다..
_________________
콜라 좋아해요
비회원 손님 Re: 쉐이더 없이 카툰 외곽라인 처리시 질문입니다 올려짐: 2008-02-13 09:44
--------------------------------------------------------------------------------
newVertex = orgVertex + ( FaceNormal*외곽선두께값(1.0이상) ) (어떤분이 쓰신거 그대로 복사함ㅡ.ㅡ)
이게 윗분이 말하신 것 처럼 크게 한번 찍고 원본을 찍는 방식이 아닌가요?
저렇게 할 때는 카메라와의 거리에 따라서 외곽선 두께값을 조절해 줘야
멀리서 보나 가까이서 보나 동일한 두께의 외곽선이 나오죠..
음... 위의 방법도 쉽고 꽤 효과적이긴 한데
저희 게임에서는 외곽선 폴리곤을 따로 추출해서 그리고 있습니다.
생각보다 구현이 어렵다거나 속도가 느리지는 않은 듯 합니다.
eias 가입: 2005년 8월 10일 올린 글: 4 소속: 넥슨, 데브캣 스튜디오 올려짐: 2008-02-13 09:52
--------------------------------------------------------------------------------
마비노기에서는 명도 1/4 정도로 낮춰주고 왼쪽으로 1도트 밀어서 한 번,
오른쪽으로 1도트 밀어서 한 번 찍는 방식을 사용했었습니다. (__)
zupet 가입: 2003년 5월 13일 올린 글: 2097 소속: 양재역 4번 출구 올려짐: 2008-02-13 10:05
--------------------------------------------------------------------------------
eias 씀:
마비노기에서는 명도 1/4 정도로 낮춰주고 왼쪽으로 1도트 밀어서 한 번,
오른쪽으로 1도트 밀어서 한 번 찍는 방식을 사용했었습니다. (__)
우왕 굳.. T_T
드디어 비밀이 밝혀졌는데.. 약간 허탈하군요. 털썩~ OTL
비회원 손님 음..근데 도트 밀어서 하면.. 올려짐: 2008-02-13 10:29
--------------------------------------------------------------------------------
4번찍어야 하는거 아닌가요?
왼쪽 오른쪽으로만 한번씩 더 찍게 되면.. 왼쪽오른쪽만 라인이 보이는거 아닌가요 ~
ㅎ 웬지 저만 이해못하고 있는 분위기인건가-.-
zupet 가입: 2003년 5월 13일 올린 글: 2097 소속: 양재역 4번 출구 Re: 음..근데 도트 밀어서 하면.. 올려짐: 2008-02-13 10:57
--------------------------------------------------------------------------------
비회원 씀:
4번찍어야 하는거 아닌가요?
왼쪽 오른쪽으로만 한번씩 더 찍게 되면.. 왼쪽오른쪽만 라인이 보이는거 아닌가요 ~
ㅎ 웬지 저만 이해못하고 있는 분위기인건가-.-
저도 궁금해서 조금전 열심히 스샷들을 찾아 봤는데 윗쪽엔 도트가 없더군요.
4방향 다 찍으면 이리저리 지저분해져서 좌-우 양쪽으로만 깔끔하게 찍은 것 같습니다.
비회원 손님 올려짐: 2008-02-13 11:13
--------------------------------------------------------------------------------
많은 분들이( 저포함 ) 궁금했는데...그런거였군요....( 저 역시 약간 허탈^^ )
예전 동영상도 그렇고, 캐릭터가 반투명될때 명암이 빠지는것을 봐서는
( 멀티패스시 그냥 반투명시키면 이쁘게 안나오니 명암패스를 빼고, 텍스쳐패스만 출력으로 추측했습니다. )
라이트계산만 출력하는 패스와 텍스쳐를 입하는 패스가 분리되어 있어서
외곽선을 제외하고도 2-3패스정도를 쓰는것 같던데...그러면 총 몇 패스가 되는 건가요.
이런저런 최적화를 도입할수 있는 여지가 있겠지만 다수의 멀티패스를 써도 괜찮은 성능이 나와주는게 부럽네요..~
비회원 손님 Re: 음..근데 도트 밀어서 하면.. 올려짐: 2008-02-13 11:32
--------------------------------------------------------------------------------
비회원 씀:
4번찍어야 하는거 아닌가요?
왼쪽 오른쪽으로만 한번씩 더 찍게 되면.. 왼쪽오른쪽만 라인이 보이는거 아닌가요 ~
ㅎ 웬지 저만 이해못하고 있는 분위기인건가-.-
방금 마비실행해봤는데, 좌우로 한픽셀씩이라면 상/하쪽은 카메라와 수평인 폴리곤이 아니라면
대부분 옆선이 위아래선처럼 보여서 커버가 되네요...
그림판에서 원을 좌우로 한픽셀씩 찍어보면 원의 상하 정점부분만 빼고는 외곽선이 쳐지는게 어느정도의 굴곡만
있다면 상하까지는 찍어주지 않아도 될듯합니다.
비회원 손님 제가 처음에 질문한건 이게 아니였는데...ㅡ.ㅡ 올려짐: 2008-02-13 15:24
--------------------------------------------------------------------------------
많은 분들이 관심 가지고 봐주서셔 감사합니다
제가 처음에 질문한건 고정파이프에서 엣지 표현시 노말방향으로 위치 확장한 버텍스 데이타를 엣지용 버텍스 버퍼를 안만들고 처리가 가능한가였습니다
물론 원본 버텍스 버퍼에 락걸지 않고 할수 있느냐는 거였습니다
일단 제가 한 방식은
먼저 노말확장한 버텍스를 따로 버퍼를 잡아서 해봤습니다. 아주 간단히 쉽게 되더군요. 물론 에니메이션되고 스키닝되는 모델입니다
그 다음에 추가 버퍼를 만들지 말고 해보려고 하는데요
음... 안만들고는 할수가 없을듯 한데 안만들고는 불가능한건가요?
만약 할수 있다면 가르쳐 주세요. 락을 걸어서 하는건 제외입니다. 아 프리미티브업 하는것도 제외입니다
----------------------------------------------------------------------------------------------------------------------------------------------------------
나도 정말로 궁금했었다구... -_-;;;; 이제야 의문이 풀렸음
어째서 마비노기가 그렇게 깔끔하게 외곽선이 빠지는지;;;;
아는사람에게 물어봤지만(데브캣 사람들이랑 친한) 함부로 알려주면 욕먹는다는 소리밖에 못들었....
근데 정말 알고나니 허탈하네...