前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenGL Shading Language(GLSL)语法一览

OpenGL Shading Language(GLSL)语法一览

作者头像
wxdut.com
发布2018-05-09 17:33:49
2.7K0
发布2018-05-09 17:33:49
举报
文章被收录于专栏:王肖的UT王肖的UT

基本数据类型

学过Java的都知道,Java中有九种基本的数据类型,比如int、double、float等等。在glsl中也有一些基本的数据类型,分别为:

数据类型

解释说明

void

no function return value or empty parameter list

bool

Boolean

int

signed integer

float

floating scalar

vec2, vec3, vec4

n-component floating point vector

bvec2, bvec3, bvec4

Boolean vector

ivec2, ivec3, ivec4

signed integer vector

mat2, mat3, mat4

2x2, 3x3, 4x4 float matrix

sampler2D

access a 2D texture

samplerCube

access cube mapped texture

很简单的英文解释,不翻译了。

变量修饰符

变量是需要修饰符修饰的,比如在Java中表示一个公开的静态变量,其中的public和static就是修饰符。

代码语言:javascript
复制
public static mData;

修饰符--

解释说明

none

(Default) local read/write memory, or input parameter

const

Compile-time constant, or read-only function parameter

attribute

Linkage between a vertex shader and OpenGL ES for per-vertex data

uniform

Value does not change across the primitive being processed, uniforms form the linkage between a shader, OpenGL ES, and the application

varying

Linkage between a vertex shader and fragment shader for interpolated data

Uniform

变量全局可以访问,不可变。

Varying

变量全局可以访问,可变。同一个varying变量。 在Vertex Shader和Fragment Shader中值是一样的,并且值是interpolated的。

变量的精度

我们知道Java中float和double的精度不同,在glsl语言中,变量也是有精度的。

类型

精度

highp

高精度

mediump

中等精度

lowp

低精度

语法详解

GLSL简明语法

OpenGL-ES-2_0-Reference-card_页面_3
OpenGL-ES-2_0-Reference-card_页面_3
OpenGL-ES-2_0-Reference-card_页面_4
OpenGL-ES-2_0-Reference-card_页面_4

GLSL语法详解

请参考:The OpenGL ES Shading Language

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/12/2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本数据类型
  • 变量修饰符
  • 变量的精度
  • 语法详解
  • GLSL简明语法
  • GLSL语法详解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档