随笔分类 - OpenGL
摘要:当相机预览分辨率设置为1280*720,但是GLSurfaceView设置为正方形会如何?很明显画面会被拉伸导致变形,在想一下如果设置GLSurfaceView为全屏,但目前市场上的手机有很多种不同的分辨率,尤其是全面屏、折叠屏屏,这些手机并不是常见的16:9的手机,因此我们需要适配这些不同分辨率的
阅读全文
摘要:最近接触了Android OpenGL ES 和 OpenCL ES,然后就很想知道除了这两个之外到底还有几个Open系列的API集。搜集的结果如下(纯为自己科普): 1. OpenGL(OpenGraphics Library) OpenGL是业界最广泛采用的二维和三维图形API,将成千上万的应用
阅读全文
摘要:1. 获取着色器程序内成员变量的id(句柄、指针) GLES20.glGetAttribLocation方法:获取着色器程序中,指定为attribute类型变量的id。 GLES20.glGetUniformLocation方法:获取着色器程序中,指定为uniform类型变量的id。 如: 2. 向
阅读全文
摘要:一、概念 一般说来,纹理是表示物体表面的一幅或几幅二维图形,也称纹理贴图(texture)。当把纹理按照特定的方式映射到物体表面上的时候,能使物体看上去更加真实。当前流行的图形系统中,纹理绘制已经成为一种必不可少的渲染方法。在理解纹理映射时,可以将纹理看做应用在物体表面的像素颜色。在真实世界中,纹理
阅读全文
摘要:前面的文章主要是整理的Android 官方文档对OpenGL ES支持的介绍。通过之前的文章,我们基本上可以完成的基本的形状的绘制。 这是本人做的整理笔记: https://github.com/renhui/OpenGLES20Study 目前到这里第一阶段的学习,也就是基本的图形绘制,基本的交互
阅读全文
摘要:在使用OpenGL ES做开发的时候,发现不是所有机型对OpenGL的代码都兼容的那么好,同样的代码在某些机型上总是会出现问题,但是在其他手机上就是好的。下面是本人总结的OpengGL 兼容问题: 一、验证当前手机支持的Opengl版本 android获取当前手机Opengl版本的方法 二、机型问题
阅读全文
摘要:像旋转三角形一样,通过预设程序来让对象移动对于吸引注意是很有用的,但是如果你想让你的OpenGL图形有用户交互呢?让你的OpenGL ES应用有触摸交互的关键是,扩展你的GLSurfaceView的实现重载onTouchEvent()方法来监听触摸事件。 本节内容将向你展示如何监听触摸事件来让用户旋
阅读全文
摘要:在屏幕上绘制图形只是OpenGL的相当基础的特点,你也可以用其他的Android图形框架类来实现这些,包括Canvas和Drawable对象。OpenGL ES为在三维空间中移动和变换提供了额外的功能,并提供了创建引人注目的用户体验的独特方式。 在本文中,你将进一步使用OpenGL ES学习怎样为你
阅读全文
摘要:OpenGL ES环境允许你以更接近于你眼睛看到的物理对象的方式来显示你绘制的对象。物理查看的模拟是通过对你所绘制的对象的坐标进行数学变换完成的: Projection — 这个变换是基于他们所显示的GLSurfaceView的宽和高来调整绘制对象的坐标的。没有这个计算变换,通过OpenGL绘制的形
阅读全文
摘要:在上文中,我们使用OpenGL定义了能够被绘制出来的形状了,现在我们想绘制出来它们。使用OpenGLES 2.0来绘制形状会比你想象的需要更多的代码。因为OpenGL的API提供了大量的对渲染管线的控制能力。 本文就将讲述如何使用OpenGL ES 2.0 API来绘制出来我们上节定义的形状。 一、
阅读全文
摘要:在上篇文章,我们能够配置好基本的Android OpenGL 使用的环境。但是如果我们不了解OpenGL ES如何定义图像的一些基本知识就使用OpenGL ES进行绘图还是有点棘手的。所以能够在OpenGL ES的View里面定义要绘制的形状是进行高端绘图操作的第一步。 本文主要做的事情就是为了讲解
阅读全文
摘要:零:环境搭建目的 为了在Android应用程序中使用OpenGL ES绘制图形,必须要为他们创建一个视图容器。其中最直接或者最常用的方式就是实现一个GLSurfaceView和一个GLSurfaceView.Renderer。GLSurfaceView是用OpenGL绘制图形的视图容器,GLSurf
阅读全文
摘要:简介OpenGL ES 谈到OpenGL ES,首先我们应该先去了解一下Android的基本架构,基本架构下图: 在这里我们可以找到Libraries里面有我们目前要接触的库,即OpenGL ES。 根据上图可以知道Android 目前是支持使用开放的图形库的,特别是通过OpenGL ES API来
阅读全文