欢迎光临散文网 会员登陆 & 注册

godot 随机地图3-shader language简介

2023-05-19 20:48 作者:damedown  | 我要投稿

godot shader是一个简化的glsl,完全依赖glsl,当然从头开始glsl难度不高,但是画时间。


直接从重点开始:

一、glsl是高度并行化的

    它自带 

        for x{

            for y {

                    func

                    }

                }

       的循环。

 

二、主要分两部分

    顶点计算+顶点构成的几何图形里面把颜色填进去

    所以glsl分为 vertex shader(顶点)和fragment shader(着色) ,两个文本文件。这两个文本需要传递的数据,需要声明。

    vertex shader固定输出处理好的顶点,fragment shader会固定输出梳理好的色彩。

    如果需要还可以设置特殊的几何shader,但是搞渲染得,基本上不会用。


三、数据传入

    uniform 定义的参数可以和cpu互通

    vbo:Vertex Buffer Object,阵列数据,顶点啊,角度啊,看你像怎么传输,他的传输类似虽然是一次传入一排,但是会通过分割,把数据分成几部分,一般情况使用struct的捆绑模式。

    ebo:Element Buffer Object  = ibo :index buffer object

    上传的顶点如何排序,排成三角网

    vao:Vertex Arrays Object,在cpu上留下一个分割好了的vbo的指针,因为上传到显存的vbo可以多种分割方式,分割后的数据就是要得留一个明信片,执行的时候找vao


    一个vbo(顶点阵列),可以通过不同的ebo(排序),不同的分割方式(vao),玩出不同花样。



如果想快速入门shader language,就直接去取shadertoy模仿案例,因为他只是换了种方式的c语言。

在godot shader language,进行了很多简化,不需要魔法召唤gpu,也不需要在复杂的数据传入。如果有勇敢glsl就会发现,godot shader language做了很多简化。非常不推荐直接上godot shader language,不理解glsl的情况下学godot shader language,真的很难。

    

    

godot 随机地图3-shader language简介的评论 (共 条)

分享到微博请遵守国家法律