opengl中的glViewport,glOrtho,glFrustum 理解
来源:互联网 发布:离线电子地图标注软件 编辑:程序博客网 时间:2024/05/16 09:41
在刚使用opengl时,会遇到对opengles中的一些视角等理解,需要用到glViewport,glOrtho,glFrustum 等函数,下面针对这些函数做一些说明
viewport建立视口,是视窗函数,描述opengl渲染出的图像如何映射到windows或其他平台提供的窗口上(surface,Android下)。
函数原型void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
x,y 指定视口的左下角的坐标,width,height,视口的宽和高。
映射关系:
xw = ( xnd + 1 ) width/2 + xyw = ( ynd + 1 ) height/2 + y其中Xw,Yw是映射到窗口上的坐标,Xnd,Ynd是Opengl中的渲染结果坐标。相对opengl的坐标系(右手坐标系);
举例说明:如在opengl中渲染一个矩形。
如果使用默认的 glviewport(0,0,320,240), 假定采用的windows窗口 width=320,height=240,其结果就是渲染了一幅填充整个屏幕的矩形,
整个图形都变形了,
1、计算 x的调整比例x= (VWidth - VHeight) / 2
2、调整长宽比例,将width替换成Height,保持比例。
如果height>width,则调整height
void makeCenterAspectiong(ESContext *esContext){int x = 0;int y = 0;int ViewWidth = esContext->width;int ViewHeight = esContext->height;if (ViewWidth > ViewHeight){x= (int)((ViewWidth - ViewHeight) / 2);ViewWidth = ViewHeight;}else{y= (int)((ViewHeight - ViewWidth) / 2);ViewHeight = ViewWidth;}glViewport(x, y, ViewWidth, ViewHeight);}
- opengl中的glViewport,glOrtho,glFrustum 理解
- [转]OpenGL中glViewport和glOrtho和glFrustum
- OpenGl中的glViewport()函数和glOrtho()函数的理解
- glOrtho,gluOrtho2D,glFrustum,glViewport解析
- glOrtho,gluOrtho2D,glFrustum,glViewport解释说明
- glOrtho,glFrustum,gluPerspective的理解,很清楚
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- glViewport()函数和glOrtho()函数的理解
- Input命令分析
- 利用ZXing生成和读取二维码
- 新博客
- java.util.concurrent.Exexcution:com.android.ide.common.process.ProcessException问题解决方案
- [转载]Android jni 二维数组 传递
- opengl中的glViewport,glOrtho,glFrustum 理解
- BOL简单分析(二)
- 历届试题 回文数字
- 【Linux Is Not Unix】Linux如何增加和修改SSH端口号
- 字符串处理(计蒜客--解码)
- Oracle学习之:体系结构
- CodeForces 780A Andryusha and Socks【水题】
- js 手机号码校验
- 域名