UNPKG

@awayjs/renderer

Version:
55 lines (39 loc) 1.69 kB
import { IEventDispatcher } from '@awayjs/core'; import { ShaderRegisterCache, ShaderRegisterData } from '@awayjs/stage'; import { _Render_RenderableBase } from './_Render_RenderableBase'; import { IShaderBase } from './IShaderBase'; export interface ISimplePass extends IEventDispatcher { shader: IShaderBase; _includeDependencies(shader: IShaderBase): void; _initConstantData(): void; /** * Sets the material state for the pass that is independent of the rendered object. This needs to be called before * calling pass. Before activating a pass, the previously used pass needs to be deactivated. * @param stage The Stage object which is currently used for rendering. * @param camera The camera from which the scene is viewed. * @private */ _activate(): void; _setRenderState(renderState: _Render_RenderableBase): void; /** * Clears the surface state for the pass. This needs to be called before activating another pass. * @param stage The Stage used for rendering * * @private */ _deactivate(): void; invalidate(): void; dispose(): void; } /** * * @class away.pool.Passes */ export interface IPass extends ISimplePass { _getVertexCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; _getFragmentCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; _getPostAnimationFragmentCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; _getNormalVertexCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; _getNormalFragmentCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; }