glViewport用例

说明

成都创新互联公司自2013年起,先为西乌珠穆沁等服务建站,西乌珠穆沁等地企业,进行企业商务咨询服务。为西乌珠穆沁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

    glViewport决定了将OpengGL渲染的图形,显示在屏幕的什么位置,第一和第二参数决定开始渲染的位置,后两个参数分别为宽和高

代码

#include <gl/glut.h>

void display()

{

  glClear( GL_COLOR_BUFFER_BIT );

  glColor3f( 1.0, 0.0, 0.0 );

  //画分割线,分成四个视见区

  glViewport( 0, 0, 400, 400 );

  glBegin( GL_LINES );

  glVertex2f( -1.0, 0 );

  glVertex2f( 1.0, 0 );

  glVertex2f( 0.0, -1.0 );

  glVertex2f( 0.0, 1.0 );

  glEnd();

  //定义在左下角的区域

  glColor3f( 0.0, 1.0, 0.0 );

  glViewport( 0, 0, 200, 200 );

  glBegin( GL_POLYGON );

  glVertex2f( -0.5, -0.5 );

  glVertex2f( -0.5, 0.5 );

  glVertex2f( 0.5, 0.5 );

  glVertex2f( 0.5, -0.5 );

  glEnd();

  //定义在右上角的区域

  glColor3f( 0.0, 0.0, 1.0 );

  glViewport( 200, 200, 200, 200 );//注意,后面这两个参数是高度和宽度,而不是坐标

  glBegin( GL_POLYGON );

  glVertex2f( -0.5, -0.5 );

  glVertex2f( -0.5, 0.5 );

  glVertex2f( 0.5, 0.5 );

  glVertex2f( 0.5, -0.5 );

  glEnd();

  //定义在左上角的区域

  glColor3f( 1.0, 0.0, 0.0 );

  glViewport( 0, 200, 200, 200 );//注意,后面这两个参数是高度和宽度,而不是坐标

  glBegin( GL_POLYGON );

  glVertex2f( -0.5, -0.5 );

  glVertex2f( -0.5, 0.5 );

  glVertex2f( 0.5, 0.5 );

  glVertex2f( 0.5, -0.5 );

  glEnd();

  //定义在右下角

  glColor3f( 1.0, 1.0, 1.0 );

  glViewport( 200, 0, 200, 200 );//注意,后面这两个参数是高度和宽度,而不是坐标

  glBegin( GL_POLYGON );

  glVertex2f( -0.5, -0.5 );

  glVertex2f( -0.5, 0.5 );

  glVertex2f( 0.5, 0.5 );

  glVertex2f( 0.5, -0.5 );

  glEnd();

  glFlush();

}

void init()

{

  glClearColor( 0.0, 0.0, 0.0, 0.0 );

  glColor3f( 1.0, 1.0, 1.0 );

  glMatrixMode( GL_PROJECTION );

  glLoadIdentity();

  //定义剪裁面

  //gluOrtho2D( -1.0, 1.0, -1.0, 1.0 );

}

int main( int argc, char ** argv )

{

  glutInit( &argc, argv );

  glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );

  glutInitWindowPosition( 100, 100 );

  glutInitWindowSize( 400, 400 );

  glutCreateWindow( "glViewport" );

  glutDisplayFunc( display );

  init();

  glutMainLoop();

}

当前题目:glViewport用例
链接地址:https://www.cdcxhl.com/article2/iggioc.html

成都网站建设公司_创新互联,为您提供网站设计网站内链微信公众号品牌网站建设商城网站搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设