OpenGL ES

Ubuntu18.04 环境构建OpenGL ES 3.0运行环境

说明:本教程是在《OpenGL ES 3.0编程指南(原书第2版)》基础上完成。

准备工作

下载源码(点击下面链接)

原书附带代码下载:https://github.com/danginsburg/opengles3-book

下载Emulator(点击下面链接)

官方下载地址 (根据本地主机的系统位数自行选择,这里演示选择版本为:Linux64 Installer: PowerVR Tools and SDK)
https://www.imgtec.com/developers/powervr-sdk-tools/installers/

安装Emulator和需要的软件包

首先修改下载的Emuator安装文件属性修改为一般其他用户组可执行:

Opengl ES(五)绘制图像

在Opengl ES中我们使用最多的有两种类型的纹理:TEXTURE_2D和TEXTURE_EXTERNAL_OES,后面一种纹理主要用于摄像头数据采集,通过SurfaceTexture来转换得到,而摄像头采集获得的数据一般是YUV格式的,事实上,通过查看Opengl的源码我们知道,Android底层对TEXTURE_EXTERNAL_OES这种类型的纹理是经过特殊转换的......

Opengl ES(四) 绘制三角形

前面已经学习了Opengl ES的基础知识以及怎么样搭建一个基本的Opengl ES运行环境,现在我们来实现最基本的图形显示:绘制三角形,这里重点不是显示三角形,主要通过绘制三角形,帮助我们掌握如下知识点:顶点着色器的写法;片元着色器写法;怎么给顶点着色器中的变量赋值;怎么把顶点位置信息传给Opengl ES;怎么把颜色的值通过片元着色器传给Opengl ES;怎么样把三角形绘制并显示出来?

Opengl ES(三)环境搭建

在Android开发中使用Opengl ES进行图形、图像绘制,需要一系列的配置才可以进行,而且,在Opengl ES开发中,需要明白以下几点:Opengl ES绘制是居于状态的,通过EGLContext进行状态管理;Opengl ES是和当前线程相关的,一个EGLContext对象只能关联到一个线程;如果需要绘制到屏幕上,需要关联屏幕的Surface.

Opengl ES (二)着色器介绍

着色器的写法类似C语言,可以定义变量、常量以及函数,有main方法,在Opengl ES渲染过程中,会不断调用其main方法来进行计算,我们不去大篇幅讨论着色器语法、API等,会通过实际的例子让大家真正知道着色器中变量的含义、以及对变量进行定位和其赋值等。

Opengl ES(一) 基础概念

本文介绍Opengl ES的几个基本东西,为后面的学习有个整体的概念,而且只做最简单的概念介绍,不会长篇大论(对于初学者会搞得晕头转向),大家也不必要去追根究底,只要记住有这么个东西就行,通过后面的学习,然后再回过头来看,一定会有顿悟的感觉。

【下载】从OpenGL ES迁移到Vulkan

本文档概述了OpenGL ES与新Vulkan之间的主要区别,以及开发人员为什么要迁移到Vulkan。Vulkan是一种新的低级图形API,它允许开发人员使用几乎类似控制台的API来获得非常低的级别。这样可以实现更好的控制,性能和透明度。这被实现复杂性的增加所抵消。

【下载】PowerVR支持的扩展OpenGL ES,EGL

OpenGL扩展是OpenGL实现提供OpenGL核心不提供的新功能或扩展功能的一种方法。不应该把使用扩展看作是应该避免的事情;它应该被OpenGL用户接受为标准实践。本文档的目的是作为Imagination的引用驱动程序实现所支持的所有扩展的参考。

OpenGL ES ——概念整理

OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。