지금 게임에서 레일을 설치한 모습입니다. 레일은 3d 공간에 텍스쳐를 입힌 Quad로 구성되어 있어요. 특정 조건에서 선택된 레일에 강조 효과를 넣고 싶어요. (양 끝단에 카나데는 무시해도 됩니다.)
이건 비슷한 장르의 시티즈: 스카이라인 2에서 건물을 선택했을 때 하늘색 외곽선으로 강조 효과를 준 화면입니다. 제 게임에도 같은 방식을 사용해보고 싶어요.
게임은 지금 OpenGL을 쓰고 있는데 어떻게 하면 될까요?
지금 게임에서 레일을 설치한 모습입니다. 레일은 3d 공간에 텍스쳐를 입힌 Quad로 구성되어 있어요. 특정 조건에서 선택된 레일에 강조 효과를 넣고 싶어요. (양 끝단에 카나데는 무시해도 됩니다.)
이건 비슷한 장르의 시티즈: 스카이라인 2에서 건물을 선택했을 때 하늘색 외곽선으로 강조 효과를 준 화면입니다. 제 게임에도 같은 방식을 사용해보고 싶어요.
게임은 지금 OpenGL을 쓰고 있는데 어떻게 하면 될까요?
제가 직접 해 본 적은 없지만, stencil shader를 사용하면 된다고 합니다.
현수 @ppnchb 형 답변:
1 스크린에 오브젝트 렌더하면서 stencil buffer 렌더를 같이 진행
2 외곽선 (단색) 셰이더로 오브젝트를 텍스쳐 A에 따로렌더
3 텍스쳐 A에 블러 먹임 (separable Gaussian blur kernel)
4 스크린 중 스텐실버퍼 처리안된 영역에 텍스처A 를 잘 합치기 (그냥 합치면 glow 스타일 아웃라인, threshold 해서 합치면 solid 아웃라인)
스크린 상에서 유니폼한 실루엣을 뽑으려면 blur 나 dilate 하는게 필요하긴 할듯
흠… 쓰고 있던 OpenGL 래퍼에 스텐실 버퍼 관련된 기능이 없어서 그닥 쓰고 싶지 않았는데, 말고는 방법이 없나 봄
3D 메시라면 써 볼만한 방법.
근데 지금 레일은 공간에 떠 있는 다각형이란 말이지…