OpenGLES&GPUImage
Ansel_m
阿里天猫
展开
-
了解 OpenGL ES 社区
学习任何一种新技术,要先对它有一个全局性的了解,这样才知道用功的方向。而这全局性的了解中,非常重要的一块就是要了解该技术的社区情况。OpenGL|ES的官方组织是:http://www.khronos.org/ 该组织关注于手持和移动平台上的动态媒体编著、播放所需的API,并致力于为这些API建立无限权费用的开放标准。(focused on the creation of open s转载 2013-02-28 04:32:41 · 658 阅读 · 0 评论 -
OpenGL ES 数学知识点
OpenGL 使用列主序矩阵,即列矩阵,因此我们总是倒过来算的(左乘矩阵,变换效果是按从右向左的顺序进行): 投影矩阵 × 视图矩阵 × 模型矩阵 × 3D位置。并且是以列序为存储的,也就是说第一张图的存到数组里是{1,0,0,0,0,1,0,0,0,0,1,0,x,y,z,1}。平移矩阵可表示为: 平移矩阵 × 列矩阵(a, b, c, 1) = 列矩阵(a ...转载 2018-05-29 15:38:03 · 397 阅读 · 0 评论 -
矩阵变换及其数学原理
矩阵变换及其数学原理 矩阵变换及其数学原理 引子 各种变换 平移矩阵 缩放矩阵 旋转变换 引子推荐这篇文章线性代数的本质,这篇文章挺不错的,揭示了矩阵和向量的内涵。首先概要性的提一下向量刻画的是线性空间中的对象。 矩阵刻画的是向量在线性空间中的运动(变换,跃迁),相似矩阵本质上就是同一个线性变换的不同的描述。 在一个线性空间中,选定了一组基,对于任何一个...转载 2018-05-29 15:47:56 · 3082 阅读 · 0 评论 -
OpenGL ES矩阵变化基础
齐次坐标(Homogeneous coordinates) 变换矩阵(Transformation matrices) 矩阵简介 平移矩阵(Translation matrices) 单位矩阵(Identity matrix) 齐次坐标(Homogeneous coordinates)目前为止,我们仍然把三维顶点视为三元组(x,y,z)。现在引入一个新的分量w,得到向量(...转载 2018-05-29 15:41:59 · 540 阅读 · 0 评论 -
OpenGL ES 基础概念
概要状态机 上下文 渲染管线 1. 顶点数组 2. 顶点着色器 3. 图元装配 4. 光栅化 5. 片段着色器 6. 片段测试 帧缓存 / 渲染缓存 纹理 坐标系 这里主要描述一些 OpenGL ES 必须先了解的一些概念,为之后的实战铺路。 状态机OpenGL 是一个状态机,它维持自己的状态,并根据用户调用的函数来改变自己的状态。根...转载 2018-05-25 23:43:07 · 1660 阅读 · 1 评论 -
OpenGL ES 开篇
在学习 OpenGL ES 之前,总结下我自己接触 OpenGL ES 时的一些疑惑,我相信这也是初学者都会遇到的一些困惑。Q & AQ:OpenGL 是什么 ?A:OpenGL(Open Graphics Library)是 Khronos Group (一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准)开发维护的一个规范,它是硬件无关的。它主要为我们定义了...转载 2018-05-25 18:52:09 · 240 阅读 · 0 评论 -
OpenGL ES 纹理
//// ViewController.m// OpenGL_Ch3_1//// Created by Ansel on 2018/4/19.// Copyright © 2018年 Ansel. All rights reserved.// #import "ViewController.h" // This data type is used t...原创 2018-05-23 16:28:12 · 231 阅读 · 0 评论 -
iOS OpenGL ES FBO 帧缓存区 渲染缓存区详解
参考文章:http://www.jianshu.com/p/c516e899e606原文地址:https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/WorkingwithEAGLContexts/WorkingwithEAGLConte...转载 2018-05-23 11:15:06 · 2063 阅读 · 0 评论 -
教你实现GPUImage【OpenGL渲染原理】
一、前言本篇主要讲解GPUImage底层是如何渲染的,GPUImage底层使用的是OPENGL,操控GPU来实现屏幕展示由于网上OpenGL实战资料特别少,官方文档对一些方法也是解释不清楚,避免广大同学再次爬坑,本篇讲解了不少OpenGL的知识,并且还讲解了花了大量时间解决bug的注意点,曾经因为对glDrawArrays这个方法不熟悉,遇上Bug,晚上熬到凌晨四点都没解决,还是第二天中午...转载 2018-03-29 14:39:11 · 700 阅读 · 0 评论 -
iOS GPUImage源码解读
前言GPUImage是iOS上一个基于OpenGL进行图像处理的开源框架,内置大量滤镜,架构灵活,可以在其基础上很轻松地实现各种图像处理功能。本文主要向大家分享一下项目的核心架构、源码解读及使用心得。GPUImage有哪些特性丰富的输入组件 摄像头、图片、视频、OpenGL纹理、二进制数据、UIElement(UIView, CALayer) 大量现成的内置滤镜(4大类) 1). 颜...转载 2018-09-17 17:27:49 · 3431 阅读 · 0 评论 -
OpenGL ES第一篇
#import "ViewController.h"/////////////////////////////////////////////////////////////////// This data type is used to store information for each vertextypedef struct { GLKVector3 positionCoords;...原创 2018-04-19 15:11:55 · 159 阅读 · 0 评论 -
GPUImage功能分类
GPUImage 是一个开源的基于GPU的图片或视频的处理框架,其本身内置了多达120多种常见的滤镜效果,并且支持照相机和摄像机的实时滤镜,并且能够自定义图像滤镜。GPUImage基本概念OpenGL ES:(Open Graphics Library For Embedded Systems)即开源嵌入式系统图形处理框架,一套图形与硬件接口,创造了软件与图形加速间灵活强大的底层交互接口,用于把处...转载 2018-03-29 14:50:39 · 536 阅读 · 0 评论 -
OpenGL ES系列之提高-2:材质纹理
材质纹理是增加物体表面细节的有效手段。前面我们已经可以加载任意复杂的三 维模型了,但是白乎乎的团,看着一点也不酷,现在是时候让它变漂亮一些了。第一步我们给它上点颜色。首先我们需要对光照模型有点概念,物体看上去有颜 色,是它被光线照射的结果,如果光是白色的,那么呈现的就是物体本身的颜色, 否则会是光色和表面本色综合的结果。物体表面被点光源照射后,会呈现三个区 域:高光区、过渡色区和环境色区。转载 2013-02-28 12:36:36 · 918 阅读 · 0 评论 -
OpenGL ES系列之基本-2:初始化 GLES
初始化 OpenGL ES 分四步:调用 eglInitialize() 初始化 egl 库,用 eglChooseConfig() 选择合适的 framebuffer,调用 eglCreateWindowSurface 创建 EGLSurface,用 eglCreateContext 创建 RenderContext(RC)。其实跟标准 OpenGL 的初始化过程很接近(选择 P转载 2013-02-28 12:34:17 · 4347 阅读 · 0 评论 -
OpenGL中的深度、深度缓存、深度测试
1、深度 所谓深度,就是在openGL坐标系中,像素点Z坐标距离摄像机的距离。摄像机可能放在坐标系的任何位置,那么,就不能简单的说Z数值越大或越小,就是越靠近摄像机。 2、深度缓冲区 深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中的每个像素相关联。 首先,使用glClear(GL_DEPTH_BUFFER_BIT),把...转载 2018-09-20 08:50:35 · 974 阅读 · 0 评论