Quincy-QC

个人博客

OpenGL ES学习--图元装配和光栅化

About OpenGL ES

本章描述OpenGL ES支持的图元和几何形状对象的类型,并说明绘制它们的方法。然后描述发生在顶点着色器处理图元顶点之后的图元装配阶段。在这一阶段,执行裁剪、透视分割和视口变换操作,对这些操作将作详细的讨论。本章以光栅化阶段的描述作为结束。光栅化是将图元转换为一组二维片段的过程,这些片段由片段着色器处理,代表可以在屏幕上绘制的像素。 图元 图元是可以用OpenGL ES中的glDrawA......
iOS

OpenGL ES学习--顶点属性、顶点数组和缓冲区对象

About OpenGL ES

顶点数据也称作顶点属性,指定每个顶点的数据。这种逐顶点数据可以为每个顶点指定,也可以用于所有顶点的常量。例如,如果想要绘制一个固定颜色的三角形,可以指定一个常量值,用于三角形的全部3个顶点。但是,组成三角形的3个顶点的位置不同,所以我们必须指定一个顶点数组来存储3个位置值。 指定顶点属性数据 顶点属性数据可以用一个顶点数组对每个顶点指定,也可以将一个常量值用于一个图元的所有顶点。 所有O......
iOS

OpenGL ES学习--着色语言

About OpenGL ES

着色器是OpenGL ES 3.0 API的一个基础核心概念,每个OpenGL ES 3.0程序都需要一个顶点着色器和一个片段着色器,以渲染有意义的图片。所以下面介绍开发着色器的着色语言-GLSL。 着色器版本规范 OpenGL ES 3.0顶点着色器和片段着色器的第一行总是声明着色器的版本。在之前的代码中,我是采用如下语法说明着色器使用OpenGL ES着色语言的版本3.0: 1#ve......
iOS

OpenGL ES学习--着色器与程序

About OpenGL ES

上一篇文章介绍了绘制一个三角形的简单程序,在例子中,我们创建了两个着色器对象(顶点着色器和片段着色器)和一个程序对象,以渲染三角形。 着色器和程序 着色器对象是包含单个着色器对象,源代码提供给着色器对象,然后着色器被编译为一个目标形式。编译后,着色器对象可以连接到一个程序对象。程序对象可以连接多个着色器对象。在OpenGL ES中,每个程序对象都必须连接一个顶点着色器和一个片段着色器。程......
iOS

使用OpenGL ES绘制三角形

About OpenGL ES

前言 OpenGL ES的学习,本来是在苹果官方文档上学习,但是该文档是针对基于有一定OpenGL ES基础的人员在iOS和Mac OS平台上的开发时的配置介绍和性能提升,并没有OpenGL ES基础的教学,可以用来后期在有一定知识情况下开发时使用手册。所以,这里从OpenGL ES的最基础开始说起,使用OpenGL ES绘制三角形。 自定义着色器绘制三角形 首先我们通过最原始的代码使用Op......
iOS

OpenGL ES基础学习

Open Graphics Library for Embedded Systems

Introduction Open Graphics Library(OpenGL)用于可视化2D与3D数据,是多用途的开放标准图形库,支持2D和3D数字内容创建、机械和建筑设计、虚拟原型、飞行仿真、视频游戏等等。我们可以使用OpenGL配置3D图形管线并向其提交数据。顶点被转换点亮,组装成基本类型,并进行栅格化来创建2D图片。OpenGL的设计目的是将函数调用转换为可以发送到底层图形硬件的......
iOS

图形渲染与动画基础 -- Core Animation

About Core Animation

Introduction Core Animation是iOS与OS X平台上的图形渲染和动画基础设施,可以在应用中使视图和其他可见元素产生动画。使用Core Animation,绘制动画的每一帧所需的大部分工作都已经实现。我们所需要做的是配置少量动画参数同时启动动画,Core Animation会完成其余部分,将大部分实际绘图工作交给图形硬件实现加速渲染,这种自动图形加速产生高帧率平滑的动......
iOS

图像处理与分析 -- Core Image

About Core Image

Introduction Core Image 是一种图像处理和分析技术,旨在为静态或者视频图片提供近乎实时的处理。它对来自Core Graphics,Core Video,Image I/O框架中的图片数据类型进行操作,使用GPU或CPU渲染路径。Core Image通过提供一个易于使用的API隐藏底层图片处理的细节,我们不需要知道OpenGL,OpenGL ES,Metal的细节来可以利......
iOS

绘图引擎 -- Quartz 2D

Quartz 2D Programming Guide

最近在网上看文章的时候,看到了一篇在 iOS 中使用 GLSL 实现抖音特效的文章,忽然兴趣就来了,然后就看到了一系列图片处理专用名词,这反而更加勾起了我的兴趣,主要是之前也看到一些关于 OpenGL 的字眼的文章,但是都没有花很多精力去研究,刚好眼下又看到了这篇文章,刚好这个博主也有对 OpenGL 的基础介绍,所以本是打算边看边学,把这个 OpenGL 搞懂。 这个博主对于 OpenG......
iOS

设计模式那点事

Talk About Design Pattern

设计模式 Design Pattern 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了代码可重用性、让代码更容易被理解、保证代码可靠性。 为什么要学习设计模式 设计模式来源于众多专家的经验和智慧,是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将可以避免让我们做一些重复性的工作 设计模式提供了一条通用的设......