@giraphics/grpkggfx
Version:
35 lines (34 loc) • 1.35 kB
TypeScript
/// <reference types="dist" />
import UUID from './objid';
import { Camera } from './../renderer/camera';
import { PRIMITIVE_TYPE, TYPE_SIZE } from './../renderer/constants';
import { vec3 } from 'gl-matrix';
export declare abstract class AbstractShape extends UUID {
abstract draw(passEncoder: GPURenderPassEncoder, camera: Camera): void;
}
export declare class BaseShape extends AbstractShape {
device: GPUDevice;
protected vertModule: GPUShaderModule;
protected fragModule: GPUShaderModule;
protected pipeline: GPURenderPipeline;
protected primitiveType: GPUPrimitiveTopology;
protected isPrimtiveTypeStrip: boolean;
protected vertexSize: number;
protected elementCount: number;
protected rotX: number;
protected rotY: number;
protected rotZ: number;
protected rotation: vec3;
protected translate: vec3;
protected modelViewProjectionMatrix: Float32Array;
protected matrixSize: number;
protected offset: number;
protected uniformBufferSize: number;
protected uniformBuffer: GPUBuffer;
private posOffset;
private colOffset;
constructor(primitiveType: PRIMITIVE_TYPE, typeInfo: TYPE_SIZE[]);
initialize(): void;
createDefaultPipeline(vertShaderCode: any, fragShaderCode: any): void;
draw(passEncoder: GPURenderPassEncoder, camera: Camera): void;
}