-
17、GLSL粒子效果(上)
目录 粒子效果粒子效果待整理…. 行者常至,为者常成!…
-
16、GLSL光照计算(下)
目录 顶点着色器 片元着色器顶点着色器一、shaderV.shader文件#version 300 eslayout(location = 0) in vec3 position; //顶点layout(location = 1) in vec3 normal; //法向量layout(location = 2) in vec2 texCoord; //纹理坐标uniform mat4 view;uniform mat4 projection;out vec3 outNorm...…
-
15、GLSL光照计算(上)
目录 光照计算光照计算原理,待整理…光照计算 行者常至,为者常成!…
-
14、GLSL语法与索引绘图
目录 基本图形硬件流⽔线设计 GPU与CPU关系 GLSL语法 索引绘图基本图形硬件流水线设计应⽤程序层 -> 硬件抽象层 -> 硬件层一、应⽤层:游戏和应⽤层软件开发⼈员为主体,通过调用API进行上层开发,不需要考虑移植性问题应⽤程序层主要与内存,CPU打交道,诸如碰撞检测,场景图监理,视锥裁剪等经典算法在此阶段执⾏。在阶段的末端,几何体的数据(顶点坐标,法向量,纹理坐标,纹理)等通过数据总线传送到图形硬件二、硬件抽象层:抽象出硬件的加速功能,进⾏有利于应用层开发的封...…
-
13、GLSL图片加载(下)
目录 加载shader 编译shader 从图片加载纹理 纹理翻转 精度限定符加载shader//加载shader-(GLuint)loadShaders:(NSString *)vert Withfrag:(NSString *)frag{ //1.定义2个零时着色器对象 GLuint verShader, fragShader; //创建program GLint program = glCreateProgram(); //2.编译顶点...…
-
12、GLSL图片加载(上)
目录 图片加载的流程 FrameBuffer与RenderBuffer 着色器程序 绘制图片加载的流程-(void)layoutSubviews{ //1.设置图层(绘制表面及颜色缓冲区格式选择) [self setupLayer]; //2.设置图形上下文(context上下文设置 状态机) [self setupContext]; //3.清空缓存区 [self deleteRenderAndFrameBuffer]; ...…
-
11、GLSL初探
目录 名词解释 GLSL流程 数据类型名词解释一、VAOVAO的全称是vertex array object 顶点数组对象,存在与内存中。二、VBOVBO的全称是vertex buffer object 顶点缓存对象,存在于GPU缓存区三、shadershader着色器程序,可以使用普通字符串来存储,这个没有任何问题,只是不便于阅读和书写。也可以是用文件来存储,文件后缀可以任意取,一般以vsh、fsh、glsl作为文件后缀,如:shader.vsh:顶点着色器程序文件(vertex ...…
-
10、OpenGLES GLKit 详讲
目录 GLKit 使用GLKit渲染图片GLKit一、简介GLKit 框架的设计⽬标是为了简化基于OpenGL / OpenGL ES 的应用开发.它的出现加快OpenGL ES或OpenGL应⽤程序开发。 使用数学库,背景纹理加载,预先创建的着⾊器效果,以及标准视图和视图控制器来实现渲染循环。GLKit框架提供了功能和类,可以减少创建新的基于着色器的应用程序所需的⼯作量,或者⽀持依赖早期版本的OpenGL ES或OpenGL提供的固定函数顶点或⽚段处理的现有应用程序.GLKView ...…
-
9、OpenGL ES初探
参考文章:OpenGL ES初探(上)目录 OpenGL ES简介 顶点着色器 图元装配与光栅化 片元着色器 逐片段操作(了解) EGL (Embedded Graphics Library )(了解)OpenGL ES简介OpenGL ES (OpenGL for Embedded Systems) 是以⼿持和嵌入式为目标的高级3D图形应用程序编程接口(API).OpenGL ES 是⽬前智能手机中占据统治地位的图形API.支持的平台: iOS, Andriod , Bl...…
-
8、3D数学
目录 向量与矩阵 矩阵的几何意义向量与矩阵关于向量与矩阵的概念就不多做介绍了,我们这里重点讨论向量与矩阵在OpenGL中的几何意义及应用。一、向量向量分为行向量与列向量1.等式中使用列向量形式更好2.线性代数书中使用列向量3.多本计算机图形学都是使用的列向量4.OpenGL 使⽤的是列向量二、矩阵1、是否能够相乘2、矩阵相乘计算矩阵的几何意义一、向量的位移向量 [1,-3 -4] 是如果实现位移?位移 [1,0,0], 随后位移[0,-3,0], 最后位移[0,0,4]二、向量的旋转和...…
-
7、OpenGL纹理(下)
目录 Mip贴图 各向异性过滤Mip贴图一、什么是Mip贴图?Mip贴图(多级渐远纹理)Mip贴图是一种功能强大的纹理技巧。他可以提高渲染性能同时可以改善场景的显示质量。想象一下,假设我们有一个包含着上千物体的大房间,每个物体上都有纹理。有些物体会很远,但其纹理会拥有与近处物体同样高的分辨率。由于远处的物体可能只产生很少的片段(远处的物体看起来很小,只需要很少的片段(像素)),OpenGL从高分辨率纹理中为这些片段获取正确的颜色值就很困难,因为它需要对一个跨过纹理很大部分的片段只拾取一...…
-
6、OpenGL纹理(上)
目录 纹理 纹理坐标纹理 参考文章:OpenGL 纹理 常用API 解析一、什么是纹理纹理只是一种能够应用到场景中的三角形上的图像数据。它经过过滤的纹理单元(texel,相当于基于纹理的像素)填充到实心区域简单说,你加载的图片,来到底层都会变成纹理处理.二、纹理常用API接口1、纹理对象纹理对象允许我们一次加载一个以上纹理状态(包含纹理图像)。以及在它们之间进行快速切换。纹理状态是由当前绑定的纹理对象维护的。而纹理对象是用一个无符号整数进行标识的。//使用函数分配纹理对象//指定纹理...…
-
5、OpenGL综合案例训练
目录 案例训练 重点说明案例训练案例代码如下/** cameraFrame 移动的公转自转 物体移动: 物体本身移动 物体坐标系移动 观察者移动 */#include "LCDay5.hpp"#include "GLTools.h"#include "GLShaderManager.h"#include "GLFrustum.h"#include "GLBatch.h"#include "GLMatrixStack.h"#include "GLGeometryTran...…
-
4、OpenGL基础变化
目录 平移、旋转、缩放 理解变换平移、旋转、缩放下面只贴出了关键代码,仅供参考static void SetupRC(){ //1.初始化 glClearColor(0.0f, 0.0f, 1.0f, 1.0f ); shaderManager.InitializeStockShaders(); //2.加载三角形 squareBatch.Begin(GL_TRIANGLE_FAN, 4); squareBatch.CopyVertexDat...…
-
3、OpenGL渲染技巧解析
目录 正背面剔除 深度测试 裁剪 颜色混合正背面剔除一、出现问题的原因在绘制3D场景的时候,我们需要决定哪些部分是对观察者可见的,或者哪些部分是对观察者不可见的.对于不可见的部分,应该及早丢弃.例如在⼀个不透明的墙壁后,就不应该渲染.这种情况叫做”隐藏⾯消除”(Hidden surface elimination).没有剔除背面导致显示出现问题二、如何解决如果我们能以某种⽅式去丢弃这部分数据就可以解决该问题,同时OpenGL渲染的性能也可提⾼超过50%。通过正背⾯面剔除(Face ...…
-
2、OpenGL图元解析
目录 图元 渲染管线流程解析 固定管线着色器介绍图元 参考文章:OpenGL 图元渲染管线流程解析 参考文章:OpenGL 渲染管线流程解析这张图对于想要掌握OpenGL的开发者非常重要.而且第一次看也许大家对于它的理解会比较薄. 希望大家能后期能够多看这个图. 因为我们在处理任何图形渲染,都是依据它. 基于OpenGL 封装的框架也都是遵循这个图的规则.一、客户端,服务端1、接下来,我们来了解2个非常重要的端.这里的客户端和服务端并不是我们常说的iOS/安卓并称为客户端,后台称...…
-
1、OpenGL初探
目录 图形API简介 OpenGL专业名词解析 坐标系统 图片的解压缩和渲染过程图形API简介一、图形APIOpenGL(Open Graphics Library) 是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资源抽象为一个个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL指令OpenGL ES(OpenGL for Embedded Systems) 是OpenGL三维图形API的子集,针对手机、PAD、和游戏主机等嵌入式设备而设计,去除了许多不必要和...…
-
待整理
目录 clashx配置 Github Token jekyll Oh my zsh Open terminal 组件化clashx配置 参考文章:https://free886.herokuapp.com/clash 参考文章:http://www.ddooo.com/softdown/202194.htmGithub Token 参考文章:https://cloud.tencent.com/developer/article/1861466 参考文章:https://...…
-
Mac中 Harmony 环境配置
目录 环境配置流程环境配置流程1、下载 去鸿蒙官网下载 Deveco Studio 解压后安装2、配置鸿蒙相关的环境变量# 配置环境变量 (SDK, node, ohpm, hvigor)export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdkexport PATH=$TOOL_HOME/t...…
-
Mac中 Flutter 环境配置
目录 环境配置流程 遇到的问题环境配置流程在配置flutter环境之前,先配置好xcode环境 和 Android Studio环境,这两个配置好之后flutter的环境配置会顺利很多。下载flutter SDK//将仓库克隆到合适的目录下git clone https://github.com/flutter/flutter.git切分支切换分支到 stable,这是最新的稳定版本。 如果想使用特定版本,请将 stable 分支 reset 到指定的tag处即可。 注意:不...…