OpenGL 와이어 프레임


18

아니요, glPolygonMode를 찾고 있지 않습니다. 복고풍 스타일의 와이어 프레임으로 객체를 찾는 메소드, 아마도 GLSL 셰이더를 찾고 있습니다. 어떤 제안?

벡터 탱크와 같은 것이 있습니다.

http://toucharcade.com/wp-content/uploads/2009/01/picture-111-300x204.png

솔루션은 OpenGL ES 2.0에서도 작동해야합니다.

모든 힌트와 포인터 (NULL이 아닌 한)는 높이 평가했습니다!

답변:



5

Dave가 말했듯이 텍스처 사용을 적극 권장합니다. 그것은 고통스러운 것일 수도 있지만 훨씬 더 나은 성능을 제공 할 것이라고 생각합니다.

에지 감지 알고리즘을 검색해 볼 수 있습니다. 단색과 중간 알파 값을 가진 정점 채색을 사용하여 메쉬를 만든 다음 (약간의 투명도를 위해) 가장자리 감지 쉐이더를 사용하면 충분히 좋아 보일 수 있습니다. 완전히 같지는 않지만 더 좋아할 수도 있습니다. 아니면 아닐 수도 있습니다.

그렇지 않으면 투 패스 솔루션을보고 반투명 다각형을 그린 다음 (정점 색상을 중간 알파 값으로 단색으로 설정) glPolygonMode (GL_LINE) 를 설정 하고 glLineWidth 를 원하는대로 조정 하십시오 (아마도 객체를 기반으로 함) 거리)와 다각형을 다시 그립니다.

조금 늦었고 이것을 읽는 데 어려움을 겪고 있지만 포럼 토론 은이 PDF를 가리 킵니다 : Single-pass Wireframe Rendering . 관련이 없다면 사과드립니다.


+1 : 어떻게 든 텍스처를 생성하는 방법을 찾으면 더 쉬울 것입니다. 이후 OpenGL ES 타겟팅 (iStuff)으로 인해 glPolygonMode를 사용할 수 없습니다.
Kornel Kisielewicz

2

나는 그것이 당신이 추구하는 것이 아닐 수도 있지만 Vector Tanks는 단지 질감 모델을 사용하는 것처럼 보입니다. 텍스처는 와이어 프레임 모양을 제공하며, 쉐이더를 지원하지 않는 iPod touch에서 실행됩니다.


알고 있습니다.하지만 Subversion의 그림을 붙여 넣을 수도 있으며 텍스처를 전혀 사용하지 않습니다 (AFAIK)
Kornel Kisielewicz

2

내가 본 유일한 방법은 Tron 2.0의 텍스처와 같이 주로 검은 색의 고해상도 텍스처를 사용하는 것입니다. 그들의 질감은 거의 보편적으로 두껍고 착색 된 테두리가있는 평평한 검은 색이거나 단순한 Perlin 소음 텍스처입니다.

이들은인가 간단한 포스트 - 프로세싱 글로우 효과를 얻기 위해.


+1 : 나는 그 기사를 알고 있었지만, 상기시켜 주셔서 감사합니다. 그것은 정말로 좋은 기사입니다.
Kornel Kisielewicz

1

픽셀 쉐이더에서 간단한 거리 기능을 시도해 볼 수 있습니다. 아마도 무게 중심 좌표와 같은 것입니다 (정점에 다른 RGB를 저장하면 래스터 라이저가 대부분의 작업을 수행합니다).

그런 다음 픽셀 셰이더는 다각형에서 현재 픽셀이 어디에 있는지에 대한 필요한 정보를 갖습니다-정점 근처, 가장자리 근처 또는 중간 ...

실제로는 질감이 더 쉽다고 생각합니다.


1

방법 : 모델을 가져 와서 윤곽선으로 표시 할 모서리를 기울입니다. 밝은 불투명 한 녹색으로 만든면의 색상을 지정하고 모든 오래된 얼굴은 진한 반투명 녹색입니다.

픽셀 셰이더를 전혀 사용할 필요가 없습니다. (실제로는 질감이 없으며 얼굴 색상 만 나타납니다.) 일부 모델 전처리가 필요하며 문제가 될 수도 있고 아닐 수도 있습니다.

경 사진 표면이 뷰에 수직이면 윤곽선을 볼 수 없습니다. 이것이 당신을 귀찮게한다면, 경사면과 마찬가지로 돌출면을 채색하여 경사면을 약간 돌출시킬 수 있습니다. 얇고 두꺼운 선을 만들기 위해 다른 각도의 경사와 압출로 놀 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.