直接上代码。
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; }
相关推荐
在Windows平台上,通常使用Win32 API来创建窗口,并将OpenGL上下文与之关联,从而为OpenGL提供一个显示表面。 1. **基本的照相机操作**:在OpenGL中,我们并不直接控制“照相机”,而是通过变换矩阵来模拟视角变化...
OpenGL ES是Android平台上进行2D和3D图形渲染的核心库,尤其在游戏开发中不可或缺。本教程将聚焦于Android上的OpenGL ES 3D游戏开发,介绍如何设置OpenGL ES视图,这是任何图形...祝你在OpenGL ES开发之旅中取得成功!
通过"OpenGL_Test"中的实例,你可以亲自动手实践,逐步理解并掌握OpenGL的工作原理,为创建自己的3D应用程序打下坚实基础。这个压缩包可能还包含了一些示例程序的运行结果和解释,帮助你直观地理解代码和理论之间的...
OpenGL是计算机图形学领域广泛应用的一种编程接口,它允许开发者创建复杂的3D图形和动画。NeHe教程是OpenGL学习的经典资源,由Jeffrey LaMorte创建,提供了大量的示例代码和详细的解释,帮助初学者理解并掌握OpenGL...
OpenGL(Open Graphics Library)是一种开放源代码的应用程序编程接口(API),用于在各种操作系统上实现2D和3D图形渲染。它为程序员提供了与硬件交互的能力,使得开发人员能够创建高性能、跨平台的图形应用程序。...
OpenGL是计算机图形学中的一个强大的库,用于生成2D、3D图像,广泛应用于游戏开发、科学可视化等领域。...通过逐步解析和运行这个代码,你将深入理解OpenGL的运作机制,并能动手创建自己的3D图形应用程序。
OpenGL是计算机图形学领域广泛应用的一种编程接口,它允许开发者创建复杂的3D图形和视觉效果。在《OpenGL宝典》这本经典著作中,通常会包含许多示例代码和练习项目,帮助读者深入理解和掌握OpenGL的各种概念和技术。...
通过NeHe的OpenGL教程,你将掌握绘制3D图形的基本概念,以及如何使用OpenGL实现各种视觉效果。对于希望深入图形编程的人来说,这是一个极好的起点,也是进阶技能的良好补充。记得实践是掌握OpenGL的关键,动手编写...
OpenGL是计算机图形学领域广泛应用的一种跨语言、跨平台的应用程序编程接口(API),它允许程序员直接控制显卡进行复杂的3D图形渲染。本压缩包 "_2.rar_simplifier" 提供的是针对初学者的OpenGL编程资源,特别是...