we
    Preparing search index...

    Interface I_weDrawStruct

    interface I_weDrawStruct {
        baseInfo?: {
            material?: {
                owner: BaseMaterial;
                transparentType?: E_TransparentType;
                type: "opacity" | "TO" | "TT" | "TTP" | "TTPF";
            };
            parent: BaseEntity;
            renderPassName: E_renderPassName;
            traget: { type: E_renderForDC; UUID: string };
        };
        drawInfo: {
            bindGroup?: [
                undefined
                | GPUBindGroup
                | [],
                undefined | GPUBindGroup | [],
                undefined | GPUBindGroup | [],
                undefined | GPUBindGroup | [],
            ];
            drawMode?:
                | I_drawModeIndexed
                | I_drawMode
                | I_drawMode[]
                | I_drawModeIndexed[];
            indexBuffer?: I_VertexBufferEntry;
            indexFormat?: GPUIndexFormat;
            pipeline: GPURenderPipeline;
            vertexBuffers?: I_VertexBufferEntry[];
            viewport?: {
                height: number;
                maxDepth: number;
                minDepth: number;
                width: number;
                x: number;
                y: number;
            };
        };
    }
    Index

    Properties

    Properties

    baseInfo?: {
        material?: {
            owner: BaseMaterial;
            transparentType?: E_TransparentType;
            type: "opacity" | "TO" | "TT" | "TTP" | "TTPF";
        };
        parent: BaseEntity;
        renderPassName: E_renderPassName;
        traget: { type: E_renderForDC; UUID: string };
    }

    基础信息

    Type Declaration

    • Optionalmaterial?: {
          owner: BaseMaterial;
          transparentType?: E_TransparentType;
          type: "opacity" | "TO" | "TT" | "TTP" | "TTPF";
      }

      material 1、有值:渲染material 2、无值:渲染depth

      • owner: BaseMaterial

        material 所有者

      • OptionaltransparentType?: E_TransparentType

        透明类型 :透明材质才需要 todo:备用

      • type: "opacity" | "TO" | "TT" | "TTP" | "TTPF"

        material类型 1、不同类型的material的type,其bind group不同

    • parent: BaseEntity
    • renderPassName: E_renderPassName
    • traget: { type: E_renderForDC; UUID: string }

      draw 目标, 1、有值:camera或light

    drawInfo: {
        bindGroup?: [
            undefined
            | GPUBindGroup
            | [],
            undefined | GPUBindGroup | [],
            undefined | GPUBindGroup | [],
            undefined | GPUBindGroup | [],
        ];
        drawMode?:
            | I_drawModeIndexed
            | I_drawMode
            | I_drawMode[]
            | I_drawModeIndexed[];
        indexBuffer?: I_VertexBufferEntry;
        indexFormat?: GPUIndexFormat;
        pipeline: GPURenderPipeline;
        vertexBuffers?: I_VertexBufferEntry[];
        viewport?: {
            height: number;
            maxDepth: number;
            minDepth: number;
            width: number;
            x: number;
            y: number;
        };
    }

    Type Declaration

    • OptionalbindGroup?: [
          undefined
          | GPUBindGroup
          | [],
          undefined | GPUBindGroup | [],
          undefined | GPUBindGroup | [],
          undefined | GPUBindGroup | [],
      ]

      绑定的uniform buffer 1、GPUBindGroup,直接使用。 2、[]|undefined:忽略 3、如果有baseInfo,则忽略 则:0=system,1=entity,2=material 4、没有赋值的情况, A、按照3的情况处理; B、没有uniform bind group

    • OptionaldrawMode?: I_drawModeIndexed | I_drawMode | I_drawMode[] | I_drawModeIndexed[]

      draw mode 定义 1、有值:按照 draw mode 定义了绘制的顶点数量,实例化数量,从第几个顶点开始绘制,从第几个实例开始绘制 2、无值判断是否有baseInfo.parent: A、有:从parent.getDrawModeArrayOfInstances中获取drawMode序列 B、无:判断索引模式还是非索引模式,生成drawMode序列

    • OptionalindexBuffer?: I_VertexBufferEntry
    • OptionalindexFormat?: GPUIndexFormat
    • pipeline: GPURenderPipeline
    • OptionalvertexBuffers?: I_VertexBufferEntry[]

      顶点缓冲区 1、没有:需要绑定undefiend, A、比如在shader中写固定的顶点数据,不需要绑定顶点缓冲区

    • Optionalviewport?: {
          height: number;
          maxDepth: number;
          minDepth: number;
          width: number;
          x: number;
          y: number;
      }