2012-09-23 5 views
2

많은 제한이있는 빌드 glLineWidth 함수를 사용하지 않고 OpenGL ES2에서 두께와 매끄러운 선을 그릴 수있는 방법을 찾고 있습니다. 나는 이것이 셰이더를 사용하여 수행 될 수 있다고 생각하지만, 나의 glsl 기술은 제한적이다.OpenGL에서 두께가있는 부드러운 선을 그리는 방법 [ES 2]

제가 이미 시도한 것은이 question's answer과 같은 둥근 연결점을 가진 폴리를 실제로 만드는 것입니다. 그러나, 무료 그리기의 목적을 위해 이것은 잔인한이며 내 애플 리케이션을 매우 느리게 실행합니다. 그래서, 저는 버텍스 쉐이더에서 같은 일을하면 성능이 향상 될 것이라고 생각합니다. 그러나 제 목적 (그림)에 유용하지는 않습니다.

지금 당장은 내가 그들을 연결하고 각 연결 세그먼트 두께를 줄 수 있다면, 라인을 멋지게 묘사 할 점들이 있습니다.

+0

원하는 것을 수행하는 셰이더는 버텍스 셰이더가 아닌 ** 형상 ** 셰이더가되어야합니다 (주어진 데이터를 기반으로 버텍스를 구성하려는 경우). –

+0

내가 아는 한 (내가 틀릴 수도 있음) 셰이더에는 2 가지 유형 (정점 셰이더 및 조각 셰이더)이 있습니다. 첫 번째는 정점과 함께 작동하고 두 번째는 두 개의 정점 사이에 삽입 된 "점"인 조각을 사용합니다. –

+0

** 네 가지 ** 유형의 쉐이더가 있습니다. 기하학, 테셀레이션, 정점 및 단편 적어도 새로운 OpenGL에서. [GLSL 표준] (http://www.opengl.org/registry/doc/GLSLangSpec.4.20.6.clean.pdf) –

답변

1

이 경우 자주 수행되는 작업은 부드럽게하지 않고 쿼드를 그리는 것입니다. 그런 다음 부드럽고 단일 픽셀의 넓은 선 그리기를 사용하여 쿼드의 윤곽을 그립니다.

관련 문제