GLSL-概述

OpenGL ES 2.0 管线

OpenGL ES的版本主要有1.x,2.x,3.x等等,目前最流行、适用范围最广的是2.x。从2.0开始,OpenGL引入管线的概念,摒弃之前的fixed function的概念,加入shader可编程单元。

其中可操作的两个步骤分别是Vertex ShaderFragment Shader。本文介绍的GLSL主要是用来编写这两种Shader的。

未经特殊说明,本文默认基于OpenGL 2.0x。

OpenGL ES Shading 概览

上面提到,Shader总共分两种:Vertex ShaderFragment Shader。下文中的GLSL语法除非特殊说明,均适用于二者。

Vertex 处理器

Vertex处理器是一个可编程单元,它以顶点信息作为输入,进行相应的处理。运行在其上的代码被称为Vertex ShaderVertex Shader同一时间只能处理一个Vertex的信息,也无法处理需要多个Vertex信息的操作。

Fragment 处理器

Vertex处理器是一个可编程单元,它以Vertex处理器处理之后的结果作为输入,进行相应的处理。运行在其上的代码被称为Fragment ShaderFragment Shader不能修改Fragment的位置信息,也不能获取到其他Fragment的数据。 Fragment Shader处理后的数据用来更新内存或文理,进而显示到屏幕上。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IMWeb前端团队

React高阶组件(译)

本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 原文:https://daveceddia.com/extra...

1836
来自专栏互联网杂技

h5新功能data-*,好好利用,还能做数据双向绑定

标题是data-,但是这里主要讲伪元素,看明白就知道了 1、jQuery Selectors 获取伪元素的属性值 虽然JS里没有可以直接操作伪元素的选择符,然而...

2734
来自专栏技术点滴

抽象工厂模式(Abstract Factory)

抽象工厂模式(Abstract Factory) 抽象工厂模式(Abstract Factory)[Kit] 意图:提供一个创建一系列相关或相互依赖对象的接口,...

21210
来自专栏阿凯的Excel

Python读书笔记4(字符串)

上期介绍了数字型数据,本期和大家分享的是另一个常见的数据类型字符串,可以简单的理解为Excel中的文本。 Excel在存储内核中其实只有两种:文本、数字;日期...

2925
来自专栏everhad

设计模式:模板方法

模板方法 使用基类定义整体步骤,即若干方法的调用过程,将一些可变的步骤由子类去重写。这样就可以利用多态在不改变操作的整体结构下定制一些特殊细节。 代码解释 可以...

1945
来自专栏编程

Python读书笔记4

上期介绍了数字型数据,本期和大家分享的是另一个常见的数据类型字符串,可以简单的理解为Excel中的文本。 Excel在存储内核中其实只有两种:文本、数字;日期归...

1925
来自专栏Golang语言社区

如何理解 golang nil

golang 中的 nil 是不同于其他语言的,为了更好的理解 nil,在此我将尝试一步一步揭示 nil 在 golang 中的一些操作和现象。 1. nil ...

3195
来自专栏HTML5学堂

2016.05 第三周 群问题分享

HTML+CSS 一个div里面有个img标签,div的高度由img撑开;img的兄弟级有个div要使内层div的高度等于外层div的高度,除了用JS实现,还能...

35513
来自专栏Java3y

Juqery就是这么简单

什么是Jquery? Jquey就是一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作 就是封装了JavaScript,能够简化我...

3175
来自专栏Fundebug

​ECMAScript正则表达式6个最新特性

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

1114

扫码关注云+社区