![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
shengdaVolleyball
这个作者很懒,什么都没留下…
展开
-
11、OpenGL - 混合(颜色混合)
混合OpenGL 渲染时会把颜色存在颜色缓冲区中,每个片段的深度值也是放在深度缓冲区。当深度缓冲区被关闭时,新的颜色将简单的覆盖原来颜色缓冲区存在的颜色值。当深度缓冲区再次打开时,新的颜色片段只是当他们比原来的值更接近临近的裁剪屏幕才会替换原来的颜色片段//开启混合gl_Enable(GL_BIEND);1、颜色混合目标颜色:已经存储在颜色缓存区的颜色值(已经存在的颜色,旧颜色)源颜色:作为当前渲染命令结果进入颜色缓冲区的颜色(新进来的颜色,新颜色)(颜色混合可以.原创 2020-07-21 23:53:43 · 970 阅读 · 0 评论 -
10、OpenGL - 正背面剔除、深度缓冲区
OpenGL 正背面剔除、深度缓冲区详细代码参见Demo 甜甜圈 demoDemo地址 -> OpenGLDemos -> 3.donuts 1、隐藏面消除在绘制3D场景时,我们需要决定哪些部分是对观察者可见的,或者哪些部分是不可见的。对于不可见的部分,应该丢弃。这种丢弃不可见部分的做法叫 -- 隐藏面消除方案:1.1、油画算法油画算法的思路是,先绘制离观察者最远的物体,然后依次类推,直到绘制完毕。如下图,先绘制红色部分,再绘制黄色部分,最后再绘制...原创 2020-07-19 22:34:31 · 1015 阅读 · 0 评论 -
9、OpenGL - 金字塔(无底)、矩阵堆栈
OpenGL 金字塔 与 矩阵堆栈详细代码参见Demo 离屏渲染Demo地址 -> OpenGLDemos -> 2、金字塔代码解析:头文件#include <stdio.h>#include "GLTools.h"#include "GLMatrixStack.h"#include "GLFrame.h"#include "GLFrustum.h"#include "GLGeometryTransform.h"#include &l...原创 2020-07-13 21:12:34 · 251 阅读 · 0 评论 -
8、OpenGL - 渲染框架
OpenGL 渲染架构1、渲染架构顶点着色器、片元着色器,可以自定义编程图元装配、渲染,是我们不可以控制的1.1、渲染流程1、设置顶点数据和其他参数2、在定点着色器中进行运算的到裁剪的坐标3、细分着色器、几何着色器,不可自定义。4、图元设置,根据设置构成点、线、三角形。5、裁剪,裁剪掉超出显示区域的部分。6、光栅化,将图源栅格化为一个个的像素点。7、片元着色器,将应对的栅格(像素)填充为具体的颜色8、渲染图像。1.2、参数类型将数据传给顶点着色..原创 2020-07-12 17:02:53 · 588 阅读 · 0 评论 -
7、OPenGL - iOS 离屏渲染
离屏渲染:前面分析我们知道,iOS的渲染流程:主要流程:Core Animation 提交会话,包括自己和子树的layout 状态等(CPU进行解压计算等操作)RenderServer 解析提交的子树状态,生成绘制指令GPU 执行绘制指令显示渲染后的数据详细代码参见Demo 离屏渲染Demo地址 -> OpenGL -> iOSOpenGLDemos1、离屏渲染简单的可以理解为一帧的画面是有多个渲染图层合并的结果,在这些图层合并到帧缓冲区之前,需要...原创 2020-07-10 00:10:05 · 430 阅读 · 0 评论 -
6、OpenGL - iOS渲染流程
iOS渲染流程目录1、基础流程介绍 2、GPU图形渲染流水线 3、iOS 下的渲染框架 4、CoreAnimation 渲染面试的过程中经常会遇到类似这样的面试题:APP 从点击屏幕 到完全渲染,中间发生了什么? 一个UIImageView 添加到视图上以后,内部是如何渲染到手机上的。流程是是什么? 如果接解决tableView 有多个cell 的卡顿问题?iOS的渲染视图的核心是Core Animation其渲染层次依次为:图层树 -> 呈现树 -> 渲..原创 2020-07-08 16:56:51 · 955 阅读 · 0 评论 -
5、OpenGL - 渲染基础
OpenGL 渲染的基础大纲:1、CPU 和 GPU2、计算机渲染原理3、屏幕成像与卡顿情况1、CPU 和 GPU1.1、CPU(Central Processing Unit)现代计算机整个系统的运算核心、控制核心。处理依赖性非常高的事情Control控制单元、ALU有一部分运算单元、Cache显存1.2、GPU(Graphics Processing Unit)可进行绘图运算工作的专用微处理器,是连接计算机和显示终端的纽带处理依赖性非常低的事情,因为有非常多.原创 2020-07-06 23:04:53 · 626 阅读 · 0 评论 -
4、OpenGL - 基本用法介绍(许多方法已弃用,仅为了了解)
OpenGL - 基本用法介绍#include "GLShaderManager.h"/* `#include<GLShaderManager.h>` 移入了GLTool 着色器管理器(shader Mananger)类。没有着色器,我们就不能在OpenGL(核心框架)进行着色。着色器管理器不仅允许我们创建并管理着色器,还提供一组“存储着色器”,他们能够进行一些初步䄦基本的渲染操作。 */#include "GLTools.h"/* `#include<GLTool.原创 2020-07-05 16:55:18 · 511 阅读 · 0 评论 -
3、OpenGL - Mac 上的环境配置
OpenGL - Mac 上的环境配置准备资料:CLTools glew libGLTools.a资源地址可以去我上传的GitHub上下载地址 -> OpenGL -> 1、配置文件 一、配置过程1、打开xcode -> macOS -> Cocoa Application2、添加OpenGL.framwork 和 GLUT.framework 两个系统库3、添加CLTools.h ,glew.h在Bulid Se...原创 2020-07-05 14:33:48 · 526 阅读 · 2 评论 -
2、OpenGL - 坐标系
OpenGL - 坐标系1、笛卡尔坐标1.1、2D笛卡尔坐标系平面坐标系,只有X 和 Y轴1.2、3D笛卡尔坐标系立体坐标系,有X Y轴还有Z 轴。形成立体3D图形2、视口在用户窗口中显示的大小,可以和原内容大小相同也可以不同3、投影光源的发出点称为 投影中心; 投影中心与物体上各点的连线称为 投影线; 接受投影的面,称为 投影面; 过物体上各点的投影线与投影面的交点称为这些点的投影。 投影分为 中心投影 和 平行投影 两大类。...原创 2020-07-04 23:14:41 · 653 阅读 · 0 评论 -
1、OpenGL - 专业名词解析
1、OpenGL - 专业名词解析业界常说的两本书:红宝书: 《OpenGL编程指南》蓝宝书:《OpenGL超级宝典》1、图形API1.1、OpenGL(Open Graphics Library)是一个夸编辑语言、跨平台的编程图形程序接口。他将计算机的资源抽象成为一个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL的指令。主要针对的是在PC 端解决图像渲染1.2、OpenGL ES(OpenGL for Embedded Systems)是Ope...原创 2020-07-03 23:28:30 · 311 阅读 · 0 评论