0

我正在查看用于将 OpenGL 内容绘制到屏幕上的苹果文档,在他们的“绘制到窗口或视图页面”(下面链接)上,它们表明您可以通过在openGL类中的 drawRect 方法中放置数据来进行绘制。我明白这一点,但如果你有一个customClass产生一些你想绘制的顶点数据的东西怎么办。它是如何绘制到屏幕上的?

// within the opengl class

-(void) drawRect: (NSRect) bounds
{
    glClearColor(0, 0, 0, 0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0f, 0.85f, 0.35f);
    glBegin(GL_TRIANGLES);
    {
        glVertex3f(  0.0,  0.6, 0.0);
        glVertex3f( -0.2, -0.3, 0.0);
        glVertex3f(  0.2, -0.3 ,0.0);
    }
    glEnd();
    glFlush();
}

理想情况下,我可以在我的 customClass 中的 draw 方法中做到这一点,比如......

// within my custom class (ideally)

-(void) draw
{
    glClearColor(0, 0, 0, 0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0f, 0.85f, 0.35f);
    glBegin(GL_TRIANGLES);
    {
        for(int i=0; i<[customClassVertices count]; i++)
        glVertex3f(vertices[i].x, vertices[i].y,vertices[i].z);
    }
    glEnd();
    glFlush();
}

这里文档

4

0 回答 0