美文网首页
1 基本原理

1 基本原理

作者: skoll | 来源:发表于2022-01-17 23:45 被阅读0次

shader运行

1 .并行处理,shader是一系列指令,但是这些指令会同时对屏幕上的每个像素同时下达。
2 .屏幕上的每个像素都代表一个最简单的任务,可以单独完成,并且任务之间不会互相影响,并行的处理器越多,可以处理的数据流就越大


image.png

3 .为了使许多管线并行运行,每一个线程必须与其他的相独立。这些线程对于其他的进行都是“盲视”的。
4 .所以所有的数据必须以相同的方向流动。线程之间不能互相检查其他线程的输出结果,修改输入的数据,或者把一个线程的输出结果传递给另一个线程。
5 .GPU会放所有并行的微处理,图中的管道。一直处于忙碌状态,只要一有空闲就会接受到新的任务。一个线程不可能知道他的前一刻在做什么。可能是画了操作系统上的一个按钮,然后渲染了了游戏中的一部分天空,或者显示了一些文字。
6 .每个线程不仅仅是盲视的,而且是无记忆的。

内建变量

1 .gl_FragColor
2 .gl_Position

内建函数

数据类型

1 .vec4:分别响应rgba四个数
2 .vec3
3 .vec2
4 .float

1 .float类型在shader中非常重要,低精度有更快的渲染速度,以牺牲质量为代价。
2 .precision mediump float 设定所有浮点值都是中等精度
3 .precision lowp float:使用低精度
4 .precision highp float:使用高精度

5 .int
6 .bool
6 .mat2, mat3 和 mat4 分别代表 2x2, 3x3 和 4x4 矩阵

其余

1 .GLSL语言不会进行变量的类型转换,所以我们在写的时候一定要保持变量的类型一致
2 .比如float类型数值里面要价格点 1.,而不是1
3 .

代码解析

1 .shader语言会有一个main函数,会在最后返回颜色值,比如里面的gl_FragColor
2 .最终的像素颜色取决于预设的全局变量gl_FragColor

#ifdef GL_ES
precision mediump float;
#endif

uniform float u_time;

void main() {
    gl_FragColor = vec4(1.0,0.0,1.0,1.0);
}

3 .最后效果:把画布上的每一个像素都改成了粉色

定义变量

1 . vec4 color=vecc(vec3(1.0,0.0,1.0),1.0)

定义函数

1 .定义一个返回红色的函数

vec4 red(){
  return vec4(1.0,1.0,0.1,1.0)
}

相关文章

  • ota 原理流程

    本文主要介绍基本原理,源码,制作ota 1 ota 基本原理 OTA(Over-the-Air Technolog...

  • AsyncTask解析

    1.基本原理 AsyncTask的基本原理是:线程池 + Handler,内部封装了2个线程池和1个Handler...

  • AsyncTask解析

    1.基本原理 AsyncTask的基本原理是:线程池 + Handler,内部封装了2个线程池和1个Handler...

  • 排序算法——冒泡排序

    冒泡排序(Bubble sort) 目录 1. 基本原理 图解 2. 代码实现 java 一、基本原理 冒泡排序(...

  • Lucene学习图解

    lucene基本原理Lucene学习总结之一:全文检索的基本原理Lucene底层原理和优化经验分享(1)-Luce...

  • 1 基本原理

    shader运行 1 .并行处理,shader是一系列指令,但是这些指令会同时对屏幕上的每个像素同时下达。2 .屏...

  • 93/逻辑学的基本原理

    第二章 逻辑学的基本原理 1. 基本原理 任何科学都是有包含基本原理的知识组成的。 逻辑学,作为一门科学同样有它的...

  • Spark作业基本运行原理解析!

    1、基本原理 Spark作业的运行基本原理如下图所示: 我们使用spark-submit提交一个Spark作业之后...

  • prometheus笔记

    1 基本原理 Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件target的状态,任意组件只要...

  • Algorithm进阶计划 -- 动态规划(上)

    动态规划动态规划的基本原理动态规划的运用 1. 动态规划的基本原理 动态规划(Dynamic Programmi...

网友评论

      本文标题:1 基本原理

      本文链接:https://www.haomeiwen.com/subject/sbvicrtx.html