`
daojin
  • 浏览: 697271 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

 
阅读更多

直接上代码。

	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建模程序代码

    在Windows平台上,通常使用Win32 API来创建窗口,并将OpenGL上下文与之关联,从而为OpenGL提供一个显示表面。 1. **基本的照相机操作**:在OpenGL中,我们并不直接控制“照相机”,而是通过变换矩阵来模拟视角变化...

    android开发之OpenGL ES教程

    OpenGL ES是Android平台上进行2D和3D图形渲染的核心库,尤其在游戏开发中不可或缺。本教程将聚焦于Android上的OpenGL ES 3D游戏开发,介绍如何设置OpenGL ES视图,这是任何图形...祝你在OpenGL ES开发之旅中取得成功!

    OpenGL_Test.rar_opengl

    通过"OpenGL_Test"中的实例,你可以亲自动手实践,逐步理解并掌握OpenGL的工作原理,为创建自己的3D应用程序打下坚实基础。这个压缩包可能还包含了一些示例程序的运行结果和解释,帮助你直观地理解代码和理论之间的...

    NeHe OpenGL教程 Qt版 源码

    OpenGL是计算机图形学领域广泛应用的一种编程接口,它允许开发者创建复杂的3D图形和动画。NeHe教程是OpenGL学习的经典资源,由Jeffrey LaMorte创建,提供了大量的示例代码和详细的解释,帮助初学者理解并掌握OpenGL...

    OpenGl-whl文件综合

    OpenGL(Open Graphics Library)是一种开放源代码的应用程序编程接口(API),用于在各种操作系统上实现2D和3D图形渲染。它为程序员提供了与硬件交互的能力,使得开发人员能够创建高性能、跨平台的图形应用程序。...

    CSharpasharpGL_example.zip_opengl_sharpgl_sharpgl 旋转_sharpgl三维

    OpenGL是计算机图形学中的一个强大的库,用于生成2D、3D图像,广泛应用于游戏开发、科学可视化等领域。...通过逐步解析和运行这个代码,你将深入理解OpenGL的运作机制,并能动手创建自己的3D图形应用程序。

    《opengl宝典》光盘附带的文件-4

    OpenGL是计算机图形学领域广泛应用的一种编程接口,它允许开发者创建复杂的3D图形和视觉效果。在《OpenGL宝典》这本经典著作中,通常会包含许多示例代码和练习项目,帮助读者深入理解和掌握OpenGL的各种概念和技术。...

    NeHe的OPENGL教程-入门与提高

    通过NeHe的OpenGL教程,你将掌握绘制3D图形的基本概念,以及如何使用OpenGL实现各种视觉效果。对于希望深入图形编程的人来说,这是一个极好的起点,也是进阶技能的良好补充。记得实践是掌握OpenGL的关键,动手编写...

    _2.rar_simplifier

    OpenGL是计算机图形学领域广泛应用的一种跨语言、跨平台的应用程序编程接口(API),它允许程序员直接控制显卡进行复杂的3D图形渲染。本压缩包 "_2.rar_simplifier" 提供的是针对初学者的OpenGL编程资源,特别是...

Global site tag (gtag.js) - Google Analytics