OpenGL을 사용하여 5 백만 개의 직사각형을 표시하는 프로그램을 작성하고 있습니다. 약 약 걸립니다. 이 직사각형을 화면에 표시하려면 3 초. 그러나 화면을 확대/축소하거나 왼쪽/오른쪽으로 팬하려고 할 때도 같은 시간이 걸립니다.전체 화면을 다시 렌더링하지 않고 OpenGL 화면을 확대/축소하는 방법
모든 것을 메모리/버퍼에 저장하는 방법이 있다면 궁금해서 화면을 여러 번 다시 그릴 필요가 없습니다.
다른 솔루션과도 열려 있습니다.
static void reshape_cb() {
glViewport(0, 0, (GLint) screen_width, (GLint) screen_height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D (0.0, DESIGN_SIZE, 0.0, DESIGN_SIZE);
}
빠른 답장을 보내 주셔서 감사합니다. 나는 실제로 검을 읽고있다. GL_LINE_LOOP를 사용하여 각 직사각형의 좌표를 데이터베이스에서 가져옵니다. 그게 문제라고 생각하니? – user3097451
@ user3097451 : 렌더링 할 때 데이터베이스에서 읽는 중입니까?음, 그렇습니다, 분명히 문제입니다. 형상 데이터가 변경된 경우에만이를 읽고 버텍스 버퍼 객체의 형태로 OpenGL 서버 측 (= GPU) 메모리에 업로드해야합니다. – datenwolf