1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GLSL简介概要1

GLSL着色语言;目录;目录;WebGL图形流水线;图形流水线总体结构;顶点着色器;顶点着色器的输出内容包括: varying变量 内置的特殊变量(gl_Position、gl_FrontFacing、gl_PointSize);图元装配;光栅化;片元着色器;片元着色器的输入内容包括: 着色器源代码 一些内置的特殊变量(gl_PointCoord、gl_FragCoord、 gl_FrontFacing等) 用户自定义的varying变量 uniform变量 采样器(Sampler) ;片元着色器的输出内容包括: 内置的特殊变量( gl_FragColor ) ;逐片元操作;帧缓存;目录;着色语言概况;GLSL语言特点;GLSL语言能够做什么;各种着色语言对比;GLSL的基本语法;数据类型;标量;矢量;矩阵;采样器;结构体;数组;void;初始化、构造函数和类型转换;限定符;无限定符变量;控制流;函数;自定义函数;函数参数修饰符 in 复制进函数但不在返回时复制,在函数内部仍然是可写的 out 只在返回时复制,是可读的。但是在进入函数时是未定义的 inout 复制进函数并在返回时复制 const 表示不容许函数写入变量 ;内置函数;三角函数;float asin (float x) vec2 asin (vec2 x) vec3 asin (vec3 x) vec4 asin (vec4 x);指数函数;计算常用函数;float fract (float x) vec2 fract (vec2 x) vec3 fract (vec3 x) vec4 fract (vec4 x);float mix (float x, float y, float a ) vec2 mix (vec2 x, vec2 y, float a) vec3 mix (vec3 x, vec3 y, float a) vec4 mix (vec4 x, vec4 y, float a);几何函数;矩阵函数;矢量关系函数;bvec2 notEqual(vec2 x, vec2 y) bvec3 notEqual(vec3 x, vec3 y) bvec4 notEqual(vec4 x, vec4 y) bvec2 notEqual(ivec2 x, ivec2 y) bvec3 notEqual(ivec3 x, ivec3 y) bvec4 notEqual(ivec4 x, ivec4 y) bvec2 notEqual(bvec2 x, bvec2 y) bvec3 notEqual(bvec3 x, bvec3 y) bvec4 notEqual(bvec4 x, bvec4 y);纹理访问函数;片元处理函数;噪声函数;操作符;矢量、标量、矩阵之间的运算 对一个矢量应用操作符时,其行为方式就像是操作符独立地应用于矢量的各个部分那样。 如果是在一个矢量和一个标量上执行二元操作,则标量会应用于矢量的各个部分 如果是在两个矢上执行二元操作,那么它们的维数必须完全相同 将一个矢量与一个矩阵相乘以及将一个矩阵与一个矩阵相乘(*),这时将执行标准的线型代数乘法 当加一、减一以及负操作符(++、--、-)应用于矢量或矩阵时,相当于各个分量加一、减一或求负。 ;预处理器;着色器程序的基本结构;目录;变换;相关数学知识;变换流水线;模型视图变换;投影变换;透视除法;视口变换;变换与着色器;纹理贴图;纹理格式;纹理过滤;纹理伸展有两种过滤模式: 最近相邻模式:把最接近纹素的颜色赋值给每个纹理坐标,用gl.NEAREST指定。 线性过滤:每个纹理坐标的颜色不是来自单个纹素,而是他周围的4个纹素的加权平均值。 纹理收缩会使几个纹素对应于屏幕上的一个像素。 ;纹理收缩的过滤模式有: 最近相邻模式:把最接近纹素的颜色赋值给每个纹理坐标,用gl.NEAREST指定。 线性过滤:每个纹理坐标的颜色不是来自单个纹素,而是他周围的4个纹素的加权平均值。 Mipmapping:除了基础纹理外,mipmapping使用一系列的较小纹理,每个纹理都是系列中前一个纹理的一半大小。这一系列纹理形成一个纹理链,即为mipmap chain。与mipmap相关的过滤模式有: gl.NEAREST_MIPMAP_NEAREST gl.NEAREST_MIPMAP_LINEAR gl.LINEAR_MIPMAP_NEAREST gl.LINEAR_MIPMAP_LINEAR ;纹理包装模式;着色器与纹理;decal vec4 texture = texture2D(uSampler, vTexCoord.xy); vec3 col = mix(color.rgb, te

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档