我正在查看用于将 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();
}