sdfsdfs
This commit is contained in:
78
node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlShaderSystem.d.ts
generated
vendored
Normal file
78
node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlShaderSystem.d.ts
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
import { ExtensionType } from '../../../../extensions/Extensions';
|
||||
import type { BufferResource } from '../../shared/buffer/BufferResource';
|
||||
import type { Shader } from '../../shared/shader/Shader';
|
||||
import type { ShaderSystem } from '../../shared/shader/ShaderSystem';
|
||||
import type { UniformGroup } from '../../shared/shader/UniformGroup';
|
||||
import type { GlRenderingContext } from '../context/GlRenderingContext';
|
||||
import type { WebGLRenderer } from '../WebGLRenderer';
|
||||
import type { GlProgram } from './GlProgram';
|
||||
import type { GlProgramData } from './GlProgramData';
|
||||
export interface ShaderSyncData {
|
||||
textureCount: number;
|
||||
blockIndex: number;
|
||||
}
|
||||
export type ShaderSyncFunction = (renderer: WebGLRenderer, shader: Shader, syncData: ShaderSyncData) => void;
|
||||
/**
|
||||
* System plugin to the renderer to manage the shaders for WebGL.
|
||||
* @memberof rendering
|
||||
*/
|
||||
export declare class GlShaderSystem implements ShaderSystem {
|
||||
/** @ignore */
|
||||
static extension: {
|
||||
readonly type: readonly [ExtensionType.WebGLSystem];
|
||||
readonly name: "shader";
|
||||
};
|
||||
maxTextures: number;
|
||||
/**
|
||||
* @internal
|
||||
* @private
|
||||
*/
|
||||
_activeProgram: GlProgram;
|
||||
private _programDataHash;
|
||||
private readonly _renderer;
|
||||
_gl: WebGL2RenderingContext;
|
||||
private _maxBindings;
|
||||
private _nextIndex;
|
||||
private _boundUniformsIdsToIndexHash;
|
||||
private _boundIndexToUniformsHash;
|
||||
private _shaderSyncFunctions;
|
||||
constructor(renderer: WebGLRenderer);
|
||||
protected contextChange(gl: GlRenderingContext): void;
|
||||
/**
|
||||
* Changes the current shader to the one given in parameter.
|
||||
* @param shader - the new shader
|
||||
* @param skipSync - false if the shader should automatically sync its uniforms.
|
||||
* @returns the glProgram that belongs to the shader.
|
||||
*/
|
||||
bind(shader: Shader, skipSync?: boolean): void;
|
||||
/**
|
||||
* Updates the uniform group.
|
||||
* @param uniformGroup - the uniform group to update
|
||||
*/
|
||||
updateUniformGroup(uniformGroup: UniformGroup): void;
|
||||
/**
|
||||
* Binds a uniform block to the shader.
|
||||
* @param uniformGroup - the uniform group to bind
|
||||
* @param name - the name of the uniform block
|
||||
* @param index - the index of the uniform block
|
||||
*/
|
||||
bindUniformBlock(uniformGroup: UniformGroup | BufferResource, name: string, index?: number): void;
|
||||
private _setProgram;
|
||||
/**
|
||||
* @param program - the program to get the data for
|
||||
* @internal
|
||||
* @private
|
||||
*/
|
||||
_getProgramData(program: GlProgram): GlProgramData;
|
||||
private _createProgramData;
|
||||
destroy(): void;
|
||||
/**
|
||||
* Creates a function that can be executed that will sync the shader as efficiently as possible.
|
||||
* Overridden by the unsafe eval package if you don't want eval used in your project.
|
||||
* @param shader - the shader to generate the sync function for
|
||||
* @param shaderSystem - the shader system to use
|
||||
* @returns - the generated sync function
|
||||
* @ignore
|
||||
*/
|
||||
_generateShaderSync(shader: Shader, shaderSystem: GlShaderSystem): ShaderSyncFunction;
|
||||
}
|
Reference in New Issue
Block a user