2011-08-29 5 views
0

OpenGL을 사용하여 C++에서 섬/토지의 2D 실루엣을 그리려합니다. 그 섬과 비슷한 단순한 섬입니다. hereOpenGL에서 섬의 ​​2D 실루엣 그리기

폴리곤 그리기, 검정색 채우기 및 섬 모양을 얻고 가장자리를 지키기 위해 버텍스 포인트를 하드 코딩하는 등의 방법을 시도했습니다. 이 예에서와 같이 거칠게 보입니다. 그러나 꼭 꼭짓점 수가 너무 많기 때문에 이것이 실제로 가장 좋은 방법은 아니라고 생각합니다. 포토샵에서 필자가 포인트를 시각적으로 가져 오거나 추가하거나 변경할 수있는 것과는 다르므로 조정하기가 매우 어렵습니다.

산과 같은 가장자리를 얻기 위해 2D 섬 실루엣을 그릴 수있는 더 좋은 방법이 있습니까? 섬의 전반적인 모양에 관해서는, 다각형 모양을 형성하는 유일한 방법은 포인트의 톤을 심어 내 순진한 방법입니까?

방금 ​​OpenGL을 시작했으며 제안 사항에 대해 감사하게 생각합니다. 감사!

+0

알파 채널/마스크가있는 단일 질감 쿼드 만 사용하는 이유는 무엇입니까? – Flexo

+0

음 ... 너무 초보자라도 들으면. 실루엣이 완전히 단색의 검은 색이기 때문에 왜 텍스처가 필요합니까? 어떻게 쿼드 및 알파 채널 마스크를 사용하여 섬을 그릴 수 있습니까? 그래도 정점 목록을 하드 코딩해야합니다. 그렇지 않아도됩니까? – Carven

+0

"awoodland"는 다음과 같은 의미입니다. 평면 (2 삼각형)을 그립니다. 섬 실루엣을 나타내는 이미지로 텍스처를 처리하고 알파를 활성화하여 섬 실루엣 주위를 투명하게 만듭니다. 비행기를 배경에 놓으십시오. 이렇게하면 포토샵에서 편집하고 OpenGL로 표시 할 수 있습니다. – Valkea

답변

1

여기에는 여러 가지 방법이 있습니다. 두 가지 간단한 방법이 있습니다.

쉬운 방법 : 코멘트 에서처럼, 이미지 편집기 (알파 포함)에서 섬을 만들고 블렌딩이 가능한 쿼드/트리스로 그립니다.

어려운 방법 : 벡터 그래픽 (모양을 만드는 벡터의 의미 지점)을 가져 와서 다각형으로 그립니다. 기존 형식을 사용하는 경우 초보자에게 복잡 할 수 있습니다. 또한 방법 1만큼 효율적이지 않지만 확대/축소를 계획하는 경우 특히 시각적 효과가 훨씬 뛰어납니다.

결국 구현 방법은 전적으로 사용자의 선택에 달려 있지만 첫 번째 방법은 간단하고 쉽습니다. 초보자를 위해 권장합니다 (나중에 다시 돌아와서 방법 2를 시도하십시오);)).

관련 문제