11 2015 档案

摘要:前言 此文写给那些像我一样的屌丝程序员(呵呵,我现在从事的是最底层的工作了,但是不想放弃我的梦想) 说明基于VM10+Win7安装Mac OSX10.11 El Capitan 工具VMware-workstation-full-10虚拟机工具(VM11许多BUG,建议使用10版本)vmw... 阅读全文
posted @ 2015-11-29 18:07 ForrestWoo 阅读(34578) 评论(27) 推荐(9) 编辑
摘要:此文提供了一下黑苹果安装的工具和教程 目的: 我写此文的目的是那些没有时间折腾的人,和那些不愿意折腾的而又屌丝的程序员说一句,黑苹果自己安装的话要饱经折磨,其实还不如在tb上花钱让那些商家给做,快又完美,时间就是金钱啊。 结局 近段时间因为在虚拟机下的mac太卡太卡了,所以试着安装了一下... 阅读全文
posted @ 2015-11-28 00:33 ForrestWoo 阅读(4779) 评论(5) 推荐(0) 编辑
摘要:好不容易找到的Insta的经典滤镜源码,贴出来帮大家学习。//// IFImageFilter.m// InstaFilters//// Created by Di Wu on 2/28/12.// Copyright (c) 2012 twitter:@diwup. All right... 阅读全文
posted @ 2015-11-22 21:36 ForrestWoo 阅读(2232) 评论(2) 推荐(0) 编辑
摘要:色阶是表示图像亮度强弱的指数标准,图像的色彩丰满度和精细度是由色阶决定的。在GPUImage中GPUImageLevelsFilter提供了此功能。 GPUImageLevelsFilter定义了修改红色,绿色,蓝色,和所有通道的方法,有效值范围时0.0-1.0之间,如果你想想像ps中那样,你... 阅读全文
posted @ 2015-11-21 14:58 ForrestWoo 阅读(2938) 评论(0) 推荐(0) 编辑
摘要:GPUImage中,提供了许多简单的的常用的滤镜。在上一篇文章讲了如何调节图像的亮度这片文章讲一下如何通过GPUImage调节图像的对比度,饱和度,曝光度,和白平衡(美图秀秀中的色温)。原图像 调整图像的对比度 GPUImageContrastFilter类提供了此功能。该类中有一个属性co... 阅读全文
posted @ 2015-11-20 23:24 ForrestWoo 阅读(5284) 评论(1) 推荐(4) 编辑
摘要:今天来学习一下一个简单滤镜使用的流程,通过调节亮度滤镜来了解。先将GPUImage库导入到项目中,引入头文件"GPUImage.h" 一、创建亮度滤镜对象 GPUImageBrightnessFilter *filter = [[GPUImageBrightnessFilter allo... 阅读全文
posted @ 2015-11-20 16:31 ForrestWoo 阅读(8677) 评论(1) 推荐(1) 编辑
摘要:Uniform是变量类型的一种修饰符,是OpenGL ES 中被着色器中的常量值,使用存储各种着色器需要的数据,例如:转换矩阵、光照参数或者颜色。 uniform 的空间被顶点着色器和片段着色器分享。也就是说顶点着色器和片段着色器被链接到一起进入项目,它们分享同样的uniform。因此一个在顶... 阅读全文
posted @ 2015-11-17 00:39 ForrestWoo 阅读(12133) 评论(0) 推荐(0) 编辑
摘要:GPUImagePicture类静态图像处理操作,它可以是需要处理的静态图像,也可以是一张作为纹理使用的图片,调用向它发送processImage消息,进行图像滤镜处理。 方法 -(id)initWithURL:(NSURL *)url 说明:使用指定url的图片来初始化GPUImageP... 阅读全文
posted @ 2015-11-16 23:17 ForrestWoo 阅读(2662) 评论(0) 推荐(0) 编辑
摘要:GPUImageFilter类 方法 - (id)initWithVertexShaderFromString:(NSString *)vertexShaderString fragmentShaderFromString:(NSString *)fragmentShaderString 说明... 阅读全文
posted @ 2015-11-16 23:07 ForrestWoo 阅读(3206) 评论(0) 推荐(0) 编辑
摘要:GPUImageOutput类将静态图像纹理上传到OpenGL ES中,然后使用这些纹理去处理进程链中的下一个对象。它的子类可以获得滤镜处理后的图片功能。[本文讲的很少,由于有许多地方不清楚,以后会更新] 方法 - (void)setInputFramebufferForTarget:(id... 阅读全文
posted @ 2015-11-16 21:04 ForrestWoo 阅读(5173) 评论(0) 推荐(0) 编辑
摘要:GPUImageInput协议主要包含一些输入需要渲染目标的操作。 - (void)newFrameReadyAtTime:(CMTime)frameTime atIndex:(NSInteger)textureIndex 说明:准备下一个要使用的新帧 - (void)setInputFr... 阅读全文
posted @ 2015-11-15 16:21 ForrestWoo 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:GPUImageContext类,提供OpenGL ES基本环境,我们一般不会用到,所以讲的很简单。 属性 @property(readonly, nonatomic) dispatch_queue_t contextQueue 说明:创建一个context线程 描述:_contextQ... 阅读全文
posted @ 2015-11-15 00:15 ForrestWoo 阅读(2521) 评论(0) 推荐(0) 编辑
摘要:GPUImageFramebufferCache类负责管理GPUImageFramebuffer对象,是一个GPUImageFramebuffer对象的缓存。 方法 - (GPUImageFramebuffer *)fetchFramebufferForSize:(CGSize)frameb... 阅读全文
posted @ 2015-11-14 16:10 ForrestWoo 阅读(1898) 评论(1) 推荐(0) 编辑
摘要:GPUImageFramebuffer类用于管理帧缓冲对象,负责帧缓冲对象的创建和销毁,读取帧缓冲内容 属性 @property(readonly) CGSize size 说明:只读属性,在实现中,设置缓冲区的size @property(readonly)GPUTextureOpti... 阅读全文
posted @ 2015-11-14 10:04 ForrestWoo 阅读(4163) 评论(0) 推荐(0) 编辑
摘要:GLProgram是GPUImage中代表openGL ES 中的program,具有glprogram功能。 属性 @property(readwrite, nonatomic) BOOL initialized 作用:该属性用于指示program的初始化工作是否成功,成功返回YES,... 阅读全文
posted @ 2015-11-14 00:24 ForrestWoo 阅读(3185) 评论(0) 推荐(0) 编辑
摘要:我们可以使用帧缓冲对象来实现离屏渲染。帧缓冲对象支持下列操作 1.只使用OpenGL ES 函数创建帧缓冲区对象。 2.使用EGL context创建多个FBO。 3.创建离屏颜色、深度、模板渲染缓冲区和纹理,把它们绑定到帧缓冲区对象上。 4.通过多种缓冲区共享颜色、深度、模板缓冲区内容... 阅读全文
posted @ 2015-11-12 00:25 ForrestWoo 阅读(4207) 评论(1) 推荐(0) 编辑
摘要:片段操作图 这篇文章将介绍从写入帧缓冲和读取帧缓冲的方式。 Buffers(缓冲) OpenGL ES支持三种缓冲: OpenGL ES •• Color buffer颜色缓冲 •• Depth buffer深度缓冲 •• Stencil buffer模板缓冲 创建缓冲区 ... 阅读全文
posted @ 2015-11-11 21:38 ForrestWoo 阅读(4755) 评论(0) 推荐(0) 编辑
摘要:Texture Filtering and Mipmapping 纹理过滤与多级纹理 前面我们已经讲了单个2D图像的2D纹理的介绍,这篇文章主要讲解多级纹理。纹理坐标是用于生成一个2D索引,当放大和缩小设置为GL_NEAREST时,将发生一个单一纹理将匹配到纹理坐标位置中,这是一个最近点的采样... 阅读全文
posted @ 2015-11-10 02:35 ForrestWoo 阅读(5261) 评论(0) 推荐(0) 编辑
摘要:本文流程 1.Texturing基础 2.装载Texturing和mipmapping 3.纹理过滤和包装 4.Texture level-of-detail, swizzles, and depth comparison 3D 图像渲染最基础的操作是使用纹理,它经典应用是坐标系应用在图像... 阅读全文
posted @ 2015-11-07 23:26 ForrestWoo 阅读(4351) 评论(0) 推荐(0) 编辑
摘要:顶点数据,也称为顶点属性,指每一个顶点数据。指能被用来描述每个顶点的数据,或能被所有顶点使用的常量值。例如你想绘制一个具有颜色的立方体三角形。你指定一个恒定的值用于三角形的所有三个顶点颜色。但三角形的三个顶点位置是不同的,你需要指定一个顶点矩阵存储三个位置值。指定顶点属性数据 顶点属性数据可以... 阅读全文
posted @ 2015-11-06 01:28 ForrestWoo 阅读(2083) 评论(0) 推荐(0) 编辑
摘要:每个OpenGL ES 3.0程序要求一个顶点着色器和一个片段着色器去渲染一个图形。着色器概念是API 的中心,本篇将介绍着色器语言部分包含下面几项 1、变量和变量类型 2、矢量和矩阵创建及选择 3、常量 4、结构和阵列 5、运算符、流控制和函数 6、属性、只读变量和变量 7、预处理和... 阅读全文
posted @ 2015-11-05 15:47 ForrestWoo 阅读(3031) 评论(0) 推荐(1) 编辑
摘要:着色器对象和程序对象是使用着色器渲染的2种基本的对象类型。一个着色器对象可以当做是一个C编译器,而程序对象作为连接器。一个编译器生成目标代码(如.OBJ,.o文件),对象文件完成创建后,C连接器将该对象文件链接到最后程序。一个程序需要链接一个顶点着色器和片段着色器。 一般进程获取一个链接的着... 阅读全文
posted @ 2015-11-05 10:58 ForrestWoo 阅读(2972) 评论(0) 推荐(1) 编辑
摘要:所谓顶点缓冲就是直接将顶点数据存储在gpu的一段缓冲区,不需要从cpu拷贝到gpu。提高了程序的运行效率。 操作步骤 1.创建顶点缓冲对象 GLuint vertexBufferID; 2.分配空间 glGenBuffers(1, &vertexBufferID); 3.绑定当前... 阅读全文
posted @ 2015-11-05 01:21 ForrestWoo 阅读(2097) 评论(1) 推荐(0) 编辑
摘要:使用EGL(在iOS中是EAGL)创建屏幕渲染加载顶点和片段着色器创建程序对象,连接顶点和片段着色器,连接程序对象设置视口清除颜色缓冲区绘制一个简单的图元(三角形)显示缓冲区内容1.创建EAGLContext2.创建顶点着色器和片段着色器3.加载和编译着色器4.创建program 对象,与顶点着色器... 阅读全文
posted @ 2015-11-04 21:21 ForrestWoo 阅读(1341) 评论(0) 推荐(0) 编辑
摘要:片段着色器流程图片段着色器(fragment shader)实现了一个通用的可编程操作片段的方法.片段着色器执行由光栅化生成的每个片段。• Shader program(着色器程序)—片段着色器程序源码或描述将在该片段上可以执行的操作。• Input variables(输入变量)—... 阅读全文
posted @ 2015-11-02 16:33 ForrestWoo 阅读(3371) 评论(0) 推荐(0) 编辑
摘要:图元是能够被OpenGL ES 绘制的几何物体,如三角形、线条或者精灵。在图元组合过程中,对每个图元必须判断是否位于投影 截体内,如果图元不完全在平截体内部,将被视图平截体剪贴,如果完全在平截体外,将被 丢弃,然后顶点位置被转变为屏幕坐标,剔除操作也能够舍弃一些图元,依据图元位于正面 还是背面,剪... 阅读全文
posted @ 2015-11-02 15:23 ForrestWoo 阅读(1364) 评论(0) 推荐(0) 编辑
摘要:#version 300 esuniform mat4 u_mvpMatrix; in vec4 a_position;in vec4 a_color;out vec4 v_color;void main(){ v_color = a_color; gl_Position = u_mvpMatri... 阅读全文
posted @ 2015-11-02 15:04 ForrestWoo 阅读(1643) 评论(0) 推荐(1) 编辑
摘要:OpenGL ES 3.0流程图 1.Vertex Shader(顶点着色器) 顶点着色实现了一种通用的可编程方法操作顶点。 顶点着色器的输入包括以下几个:• Shader program.程序的顶点着色程序源代码或可执行程序,描述将在顶点上执行的操作。• Vertex s... 阅读全文
posted @ 2015-11-02 03:06 ForrestWoo 阅读(3751) 评论(0) 推荐(1) 编辑
摘要:到今天,喜欢上了非常酷的图片处理和游戏,经了解,大部分都要使用opengl es,所以准备开始学习,然后深入学习cocos2d,GPUImage.平台为IOSOpenGL ES OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的... 阅读全文
posted @ 2015-11-01 20:47 ForrestWoo 阅读(2712) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示