gfx 各个类的源码解读(8) 其他类

gfx 各个类的源码解读(8) 其他类
    这些类在gfx模块中没多大关联,或者一些独立的类,对其他类的封装,或者相对简单,这里只简单介绍,等render那层涉及到再详细讲

1.WebGL2Texturewebgl2-texture.ts
纹理
一个特别的函数
initAsSwapchainTexture //初始化跟交换链绑定的纹理

2.WebGL2Swapchainwebgl2-swapchain.ts
简单理解全局共享纹理, WebGL2Texture
如 当前交换链的颜色缓冲,当前交换链的深度模板缓冲。

目前了解 引擎只有一个交换链,也没跟其他模块共享

3.Devicedevice.ts
GFX 设备,设备初始化,保存全局状态
快捷创建对象, 如


    /**
     * @en Create shader.
     * @zh 创建着色器。
     * @param info GFX shader description info.
     */
    public abstract createShader (info: Readonly<ShaderInfo>): Shader;


    /**
     * @en Create input assembler.
     * @zh 创建纹理。
     * @param info GFX input assembler description info.
     */
    public abstract createInputAssembler (info: Readonly<InputAssemblerInfo>): InputAssembler;

   //.......

4.Shadershader.ts
shader
5.RenderPassrender-pass.ts
GFX 渲染过程
6.PipelineStatepipeline-state.ts
GFX 管线状态
7.PipelineLayoutpipeline-layout.ts
GFX 管线布局
8.WebGL2DescriptorSetwebgl2-descriptor-set.ts
GFX 描述符
9.WebGL2DescriptorSetLayoutwebgl2-descriptor-set-layout.ts
GFX 描述符布局
9.WebGL2StateCachewebgl2-state-cache.ts
共享渲染流程的变量,如

    public glArrayBuffer: WebGLBuffer | null = null;
    public glElementArrayBuffer: WebGLBuffer | null = null;
    public glUniformBuffer: WebGLBuffer | null = null;