문제

폴리 라인 네트워크가 있으며 특정 XY 상자 안에있는 라인의 모든 부분을 표시하고 싶습니다. 현재 GL_LINE_STRIP를 사용하여 OpenGL에서 라인을 렌더링하고 있으며 잘 작동합니다. 그러나 XY 박스의 경계가 선 중 하나 (정점 사이)를 지나가면 상자 안에있는 선의 일부를 표시하는 좋은 방법이 있습니까?

감사해요,

제프

도움이 되었습니까?

해결책

상자가 평범한 2 차원, 축 변경 사각형 인 경우 Glcissor 기능을 사용할 수 있습니다. 간단히 말해서 모든 도면이 발생하는 스크린 코디네이트의 2D 사각형을 정의합니다.

케이스가 더 복잡한 경우 (예 : 3D 장면 내부의 평면에 사각형이있을 수 있습니다.) 먼저 스텐실 버퍼에 사각형을 그릴 수 있으며 라인 렌더링을위한 스텐실 테스트를 활성화 할 수 있습니다. 이 접근법은 도면을 제한하는 모양에 대한 유연성이 무제한을 제공하지만 렌더링 중에는 약간 느릴 수 있으며 설정에 더 많은 노력을 기울일 수 있습니다.

다른 팁

나는 Nils Pipenbrinck가 당신에게 최고의 두 가지 옵션을 제공했다고 생각하지만 완전성을 위해 다른 것을 버릴 것입니다 : 클립 비행기 (클립 비행기)glclipplane ()).

즉, 나는 생각합니다 glcissor () 항상 창 정렬되는 경우 가장 쉬운 솔루션입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top