美文网首页
OpenGLES8-粒子系统

OpenGLES8-粒子系统

作者: AlanGe | 来源:发表于2020-06-29 13:28 被阅读0次

    粒子特效(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-粒子系统

    相关文章

      网友评论

          本文标题:OpenGLES8-粒子系统

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