@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
34 lines (33 loc) • 1.74 kB
TypeScript
import { GlobalsBaseController } from './_Base';
import { GlobalsGlNode } from '../../Globals';
import { BaseGlNodeType } from '../../_Base';
import { TextureAllocationsController } from '../utils/TextureAllocationsController';
import { GlConnectionPointType } from '../../../utils/io/connections/Gl';
import { ShadersCollectionController } from '../utils/ShadersCollectionController';
import { GlobalsBaseControllerType } from './Common';
export declare enum GlobalsTextureHandlerPurpose {
PARTICLES_SHADER = "particles_shader",
MATERIAL = "material"
}
export interface GlobalsTextureHandlerData {
textureName: string;
component: string;
uvName: string;
}
export declare class GlobalsTextureHandler extends GlobalsBaseController {
private _uvName;
private _purpose;
private _textureAllocationsController;
static PARTICLES_SIM_UV_ATTRIB: string;
static UV_VARYING: string;
static PARTICLE_SIM_UV: string;
private _globalsGeometryHandler;
constructor(_uvName: string, _purpose: GlobalsTextureHandlerPurpose);
type(): GlobalsBaseControllerType;
set_texture_allocations_controller(controller: TextureAllocationsController): void;
handleGlobalsNode(globals_node: GlobalsGlNode, output_name: string, shaders_collection_controller: ShadersCollectionController): void;
private _textureVariableUsable;
attribTextureData(attribName: string): GlobalsTextureHandlerData | undefined;
readAttribute(node: BaseGlNodeType, gl_type: GlConnectionPointType, attribName: string, shadersCollectionController: ShadersCollectionController): string | undefined;
addParticlesSimUvAttribute(node: BaseGlNodeType, shaders_collection_controller: ShadersCollectionController): void;
}