直接上代码。

 public static   void glViewport(
int x,
int y,
int width,
int height
)
{
int surfaceHeight = mInfo.height;
float far = mViewPortZFar;
float near = mViewPortZNear;
float sx = width/2.0f;
float ox = sx + x;
float sy = height/2.0f;
float oy = sy + surfaceHeight - height - y;
float A = (far - near)/2.0f;
float B = (far + near)/2.0f;
// compute viewport matrix
float[][] f = new float[4][4];
f[0][0] = sx;  f[0][1] = 0;   f[0][2] = 0;  f[0][3] = ox;
f[1][0] = 0;   f[1][1] =-sy;  f[1][2] = 0;  f[1][3] = oy;
f[2][0] = 0;   f[2][1] = 0;   f[2][2] = A;  f[2][3] = B;
f[3][0] = 0;   f[3][1] = 0;   f[3][2] = 0;  f[3][3] = 1;
mCurrentViewPortMatrix = new M4();
mCurrentViewPortMatrix.m = f;
}
 public static void glDepthRangef(
float zNear,
float zFar
){
mViewPortZNear = zNear;
mViewPortZFar = zFar;
}

[置顶] 自己动手实现OpenGL之glViewPort(一)相关推荐

  1. [置顶] 自己动手实现OpenGL-OpenGL原来如此简单(三)

    上一篇自己动手写opengl 由于时间原因停止了更新,现在继续. 1. 首先我们定义以下变量 public static class DisplayInfo{ Canvas canvas; int h ...

  2. [置顶] 自己动手实现OpenGL-OpenGL原来如此简单(二)

    上篇对glViewPort的实现可见一斑.但是并没有提及其中的思路所在.本篇主要是简短地介绍一下WGL的实现思路. 由于OpenGL是一个状态机,既然是状态机,那么肯定有一系列的状态需要保存.Open ...

  3. 自己动手实现OpenGL之glViewPort(一)

    直接上代码. public static void glViewport(int x,int y,int width,int height) {int surfaceHeight = mInfo.he ...

  4. [置顶] 自己动手写Web容器之TomJetty之六:动态页面引入

    传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ 1.Web服务内功经脉 传送门 ☞ 2.让服务动起来 传送门 ☞ ...

  5. android imageview 锯齿,[置顶] android 自定义圆角ImageView以及锯齿的处理

    看到很多人开发过程中要使用圆角图片时,解决方法有: 1.重新绘制一张图片 2.通过布局来配置 3.通过重写View来实现 其中1,2在这里就不讲了,重点讲讲方法三的实现. 实现一:通过截取画布一个圆形 ...

  6. Qt实用技巧:Qt窗口置顶

    若该文为原创文章,未经允许不得转载 原博主博客地址:长沙红胖子Qt C++ Linux Arm_长沙红胖子_CSDN博客-Qt开发,图形图像处理,OpenCV图像处理领域博主 原博主博客导航:红胖子( ...

  7. OpenGL的glViewPort窗口设置函数实现分屏

    OpenGL的glViewPort窗口设置函数实现分屏 之前实现过全景图片查看(OpenGL的几何变换3之内观察全景图),那么我们需要进行分屏该如何实现呢?如下图: 没错就是以前提过的glViewPo ...

  8. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)

    置顶 本人决定将过去一段时间在公司以及日常生活中关于自然语言处理的相关技术积累,将在gitbook做一个简单分享,内容应该会很丰富,希望对你有所帮助,欢迎大家支持. 内容介绍如下 你是否曾经在租房时因 ...

  9. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

最新文章

  1. 策略模式——Strategy
  2. Easyui 让DataGrid适应浏览器宽度
  3. 解决java.lang.UnsupportedClassVersionError: Bad version number in .class file问题
  4. java 判断二叉树是否平衡_剑指Offer - 判断二叉树是否是平衡二叉树
  5. oracle12c安装卡住_windows上安装oracle 12c到69%时卡住不动解决方案
  6. matlab 中括号
  7. 特征因子是什么意思_【空间分析】地理探测器应用-分异及因子探测、交互作用探测(共享单车骑行目的地时空特征与影响因素)...
  8. LeetCode 10 Regular Expression Matching(字符串匹配)
  9. 【JavaScript】回流(reflow)与重绘(repaint)
  10. 明明选的是个人用途,为什么会被检测商用?
  11. 《机器学习与数据科学(基于R的统计学习方法)》——2.15 小结
  12. 光立方程序详解_C ++程序使用宏查找数字的立方
  13. 程序员必备 Windows 快捷操作大全
  14. windows11虚拟机安装失败解决办法
  15. iOS 给文字上面加贯穿横线
  16. latex formula
  17. 常用C++库及测试程序
  18. Win32_SoundDevice 声卡 的参数说明
  19. 科学家发现人类演化新证据河南栾川直立人化石
  20. 四川专科计算机学院多少分录取分数线,四川多少分能上大专,四川大专院校最低分数线...

热门文章

  1. linux内核模块签名,如何签名内核模块Ubuntu 18.04
  2. signature=a8a3e788013f73439051c7287d7f5f0b,来用百度密语吧!!!
  3. java代码如何与界面联系在一起_如何在Visual Studio Code 中编写Java代码
  4. python制作小工具_利用Python制作翻译小工具
  5. python统计字符串数字个数_python统计字符串中数字个数_后端开发
  6. IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置
  7. log nginx 客户端请求大小_后端实践:Nginx日志配置(超详细)
  8. 其他系统 对外接口设计_设计模式分类及设计原则
  9. 因缺失log4j.properties 配置文件导致flume无法正常启动。
  10. Nagios监控Windows server 2003 系统