OpenGLポリゴンの描画(複数の三角形接続)
1259 ワード
前のブログでは三角形を描く方法を紹介しましたが、この文章では連続三角形を描く方法を紹介します.エンティティGL_の使用TRIANGLE_STRIPは連続三角形を描くことができる.くだらないことは言わないで、直接コードをつけました.
直接スクリーンショットしました.
以上の図形は2つの三角形でつなぎ合わせられています.
未完待機・・・
#include
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT); //
glBegin(GL_TRIANGLE_STRIP); //
glVertex2f(100.0f,0.0f);
glVertex2f(50.0f,100.0f);
glVertex2f(0.0f,0.0f);
glVertex2f(-50.0f,100.0f);
glEnd();
glFlush(); //
}
//
void ChangeSize(GLsizei w,GLsizei h)
{
GLfloat aspectRatio;
if(0 == h)
h = 1;
//
glViewport(0,0,w,h);
//
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//
aspectRatio = (GLfloat)w / (GLfloat)h;
if(w <= h)
glOrtho(-100.0,100.0,-100.0/aspectRatio,100/aspectRatio,1.0,-1.0);
else
glOrtho(-100.0*aspectRatio,100.0*aspectRatio,-100.0,100.0,1.0,-1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
//
void SetupRC(void)
{
glClearColor(0.0f,0.0f,1.0f,1.0f);
}
int main(int argc,char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("OpenGL Sample9");
glutDisplayFunc(RenderScene);
glutReshapeFunc(ChangeSize);
SetupRC();
glutMainLoop();
return 0;
}
直接スクリーンショットしました.
以上の図形は2つの三角形でつなぎ合わせられています.
未完待機・・・