OpenGL ES
文章平均质量分 70
york2017
Hello,I'm York,An Android Developer。这是我的CSDN专栏,我会在这里分享有关于这个世界的任何内容,祝君好运!望你我共同成长…
展开
-
最通俗的安卓OpenGL教学系列总结——你学废了吗?
哈哈哈!真没想到,一天把这个系列的文章写得差不多了,总结一下!这个系列的文章一共分了11篇,每一篇都有一个OpenGL的功能点,列举一下就是:《最通俗的安卓OpenGL教学01——OpenGL的简单使用》《最通俗的安卓OpenGL教学02——EGL环境搭建》《最通俗的安卓OpenGL教学03——用纯色清屏》《最通俗的安卓OpenGL教学04——绘制三角形、四边形、圆形》《最通俗的安卓OpenGL教学05——绘制图片纹理》《最通俗的安卓OpenGL教学06——使用VBO》《最通俗的安卓Open原创 2020-12-22 02:19:12 · 732 阅读 · 4 评论 -
最通俗的安卓OpenGL教学10——Camera1/2预览+VBO+FBO+矩阵变换+水印
OpenGL 在相机中的使用也是非常广泛的,可以通过OpenGL给相机的预览数据做滤镜、美颜、水印、结合多纹理的渲染,可以实现很多的拍摄特效。所以,接下来会把之前的openGL基础知识都串联起来,做出一个OpenGL在Camera中的应用示例。OpenGL预览摄像头数据的原理是利用OpenGL生成纹理并绑定到SurfaceTexture,然后把Camera的预览数据设置显示到SurfaceTexture中,这样就可以在OpenGL中拿到摄像头数据并显示了。先看效果:[外链图片转存失败,源站可能有防.原创 2020-12-21 21:57:47 · 1736 阅读 · 0 评论 -
最通俗的安卓OpenGL教学09——添加水印
添加水印的原理主要是利用OpenGL ES绘制多次,把不同的纹理如图片、文本等绘制到纹理或窗口上,达到添加水印的效果,需要注意的地方就是要确定好需要在屏幕上绘制的位置坐标。添加水印的原理:利用OpenGL ES绘制多次,把不同的纹理如图片、文本等绘制到纹理或窗口上,达到添加水印的效果。图片水印,直接绑定bitmap到纹理;文字水印,先将文字转为bitmap,再绑定到纹理。先看效果:添加水印的步骤:首先确认水印添加的位置设置水印的大小根据水印图片长宽比计算水印的顶点坐标接下.原创 2020-12-21 21:57:15 · 2950 阅读 · 5 评论 -
最通俗的安卓OpenGL教学08——正交投影、矩阵变换
在上几节,我们渲染得到到的图片纹理很明显是被拉升了的,这里我们就要利用正交投影,用矩阵变换来对坐标进行重新计算,使用了正交投影后,不管物体多远多近,物体看起来总是形状、大小相同的。在OpenGL中要改变顶点坐标的范围,可以用矩形来重新计算,最后再归一化就可以。正交投影的使用步骤如下:在顶点着色器中添加矩阵根据图形宽高和屏幕宽高计算需要显示的范围使用矩阵进行变换先看下效果:1. 在顶点着色器中添加矩阵attribute vec4 vPosition;attribute vec2.原创 2020-12-21 21:56:40 · 804 阅读 · 0 评论 -
最通俗的安卓OpenGL教学07——使用FBO
当需要对纹理进行多次渲染时,而这些渲染采样是不需要展示给用户看的,就可以用一个单独的缓冲对象(离屏渲染)来存储多次渲染采样的结果,等处理完后再显示到窗口上。FBO的创建有以下步骤:创建FBO绑定FBO设置FBO分配内存大小把纹理绑定到FBO检查FBO绑定是否成功解绑FBOFBO的使用有以下步骤:绑定FBO获取需要绘制的图片纹理,然后绘制渲染解绑FBO把绑定到FBO的纹理绘制渲染出来1. FBO的创建在onSurfaceCreated时创建: //创建 fbo.原创 2020-12-21 21:56:12 · 1153 阅读 · 0 评论 -
最通俗的安卓OpenGL教学06——使用VBO
OpenGL VBO 即顶点缓冲对象 ,目的是提高顶点坐标获取的效率。使用 VBO时,能把顶点数据缓存到GPU开辟的一段内存中,然后使用时不必再从本地获取,而是直接从显存中获取,这样就能提升绘制的效率,不使用 VBO,每次绘制( glDrawArrays )图形时都是从本地内存处获取顶点数据然后传输给 OpenGL来绘制,这样就会频繁的操作 CPU->GPU增大开销,从而降低效率。OpenGL VBO的创建大概有以下步骤:创建VBO绑定VBO分配VBO需要的缓存大小为VBO设置顶点数据.原创 2020-12-21 21:55:37 · 615 阅读 · 0 评论 -
最通俗的安卓OpenGL教学05——绘制图片纹理
OpenGL绘制图片纹理可以应用在安卓图片显示、播放控件背景设置、添加图片水印、添加文字水印等等,其主要需要学习的就是纹理的创建与绑定。OpenGL绘制图片纹理的步骤一般如下:编写着色器(顶点着色器和片元着色器)设置顶点、 纹理坐标加载着色器 (shader)创建纹理设置环绕和过滤方式设置图片(bitmap)绑定顶点坐标和纹理坐标绘制图片上一节我们已经知道OpenGL如何绘制不同形状,也就是前3步基本不变,这一节重点是纹理的创建、配置与绑定。先看效果:1.OpenGL创.原创 2020-12-21 21:55:01 · 1601 阅读 · 0 评论 -
最通俗的安卓OpenGL教学04——绘制三角形、四边形、圆形
OpenGL绘制不同形状需要先掌握OpenGL的坐标系,以及要清除shader的使用,这里我会以绘制三角形、四边形、圆形为例,来介绍OpenGL对形状的绘制首先我们来了解一下,绘制形状的基本步骤:创建shader(着色器:顶点或片元)加载shader源码并编译shader检查是否编译成功创建一个渲染程序将着色器程序添加到渲染程序中链接源程序检查链接源程序是否成功得到着色器中的属性使用源程序使顶点属性数组有效为顶点属性赋值绘制图形知道了基本步骤,我们就可以分步来实现。先看下.原创 2020-12-21 21:54:30 · 1711 阅读 · 5 评论 -
最通俗的安卓OpenGL教学03——用纯色清屏
搭建好了自己的EGL环境后,我会循循渐进的在示例中实现OpenGL的各种基本操作,一步一步来,先从最简单的清屏开始安卓OpenGL ES 清屏可以采用纯色、纹理等来清屏。像很多的播放器,如抖音,它们在网络网络状况不好时,播放控件往往是有一个带log的默认背景的,这在OpenGL中实现就可以采用纹理来作为底部背景,当然在后续的文章中会慢慢实现这些功能。现在,就来通过自己搭建的EGL环境来实现一个清屏操作。说明:为了最最通俗易懂,照顾到新新手,我会把OpenGL每一个功能,放入到功能对应的Render中.原创 2020-12-21 21:54:00 · 978 阅读 · 0 评论 -
最通俗的安卓OpenGL教学02——EGL环境搭建
EGL 是OpenGL ES和本地窗口系统的接口,不同平台上EGL配置是不一样的,而OpenGL的调用方式是一致的,就是说:OpenGL跨平台就是依赖于EGL接口。当需要把同一个场景渲染到不同的Surface上时,此时系统GLSurfaceView 往往就不能满足需求,所以需要自己创建EGL环境来实现渲染操作。安卓中EGL环境的创建有以下步骤:获取Egl实例获取默认的显示设备(就是窗口)初始化默认显示设备设置显示设备的属性从系统中获取对应属性的配置创建EglContext创建渲染的S.原创 2020-12-21 21:53:28 · 1578 阅读 · 1 评论 -
最通俗的安卓OpenGL教学01——OpenGL的简单使用
快过年了,提前跟大家说一声 “中秋快乐!”哈哈哈。。。今天开始,我要写个关于OpenGL教学的系列文章,目的是想整理一下工作中接触到的OpenGL知识,同时也想把一些简单的入门知识分享给大家,方便大家入门。如果你不小心读到它,产生了些许疑问或者发现了文章中错误,再或者想与我有更多沟通交流的,都可以联系我。简介:OpenGL(Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。 这个接口由近350个不原创 2020-12-21 21:51:44 · 2657 阅读 · 4 评论