나는 10M 이상의 2 차원 다각형을 포함하는 회로 청사진을 보여줄 필요가있는 CAD 소프트웨어에서 작업 중입니다. 각 다각형은 단순하다. 95 %는 직사각형이고 다른 것은 10보다 작은 정점이다.OpenGL을 사용하여 2 차원 다각형의 큰 수 (10M) 그리기
전체 디자인을 보여주기 위해 그래픽 메모리 한계를 엄청나게 날려 버릴 거대한 버텍스 버퍼를 만들어야합니다. 그러나, 대부분의 다각형은 그 크기에서 명확하게 보이지 않기 때문에, 나는 선 그리기 알고리즘을 사용하여 그리는 다각형을 최소화하려고합니다. 하지만 이렇게하면 많은 폴리곤 (각 픽셀은 1 픽셀보다 크지 않을 것입니다)이 사라지고 최종 이미지가 잘못됩니다.
또 다른 생각은 다각형을 각각 강하게 연결 (접촉) 할 그룹으로 분리 한 다음 각 그룹에 대해 큰 다각형을 구성하는 것입니다. 일부 수준의 세부 알고리즘은 모양을 변경하지 않고 점을 축소하는 데 사용할 수 있습니다. 이러한 알고리즘이 얼마나 빠르고 다른 스케일 수준을 미리 계산해야하는지 잘 모릅니다.
이 문제를 해결할 수있는 표준 방법이 있습니까? 꽤 많은 시간 동안 해결되었다고 확신합니다 ...
OpenGL 2.1에서이 작업을 수행해야합니다.
인스턴스 렌더링을 살펴보십시오. –
@ColonelThirtyTwo 대부분의 직사각형 크기가 다르기 때문에 인스턴스 렌더링을 사용할 수 없습니다. 그리고 우리는 어쨌든 그것을 지원하지 않는 OpenGL 2.1을 사용했습니다. – CyberSnoopy
인스턴스 렌더링을 사용하여 정점 셰이더에서 직사각형의 크기를 변경할 수 있습니다. –