@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
46 lines (45 loc) • 2.19 kB
TypeScript
import type { Nullable } from "../../types";
import type { ShaderProcessingContext } from "../Processors/shaderProcessingOptions";
import type { WebGPUBufferDescription } from "./webgpuShaderProcessingContext";
import { WebGPUShaderProcessor } from "./webgpuShaderProcessor";
import { ShaderLanguage } from "../../Materials/shaderLanguage";
/** @internal */
export declare class WebGPUShaderProcessorGLSL extends WebGPUShaderProcessor {
protected _missingVaryings: Array<string>;
protected _textureArrayProcessing: Array<string>;
protected _preProcessors: {
[key: string]: string;
};
protected _vertexIsGLES3: boolean;
protected _fragmentIsGLES3: boolean;
shaderLanguage: ShaderLanguage;
parseGLES3: boolean;
attributeKeywordName: string | undefined;
varyingVertexKeywordName: string | undefined;
varyingFragmentKeywordName: string | undefined;
protected _getArraySize(name: string, type: string, preProcessors: {
[key: string]: string;
}): [string, string, number];
initializeShaders(processingContext: Nullable<ShaderProcessingContext>): void;
preProcessShaderCode(code: string, isFragment: boolean): string;
varyingCheck(varying: string, isFragment: boolean): boolean;
varyingProcessor(varying: string, isFragment: boolean, preProcessors: {
[key: string]: string;
}): string;
attributeProcessor(attribute: string, preProcessors: {
[key: string]: string;
}): string;
uniformProcessor(uniform: string, isFragment: boolean, preProcessors: {
[key: string]: string;
}): string;
uniformBufferProcessor(uniformBuffer: string, isFragment: boolean): string;
postProcessor(code: string, defines: string[], isFragment: boolean, _processingContext: Nullable<ShaderProcessingContext>, _parameters?: {
[key: string]: number | string | boolean | undefined;
}): string;
private _applyTextureArrayProcessing;
protected _generateLeftOverUBOCode(name: string, uniformBufferDescription: WebGPUBufferDescription): string;
finalizeShaders(vertexCode: string, fragmentCode: string): {
vertexCode: string;
fragmentCode: string;
};
}