位置: 编程技术 - 正文

glViewport(glviewport超出屏幕范围)

编辑:rootadmin
glViewport是OpenGL中的一个函数。计算机图形学中,在屏幕上打开窗口的任务是由窗口系统,而不是OpenGL负责的。1功能编辑glViewport在默认情况下,视口被设置为占据打开窗口的整个像素矩形,如图1,窗口大小和设置视口大小相同,所以为了选择一个更小的绘图区域,就可以用glViewport函数来实现这一变换,在窗口中定义一个像素矩形,最终将图像映射到这个矩形中。例如可以对窗口区域进行划分,在同一个窗口中显示分割屏幕的效果,以显示多个视图。2参数编辑glViewport(GLint x,GLint y,GLsizei width,GLsizei height)为其函数原型。X,Y————以像素为单位,指定了视口的左下角(在第一象限内,以(0,0)为原点的)位置。width,height————表示这个视口矩形的宽度和高度,根据窗口的实时变化重绘窗口。

推荐整理分享glViewport(glviewport超出屏幕范围),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:glviewport函数,glviewport函数,glviewport函数,glviewport函数,glviewport的功能,glviewport函数,glviewport的功能,glviewport(0,0,w,h),内容如对您有帮助,希望把文章链接给更多的朋友!

下面是一个例子:

#include <gl/glut.h>

//不显示控制台窗口#pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"")

void display(){//glMatrixMode( GL_MODELVIEW );//glLoadIdentity();

glClear( GL_COLOR_BUFFER_BIT );

glColor3f( 1.0, 0.0, 0.0 );//画分割线,分成四个视见区glViewport( 0, 0, , );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, , );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( , , , );//一定要注意,后面这两个参数是高度和宽度,而不是坐标 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, 1.0 );glViewport( 0, , , );//一定要注意,后面这两个参数是高度和宽度,而不是坐标glBegin( GL_POLYGON );glVertex2f( -0.5, -0.5 );glVertex2f( -0.5, 0.5 );glVertex2f( 0.5, 0.5 );glVertex2f( 0.5, -0.5 );glEnd();

glViewport(glviewport超出屏幕范围)

//定义在右下角glColor3f( 1.0, 1.0, 0.0 );glViewport( , 0, , );//一定要注意,后面这两个参数是高度和宽度,而不是坐标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 );

//glViewport( 0, 0, , ); //放在这里不好使}

int main( int argc, char ** argv ){ glutInit( &argc, argv );glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );glutInitWindowPosition( , );glutInitWindowSize( , );glutCreateWindow( "glViewport()" );glutDisplayFunc( display ); init();glutMainLoop();}

编译运行结果如下:

OpenGL 之 坐标变换 创建OpenGL模型过程:OPENGL坐标变换很有特点,为了简单描述先定义2个坐标系:(1)世界坐标系:无论如何变换,世界坐标系都不动,以屏幕中心为原点

OpenGL红宝书学习笔记(1) OpenGL对场景中的图像进行渲染时所执行的主要操作:1.根据几何图元创建形状,从而建立物体的数学描述,(OpenGL把点,直线,多边形和位图作为基本的

OpenGL学习之材质RGB值和光源RGB值关系 材质的颜色与光源的颜色有些不同。对于光源,R、G、B等于R、G、B对其最大强度的百分比。若光源颜色的R、G、B都是1.0,则是最强的白光;若变为0.5,

标签: glviewport超出屏幕范围

本文链接地址:https://www.jiuchutong.com/biancheng/373131.html 转载请保留说明!

上一篇:OpenGL 房子(opengl房子建模)

下一篇:OpenGL 之 坐标变换(opengl绘制坐标轴)

  • 计算应交增值税并结转未交增值税怎么做用友
  • 个人所得税如何计算
  • 贴息为什么要付利息呢
  • 佣金可以入账吗
  • 固定资产融资租出计入什么科目
  • 供热企业不得抵扣的进项计算
  • 结算金额大于合同金额
  • 一个人有多份工作
  • 设备服务费是什么
  • 民办非企业单位设立分机构
  • 发票不一致是什么原因
  • 增值税计入无形资产的入账价值吗?
  • 总分机构类型怎么选
  • 收入确认的
  • 长期待摊费用原值怎么填
  • 红冲发票后 库存怎么处理
  • 土地增值税清算报告
  • 企业涉及预计负债的主要事项包括
  • 设备租赁收入属于什么收入
  • 商业写字楼
  • 移动网速测试软件
  • 应交增值税的结转
  • 公司收到保险公司赔款
  • win10应用图标怎么调出来
  • Win7系统电脑c盘什么都没有为什么满了
  • 公司交会费有什么用
  • 文件夹字体怎么变大
  • linux漏洞复现
  • 酒店开业前准备工作流程
  • 固定资产一次性扣除申报表怎么填
  • 认缴制注册资金怎么处理账务
  • 最高成本的手机是哪款
  • 预售商品房转让合同
  • 微信接口开发平台
  • 视觉slam ba
  • 政府会计公共基础设施分类
  • 施工企业应承担的主要责任和义务
  • mongodb基本操作命令
  • 生产辅料怎么分类
  • 用于职工福利的固定资产折旧
  • 小规模超过30万怎么交增值税
  • 家庭分割财产怎么处理
  • mysql语句性能优化
  • 工会经费到底是什么
  • 应收账款全额计提的条件
  • 开办费用怎么处理
  • 计提借款利息怎么算
  • 公司购买的空调
  • 外国专家经费管理办法
  • 主营业务成本工资计提吗
  • 钱汇错了报警有用吗
  • 预付账款属于资产类科目
  • 原材料暂估的账务处理
  • 记账报税属于会计什么职位
  • Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  • win8 photoshop
  • wrapper.exe是什么
  • win8系统应用软件颜色不正常怎么办
  • centos查找目录命令
  • win8启用或关闭windows功能
  • win8系统怎么设置
  • 苹果MAC电脑怎么玩圣安地列斯
  • mac 默认设置
  • win8 设置
  • 自由选择工具快捷键
  • 在对linux系统中dir
  • js实现dialog
  • vue3.0diff
  • android应用程序
  • android网络框架okhttp
  • unity 3d ui
  • jquery中可以用什么方法来获取和设置元素属性
  • 基于javascript的毕业设计
  • 面向对象的三大特征
  • ActivityManager: Warning: Activity not started, its current task has been brought to the front 的的问题
  • 国家税务局吉林省税务局官网app
  • 怎么打印纳税申报清单
  • 工会经费范围税率是多少
  • cfca证书下载流程
  • 国税实名制信息采集
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设