我正在尝试在具有视口(680X530)的非常大的openGL画布(例如500000X500000)上绘制数百万个2D小矩形(例如150X150)。
有没有一种方法可以使这些相对较小的矩形在屏幕上可见而无需放大,从而使屏幕一开始看上去不会是空的。

以下是我的绘制和重塑功能:

static void draw() {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    //draw millions of rectangles
    glColor3f(0.0f, 1.0f, 0.0f);
    glRectf( 275240.0, 499860.0, 275380.0, 500000.0);
    glFlush();
}

static void reshape() {
    glViewport(0, 0, 680, 530);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D (0.0, 500000.0, 0.0, 500000.0);
}


任何人都可以在这里给我一些建议。

最佳答案

您可以使用几何着色器。

测试四边形的面积,您可以应用缩放矩阵,并可以相应地划分颜色

关于c - 如何使很小的矩形在大OpenGL屏幕上可见?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22546846/

10-11 23:14