OpenGLES8-粒子系统

2020-06-29  本文已影响0人  AlanGe

粒子特效(Particle Efects)水,火,雾,气,三维软件开发。

一.GLSL特殊的数据类型取样器

●取样器sampler
●2种常见基本的类型,sampler2D和samplerCube
●只能是unifrom
●用于纹理采样

* sampler1D,访问一维纹理
* sampler2D,访问二维纹理
* sampler3D,访问三维纹理
* samplerCube,访问立方体纹理
* sampler1DShadow,访问一个带有对比的一维深度纹理
* sampler2DShadow,访问一个带有对比的二维深度纹理

二.变量限定符

●const,用于声明非可写的编译常量变量
●attribute,用于经常更改的信息,只可以在顶点着色器使用
●uniform,用于不经常更改的信息,用于片元、顶点着色器使用
●varying,用于从顶点着色器传递到片元着色器的插值信息

三.GLSL内建变量

gl_Color:颜色
gL_Normal:法线
gL_Vertex:顶点信息
gL_MultiTexCoorde0:

四.顶点着色器vertex Shader中使用的内建变量

vec4 gl_Position:用来设置顶点转换到屏幕坐标的位置
注意:vertex Shader一定要去更新这个数值

float gl_pointSize,点的大小。(矩形)
vec4 gl_CLipVertex,启用了CLip Plan(裁剪屏幕)

五.顶点着色器Vertex Shader,片元着色器Fragment Shader都可以使用的变量

varying Vec4 gL_FrontColor:正面颜色
varying Vec4 gt_BackColor:背面颜色
varying Vec4 gl_FrontSecondDaryColor:镜面颜色

varying Vec4 gl_FrogCoorg.xy,代表像素在FrameBuffer画面的位置.

六.Fragment Shader内建输出变量

gL_FragColor,代表面所要填入的颜色

gL_FragData,填入面颜色
gL_FragDepth:颜色的深度值

能简单描述一下OpenGL的渲染流程吗?

image.png

Demo: 11-粒子系统

上一篇 下一篇

猜你喜欢

热点阅读