UNPKG

@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.

64 lines (63 loc) 3.03 kB
import type { Nullable } from "../../types.js"; import type { _IShaderProcessingContext } from "../Processors/shaderProcessingOptions.js"; import type { WebGPUBufferDescription } from "./webgpuShaderProcessingContext.js"; import { WebGPUShaderProcessor } from "./webgpuShaderProcessor.js"; import { ShaderLanguage } from "../../Materials/shaderLanguage.js"; import "../../ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js"; import "../../ShadersWGSL/ShadersInclude/bakedVertexAnimation.js"; import "../../ShadersWGSL/ShadersInclude/instancesDeclaration.js"; import "../../ShadersWGSL/ShadersInclude/instancesVertex.js"; import "../../ShadersWGSL/ShadersInclude/helperFunctions.js"; import "../../ShadersWGSL/ShadersInclude/fresnelFunction.js"; import "../../ShadersWGSL/ShadersInclude/meshUboDeclaration.js"; import "../../ShadersWGSL/ShadersInclude/sceneUboDeclaration.js"; import "../../ShadersWGSL/ShadersInclude/decalFragment.js"; /** @internal */ export declare class WebGPUShaderProcessorWGSL extends WebGPUShaderProcessor { protected _attributesInputWGSL: string[]; protected _attributesWGSL: string[]; protected _attributesConversionCodeWGSL: string[]; protected _hasNonFloatAttribute: boolean; protected _varyingsWGSL: string[]; protected _varyingNamesWGSL: string[]; protected _stridedUniformArrays: string[]; shaderLanguage: ShaderLanguage; uniformRegexp: RegExp; textureRegexp: RegExp; noPrecision: boolean; pureMode: boolean; protected _getArraySize(name: string, uniformType: string, preProcessors: { [key: string]: string; }): [string, string, number]; initializeShaders(processingContext: Nullable<_IShaderProcessingContext>): void; preProcessShaderCode(code: string): string; varyingCheck(varying: string): 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; textureProcessor(texture: string, isFragment: boolean, preProcessors: { [key: string]: string; }): string; private _convertDefinesToConst; postProcessor(code: string, _defines: string[], _isFragment: boolean, _processingContext: Nullable<_IShaderProcessingContext>, _parameters: { [key: string]: number | string | boolean | undefined; }, preProcessors: { [key: string]: string; }, preProcessorsFromCode: { [key: string]: string; }): string; finalizeShaders(vertexCode: string, fragmentCode: string): { vertexCode: string; fragmentCode: string; }; protected _generateLeftOverUBOCode(name: string, uniformBufferDescription: WebGPUBufferDescription): string; private _processSamplers; private _processCustomBuffers; private _processStridedUniformArrays; }