UNPKG

hilo3d

Version:
1,852 lines (1,808 loc) 250 kB
export = hilo3d; export as namespace hilo3d; declare namespace hilo3d { type TypedArray = | Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; namespace AnimationStates { /** * 状态类型 */ enum StateType { TRANSLATE = "Translation", POSITION = "Translation", TRANSLATION = "Translation", SCALE = "Scale", ROTATE = "Rotation", ROTATION = "Rotation", QUATERNION = "Quaternion", WEIGHTS = "Weights" } } /** * WebGL, WebGL extensions 枚举值 * @example * Hilo3d.constants.LINEAR_MIPMAP_NEAREST */ namespace constants { const POSITION: string; const NORMAL: string; const DEPTH: GLenum; const DISTANCE: string; const ACTIVE_ATTRIBUTES: GLenum; const ACTIVE_ATTRIBUTE_MAX_LENGTH: GLenum; const ACTIVE_TEXTURE: GLenum; const ACTIVE_UNIFORMS: GLenum; const ACTIVE_UNIFORM_MAX_LENGTH: GLenum; const ALIASED_LINE_WIDTH_RANGE: GLenum; const ALIASED_POINT_SIZE_RANGE: GLenum; const ALPHA: GLenum; const ALPHA_BITS: GLenum; const ALWAYS: GLenum; const ARRAY_BUFFER: GLenum; const ARRAY_BUFFER_BINDING: GLenum; const ATTACHED_SHADERS: GLenum; const BACK: GLenum; const BLEND: GLenum; const BLEND_COLOR: GLenum; const BLEND_DST_ALPHA: GLenum; const BLEND_DST_RGB: GLenum; const BLEND_EQUATION: GLenum; const BLEND_EQUATION_ALPHA: GLenum; const BLEND_EQUATION_RGB: GLenum; const BLEND_SRC_ALPHA: GLenum; const BLEND_SRC_RGB: GLenum; const BLUE_BITS: GLenum; const BOOL: GLenum; const BOOL_VEC2: GLenum; const BOOL_VEC3: GLenum; const BOOL_VEC4: GLenum; const BROWSER_DEFAULT_WEBGL: GLenum; const BUFFER_SIZE: GLenum; const BUFFER_USAGE: GLenum; const BYTE: GLenum; const CCW: GLenum; const CLAMP_TO_EDGE: GLenum; const COLOR_ATTACHMENT0: GLenum; const COLOR_BUFFER_BIT: GLenum; const COLOR_CLEAR_VALUE: GLenum; const COLOR_WRITEMASK: GLenum; const COMPILE_STATUS: GLenum; const COMPRESSED_TEXTURE_FORMATS: GLenum; const CONSTANT_ALPHA: GLenum; const CONSTANT_COLOR: GLenum; const CONTEXT_LOST_WEBGL: GLenum; const CULL_FACE: GLenum; const CULL_FACE_MODE: GLenum; const CURRENT_PROGRAM: GLenum; const CURRENT_VERTEX_ATTRIB: GLenum; const CW: GLenum; const DECR: GLenum; const DECR_WRAP: GLenum; const DELETE_STATUS: GLenum; const DEPTH_ATTACHMENT: GLenum; const DEPTH_BITS: GLenum; const DEPTH_BUFFER_BIT: GLenum; const DEPTH_CLEAR_VALUE: GLenum; const DEPTH_COMPONENT: GLenum; const DEPTH_COMPONENT16: GLenum; const DEPTH_FUNC: GLenum; const DEPTH_RANGE: GLenum; const DEPTH_STENCIL: GLenum; const DEPTH_STENCIL_ATTACHMENT: GLenum; const DEPTH_TEST: GLenum; const DEPTH_WRITEMASK: GLenum; const DITHER: GLenum; const DONT_CARE: GLenum; const DST_ALPHA: GLenum; const DST_COLOR: GLenum; const DYNAMIC_DRAW: GLenum; const ELEMENT_ARRAY_BUFFER: GLenum; const ELEMENT_ARRAY_BUFFER_BINDING: GLenum; const EQUAL: GLenum; const FASTEST: GLenum; const FLOAT: GLenum; const FLOAT_MAT2: GLenum; const FLOAT_MAT3: GLenum; const FLOAT_MAT4: GLenum; const FLOAT_VEC2: GLenum; const FLOAT_VEC3: GLenum; const FLOAT_VEC4: GLenum; const FRAGMENT_SHADER: GLenum; const FRAMEBUFFER: GLenum; const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; const FRAMEBUFFER_BINDING: GLenum; const FRAMEBUFFER_COMPLETE: GLenum; const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; const FRAMEBUFFER_UNSUPPORTED: GLenum; const FRONT: GLenum; const FRONT_AND_BACK: GLenum; const FRONT_FACE: GLenum; const FUNC_ADD: GLenum; const FUNC_REVERSE_SUBTRACT: GLenum; const FUNC_SUBTRACT: GLenum; const GENERATE_MIPMAP_HINT: GLenum; const GEQUAL: GLenum; const GREATER: GLenum; const GREEN_BITS: GLenum; const HIGH_FLOAT: GLenum; const HIGH_INT: GLenum; const INCR: GLenum; const INCR_WRAP: GLenum; const INFO_LOG_LENGTH: GLenum; const INT: GLenum; const INT_VEC2: GLenum; const INT_VEC3: GLenum; const INT_VEC4: GLenum; const INVALID_ENUM: GLenum; const INVALID_FRAMEBUFFER_OPERATION: GLenum; const INVALID_OPERATION: GLenum; const INVALID_VALUE: GLenum; const INVERT: GLenum; const KEEP: GLenum; const LEQUAL: GLenum; const LESS: GLenum; const LINEAR: GLenum; const LINEAR_MIPMAP_LINEAR: GLenum; const LINEAR_MIPMAP_NEAREST: GLenum; const LINES: GLenum; const LINE_LOOP: GLenum; const LINE_STRIP: GLenum; const LINE_WIDTH: GLenum; const LINK_STATUS: GLenum; const LOW_FLOAT: GLenum; const LOW_INT: GLenum; const LUMINANCE: GLenum; const LUMINANCE_ALPHA: GLenum; const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; const MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; const MAX_RENDERBUFFER_SIZE: GLenum; const MAX_TEXTURE_IMAGE_UNITS: GLenum; const MAX_TEXTURE_SIZE: GLenum; const MAX_VARYING_VECTORS: GLenum; const MAX_VERTEX_ATTRIBS: GLenum; const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; const MAX_VERTEX_UNIFORM_VECTORS: GLenum; const MAX_VIEWPORT_DIMS: GLenum; const MEDIUM_FLOAT: GLenum; const MEDIUM_INT: GLenum; const MIRRORED_REPEAT: GLenum; const NEAREST: GLenum; const NEAREST_MIPMAP_LINEAR: GLenum; const NEAREST_MIPMAP_NEAREST: GLenum; const NEVER: GLenum; const NICEST: GLenum; const NONE: GLenum; const NOTEQUAL: GLenum; const NO_ERROR: GLenum; const NUM_COMPRESSED_TEXTURE_FORMATS: GLenum; const ONE: GLenum; const ONE_MINUS_CONSTANT_ALPHA: GLenum; const ONE_MINUS_CONSTANT_COLOR: GLenum; const ONE_MINUS_DST_ALPHA: GLenum; const ONE_MINUS_DST_COLOR: GLenum; const ONE_MINUS_SRC_ALPHA: GLenum; const ONE_MINUS_SRC_COLOR: GLenum; const OUT_OF_MEMORY: GLenum; const PACK_ALIGNMENT: GLenum; const POINTS: GLenum; const POLYGON_OFFSET_FACTOR: GLenum; const POLYGON_OFFSET_FILL: GLenum; const POLYGON_OFFSET_UNITS: GLenum; const RED_BITS: GLenum; const RENDERBUFFER: GLenum; const RENDERBUFFER_ALPHA_SIZE: GLenum; const RENDERBUFFER_BINDING: GLenum; const RENDERBUFFER_BLUE_SIZE: GLenum; const RENDERBUFFER_DEPTH_SIZE: GLenum; const RENDERBUFFER_GREEN_SIZE: GLenum; const RENDERBUFFER_HEIGHT: GLenum; const RENDERBUFFER_INTERNAL_FORMAT: GLenum; const RENDERBUFFER_RED_SIZE: GLenum; const RENDERBUFFER_STENCIL_SIZE: GLenum; const RENDERBUFFER_WIDTH: GLenum; const RENDERER: GLenum; const REPEAT: GLenum; const REPLACE: GLenum; const RGB: GLenum; const RGB5_A1: GLenum; const RGB565: GLenum; const RGBA: GLenum; const RGBA4: GLenum; const SAMPLER_2D: GLenum; const SAMPLER_CUBE: GLenum; const SAMPLES: GLenum; const SAMPLE_ALPHA_TO_COVERAGE: GLenum; const SAMPLE_BUFFERS: GLenum; const SAMPLE_COVERAGE: GLenum; const SAMPLE_COVERAGE_INVERT: GLenum; const SAMPLE_COVERAGE_VALUE: GLenum; const SCISSOR_BOX: GLenum; const SCISSOR_TEST: GLenum; const SHADER_COMPILER: GLenum; const SHADER_SOURCE_LENGTH: GLenum; const SHADER_TYPE: GLenum; const SHADING_LANGUAGE_VERSION: GLenum; const SHORT: GLenum; const SRC_ALPHA: GLenum; const SRC_ALPHA_SATURATE: GLenum; const SRC_COLOR: GLenum; const STATIC_DRAW: GLenum; const STENCIL_ATTACHMENT: GLenum; const STENCIL_BACK_FAIL: GLenum; const STENCIL_BACK_FUNC: GLenum; const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; const STENCIL_BACK_PASS_DEPTH_PASS: GLenum; const STENCIL_BACK_REF: GLenum; const STENCIL_BACK_VALUE_MASK: GLenum; const STENCIL_BACK_WRITEMASK: GLenum; const STENCIL_BITS: GLenum; const STENCIL_BUFFER_BIT: GLenum; const STENCIL_CLEAR_VALUE: GLenum; const STENCIL_FAIL: GLenum; const STENCIL_FUNC: GLenum; const STENCIL_INDEX: GLenum; const STENCIL_INDEX8: GLenum; const STENCIL_PASS_DEPTH_FAIL: GLenum; const STENCIL_PASS_DEPTH_PASS: GLenum; const STENCIL_REF: GLenum; const STENCIL_TEST: GLenum; const STENCIL_VALUE_MASK: GLenum; const STENCIL_WRITEMASK: GLenum; const STREAM_DRAW: GLenum; const SUBPIXEL_BITS: GLenum; const TEXTURE: GLenum; const TEXTURE0: GLenum; const TEXTURE1: GLenum; const TEXTURE2: GLenum; const TEXTURE3: GLenum; const TEXTURE4: GLenum; const TEXTURE5: GLenum; const TEXTURE6: GLenum; const TEXTURE7: GLenum; const TEXTURE8: GLenum; const TEXTURE9: GLenum; const TEXTURE10: GLenum; const TEXTURE11: GLenum; const TEXTURE12: GLenum; const TEXTURE13: GLenum; const TEXTURE14: GLenum; const TEXTURE15: GLenum; const TEXTURE16: GLenum; const TEXTURE17: GLenum; const TEXTURE18: GLenum; const TEXTURE19: GLenum; const TEXTURE20: GLenum; const TEXTURE21: GLenum; const TEXTURE22: GLenum; const TEXTURE23: GLenum; const TEXTURE24: GLenum; const TEXTURE25: GLenum; const TEXTURE26: GLenum; const TEXTURE27: GLenum; const TEXTURE28: GLenum; const TEXTURE29: GLenum; const TEXTURE30: GLenum; const TEXTURE31: GLenum; const TEXTURE_2D: GLenum; const TEXTURE_BINDING_2D: GLenum; const TEXTURE_BINDING_CUBE_MAP: GLenum; const TEXTURE_CUBE_MAP: GLenum; const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; const TEXTURE_MAG_FILTER: GLenum; const TEXTURE_MIN_FILTER: GLenum; const TEXTURE_WRAP_S: GLenum; const TEXTURE_WRAP_T: GLenum; const TRIANGLES: GLenum; const TRIANGLE_FAN: GLenum; const TRIANGLE_STRIP: GLenum; const UNPACK_ALIGNMENT: GLenum; const UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; const UNPACK_FLIP_Y_WEBGL: GLenum; const UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; const UNSIGNED_BYTE: GLenum; const UNSIGNED_INT: GLenum; const UNSIGNED_SHORT: GLenum; const UNSIGNED_SHORT_4_4_4_4: GLenum; const UNSIGNED_SHORT_5_5_5_1: GLenum; const UNSIGNED_SHORT_5_6_5: GLenum; const VALIDATE_STATUS: GLenum; const VENDOR: GLenum; const VERSION: GLenum; const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; const VERTEX_ATTRIB_ARRAY_POINTER: GLenum; const VERTEX_ATTRIB_ARRAY_SIZE: GLenum; const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; const VERTEX_ATTRIB_ARRAY_TYPE: GLenum; const VERTEX_SHADER: GLenum; const VIEWPORT: GLenum; const ZERO: GLenum; const READ_BUFFER: GLenum; const UNPACK_ROW_LENGTH: GLenum; const UNPACK_SKIP_ROWS: GLenum; const UNPACK_SKIP_PIXELS: GLenum; const PACK_ROW_LENGTH: GLenum; const PACK_SKIP_ROWS: GLenum; const PACK_SKIP_PIXELS: GLenum; const TEXTURE_BINDING_3D: GLenum; const UNPACK_SKIP_IMAGES: GLenum; const UNPACK_IMAGE_HEIGHT: GLenum; const MAX_3D_TEXTURE_SIZE: GLenum; const MAX_ELEMENTS_VERTICES: GLenum; const MAX_ELEMENTS_INDICES: GLenum; const MAX_TEXTURE_LOD_BIAS: GLenum; const MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum; const MAX_VERTEX_UNIFORM_COMPONENTS: GLenum; const MAX_ARRAY_TEXTURE_LAYERS: GLenum; const MIN_PROGRAM_TEXEL_OFFSET: GLenum; const MAX_PROGRAM_TEXEL_OFFSET: GLenum; const MAX_VARYING_COMPONENTS: GLenum; const FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum; const RASTERIZER_DISCARD: GLenum; const VERTEX_ARRAY_BINDING: GLenum; const MAX_VERTEX_OUTPUT_COMPONENTS: GLenum; const MAX_FRAGMENT_INPUT_COMPONENTS: GLenum; const MAX_SERVER_WAIT_TIMEOUT: GLenum; const MAX_ELEMENT_INDEX: GLenum; const RED: GLenum; const RGB8: GLenum; const RGBA8: GLenum; const RGB10_A2: GLenum; const TEXTURE_3D: GLenum; const TEXTURE_WRAP_R: GLenum; const TEXTURE_MIN_LOD: GLenum; const TEXTURE_MAX_LOD: GLenum; const TEXTURE_BASE_LEVEL: GLenum; const TEXTURE_MAX_LEVEL: GLenum; const TEXTURE_COMPARE_MODE: GLenum; const TEXTURE_COMPARE_FUNC: GLenum; const SRGB: GLenum; const SRGB8: GLenum; const SRGB8_ALPHA8: GLenum; const COMPARE_REF_TO_TEXTURE: GLenum; const RGBA32F: GLenum; const RGB32F: GLenum; const RGBA16F: GLenum; const RGB16F: GLenum; const TEXTURE_2D_ARRAY: GLenum; const TEXTURE_BINDING_2D_ARRAY: GLenum; const R11F_G11F_B10F: GLenum; const RGB9_E5: GLenum; const RGBA32UI: GLenum; const RGB32UI: GLenum; const RGBA16UI: GLenum; const RGB16UI: GLenum; const RGBA8UI: GLenum; const RGB8UI: GLenum; const RGBA32I: GLenum; const RGB32I: GLenum; const RGBA16I: GLenum; const RGB16I: GLenum; const RGBA8I: GLenum; const RGB8I: GLenum; const RED_INTEGER: GLenum; const RGB_INTEGER: GLenum; const RGBA_INTEGER: GLenum; const R8: GLenum; const RG8: GLenum; const R16F: GLenum; const R32F: GLenum; const RG16F: GLenum; const RG32F: GLenum; const R8I: GLenum; const R8UI: GLenum; const R16I: GLenum; const R16UI: GLenum; const R32I: GLenum; const R32UI: GLenum; const RG8I: GLenum; const RG8UI: GLenum; const RG16I: GLenum; const RG16UI: GLenum; const RG32I: GLenum; const RG32UI: GLenum; const R8_SNORM: GLenum; const RG8_SNORM: GLenum; const RGB8_SNORM: GLenum; const RGBA8_SNORM: GLenum; const RGB10_A2UI: GLenum; const TEXTURE_IMMUTABLE_FORMAT: GLenum; const TEXTURE_IMMUTABLE_LEVELS: GLenum; const UNSIGNED_INT_2_10_10_10_REV: GLenum; const UNSIGNED_INT_10F_11F_11F_REV: GLenum; const UNSIGNED_INT_5_9_9_9_REV: GLenum; const FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum; const UNSIGNED_INT_24_8: GLenum; const HALF_FLOAT: GLenum; const RG: GLenum; const RG_INTEGER: GLenum; const INT_2_10_10_10_REV: GLenum; const URRENT_QUERY: GLenum; const QUERY_RESULT: GLenum; const QUERY_RESULT_AVAILABLE: GLenum; const ANY_SAMPLES_PASSED: GLenum; const ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum; const MAX_DRAW_BUFFERS: GLenum; const DRAW_BUFFER0: GLenum; const DRAW_BUFFER1: GLenum; const DRAW_BUFFER2: GLenum; const DRAW_BUFFER3: GLenum; const DRAW_BUFFER4: GLenum; const DRAW_BUFFER5: GLenum; const DRAW_BUFFER6: GLenum; const DRAW_BUFFER7: GLenum; const DRAW_BUFFER8: GLenum; const DRAW_BUFFER9: GLenum; const DRAW_BUFFER10: GLenum; const DRAW_BUFFER11: GLenum; const DRAW_BUFFER12: GLenum; const DRAW_BUFFER13: GLenum; const DRAW_BUFFER14: GLenum; const DRAW_BUFFER15: GLenum; const MAX_COLOR_ATTACHMENTS: GLenum; const COLOR_ATTACHMENT1: GLenum; const COLOR_ATTACHMENT2: GLenum; const COLOR_ATTACHMENT3: GLenum; const COLOR_ATTACHMENT4: GLenum; const COLOR_ATTACHMENT5: GLenum; const COLOR_ATTACHMENT6: GLenum; const COLOR_ATTACHMENT7: GLenum; const COLOR_ATTACHMENT8: GLenum; const COLOR_ATTACHMENT9: GLenum; const COLOR_ATTACHMENT10: GLenum; const COLOR_ATTACHMENT11: GLenum; const COLOR_ATTACHMENT12: GLenum; const COLOR_ATTACHMENT13: GLenum; const COLOR_ATTACHMENT14: GLenum; const COLOR_ATTACHMENT15: GLenum; const SAMPLER_3D: GLenum; const SAMPLER_2D_SHADOW: GLenum; const SAMPLER_2D_ARRAY: GLenum; const SAMPLER_2D_ARRAY_SHADOW: GLenum; const SAMPLER_CUBE_SHADOW: GLenum; const INT_SAMPLER_2D: GLenum; const INT_SAMPLER_3D: GLenum; const INT_SAMPLER_CUBE: GLenum; const INT_SAMPLER_2D_ARRAY: GLenum; const UNSIGNED_INT_SAMPLER_2D: GLenum; const UNSIGNED_INT_SAMPLER_3D: GLenum; const UNSIGNED_INT_SAMPLER_CUBE: GLenum; const UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum; const MAX_SAMPLES: GLenum; const SAMPLER_BINDING: GLenum; const PIXEL_PACK_BUFFER: GLenum; const PIXEL_UNPACK_BUFFER: GLenum; const PIXEL_PACK_BUFFER_BINDING: GLenum; const PIXEL_UNPACK_BUFFER_BINDING: GLenum; const COPY_READ_BUFFER: GLenum; const COPY_WRITE_BUFFER: GLenum; const COPY_READ_BUFFER_BINDING: GLenum; const COPY_WRITE_BUFFER_BINDING: GLenum; const FLOAT_MAT2x3: GLenum; const FLOAT_MAT2x4: GLenum; const FLOAT_MAT3x2: GLenum; const FLOAT_MAT3x4: GLenum; const FLOAT_MAT4x2: GLenum; const FLOAT_MAT4x3: GLenum; const UNSIGNED_INT_VEC2: GLenum; const UNSIGNED_INT_VEC3: GLenum; const UNSIGNED_INT_VEC4: GLenum; const UNSIGNED_NORMALIZED: GLenum; const SIGNED_NORMALIZED: GLenum; const VERTEX_ATTRIB_ARRAY_INTEGER: GLenum; const VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum; const TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum; const MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum; const TRANSFORM_FEEDBACK_VARYINGS: GLenum; const TRANSFORM_FEEDBACK_BUFFER_START: GLenum; const TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum; const TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum; const MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum; const MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum; const INTERLEAVED_ATTRIBS: GLenum; const SEPARATE_ATTRIBS: GLenum; const TRANSFORM_FEEDBACK_BUFFER: GLenum; const TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum; const TRANSFORM_FEEDBACK: GLenum; const TRANSFORM_FEEDBACK_PAUSED: GLenum; const TRANSFORM_FEEDBACK_ACTIVE: GLenum; const TRANSFORM_FEEDBACK_BINDING: GLenum; const FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum; const FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum; const FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum; const FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum; const FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum; const FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum; const FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum; const FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum; const FRAMEBUFFER_DEFAULT: GLenum; const DEPTH24_STENCIL8: GLenum; const DRAW_FRAMEBUFFER_BINDING: GLenum; const READ_FRAMEBUFFER: GLenum; const DRAW_FRAMEBUFFER: GLenum; const READ_FRAMEBUFFER_BINDING: GLenum; const RENDERBUFFER_SAMPLES: GLenum; const FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum; const FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum; const UNIFORM_BUFFER: GLenum; const UNIFORM_BUFFER_BINDING: GLenum; const UNIFORM_BUFFER_START: GLenum; const UNIFORM_BUFFER_SIZE: GLenum; const MAX_VERTEX_UNIFORM_BLOCKS: GLenum; const MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum; const MAX_COMBINED_UNIFORM_BLOCKS: GLenum; const MAX_UNIFORM_BUFFER_BINDINGS: GLenum; const MAX_UNIFORM_BLOCK_SIZE: GLenum; const MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum; const MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum; const UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum; const ACTIVE_UNIFORM_BLOCKS: GLenum; const UNIFORM_TYPE: GLenum; const UNIFORM_SIZE: GLenum; const UNIFORM_BLOCK_INDEX: GLenum; const UNIFORM_OFFSET: GLenum; const UNIFORM_ARRAY_STRIDE: GLenum; const UNIFORM_MATRIX_STRIDE: GLenum; const UNIFORM_IS_ROW_MAJOR: GLenum; const UNIFORM_BLOCK_BINDING: GLenum; const UNIFORM_BLOCK_DATA_SIZE: GLenum; const UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum; const UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum; const UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum; const UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum; const OBJECT_TYPE: GLenum; const SYNC_CONDITION: GLenum; const SYNC_STATUS: GLenum; const SYNC_FLAGS: GLenum; const SYNC_FENCE: GLenum; const SYNC_GPU_COMMANDS_COMPLETE: GLenum; const UNSIGNALED: GLenum; const SIGNALED: GLenum; const ALREADY_SIGNALED: GLenum; const TIMEOUT_EXPIRED: GLenum; const CONDITION_SATISFIED: GLenum; const WAIT_FAILED: GLenum; const SYNC_FLUSH_COMMANDS_BIT: GLenum; const COLOR: GLenum; const STENCIL: GLenum; const MIN: GLenum; const MAX: GLenum; const DEPTH_COMPONENT24: GLenum; const STREAM_READ: GLenum; const STREAM_COPY: GLenum; const STATIC_READ: GLenum; const STATIC_COPY: GLenum; const DYNAMIC_READ: GLenum; const DYNAMIC_COPY: GLenum; const DEPTH_COMPONENT32F: GLenum; const DEPTH32F_STENCIL8: GLenum; const INVALID_INDEX: GLenum; const TIMEOUT_IGNO: GLenum; const MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum; /** * Describes the frequency divisor used for instanced rendering. */ const VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; /** * Passed to getParameter to get the vendor string of the graphics driver. */ const UNMASKED_VENDOR_WEBGL: GLenum; /** * Passed to getParameter to get the renderer string of the graphics driver. */ const UNMASKED_RENDERER_WEBGL: GLenum; /** * Returns the maximum available anisotropy. */ const MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; /** * Passed to texParameter to set the desired maximum anisotropy for a texture. */ const TEXTURE_MAX_ANISOTROPY_EXT: GLenum; /** * A DXT1-compressed image in an RGB image format. */ const COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; /** * A DXT1-compressed image in an RGB image format with a simple on/off alpha value. */ const COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; /** * A DXT3-compressed image in an RGBA image format. Compared to a 32-bit RGBA texture, it offers 4:1 compression. */ const COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; /** * A DXT5-compressed image in an RGBA image format. It also provides a 4:1 compression, but differs to the DXT3 compression in how the alpha compression is done. */ const COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; /** * One-channel (red) unsigned format compression. */ const COMPRESSED_R11_EAC: GLenum; /** * One-channel (red) signed format compression. */ const COMPRESSED_SIGNED_R11_EAC: GLenum; /** * Two-channel (red and green) unsigned format compression. */ const COMPRESSED_RG11_EAC: GLenum; /** * Two-channel (red and green) signed format compression. */ const COMPRESSED_SIGNED_RG11_EAC: GLenum; /** * Compresses RBG8 data with no alpha channel. */ const COMPRESSED_RGB8_ETC2: GLenum; /** * Compresses RGBA8 data. The RGB part is encoded the same as RGB_ETC2, but the alpha part is encoded separately. */ const COMPRESSED_RGBA8_ETC2_EAC: GLenum; /** * Compresses sRBG8 data with no alpha channel. */ const COMPRESSED_SRGB8_ETC2: GLenum; /** * Compresses sRGBA8 data. The sRGB part is encoded the same as SRGB_ETC2, but the alpha part is encoded separately. */ const COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: GLenum; /** * Similar to RGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent. */ const COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: GLenum; /** * Similar to SRGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent. */ const COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: GLenum; /** * RGB compression in 4-bit mode. One block for each 4×4 pixels. */ const COMPRESSED_RGB_PVRTC_4BPPV1_IMG: GLenum; /** * RGBA compression in 4-bit mode. One block for each 4×4 pixels. */ const COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: GLenum; /** * RGB compression in 2-bit mode. One block for each 8×4 pixels. */ const COMPRESSED_RGB_PVRTC_2BPPV1_IMG: GLenum; /** * RGBA compression in 2-bit mode. One block for each 8×4 pixe */ const COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: GLenum; /** * Compresses 24-bit RGB data with no alpha channel. */ const COMPRESSED_RGB_ETC1_WEBGL: GLenum; const _WEBGL = 35986; /** * Compresses RGBA textures using explicit alpha encoding (useful when alpha transitions are sharp). */ const COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: GLenum; /** * Compresses RGBA textures using interpolated alpha encoding (useful when alpha transitions are gradient). */ const COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: GLenum; /** * Unsigned integer type for 24-bit depth texture data. */ const UNSIGNED_INT_24_8_WEBGL: GLenum; /** * Half floating-point type (16-bit). */ const HALF_FLOAT_OES: GLenum; /** * RGBA 32-bit floating-point color-renderable format. */ const RGBA32F_EXT: GLenum; /** * RGB 32-bit floating-point color-renderable format. */ const RGB32F_EXT: GLenum; /** * Returns the type of the color-renderable format of the attachment. */ const FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum; /** * Unsigned normalized integer type. */ const UNSIGNED_NORMALIZED_EXT: GLenum; /** * Produces the minimum color components of the source and destination colors. */ const MIN_EXT: GLenum; /** * Produces the maximum color components of the source and destination colors. */ const MAX_EXT: GLenum; /** * Unsized sRGB format that leaves the precision up to the driver. */ const SRGB_EXT: GLenum; /** * Unsized sRGB format with unsized alpha component. */ const SRGB_ALPHA_EXT: GLenum; /** * Sized (8-bit) sRGB and alpha formats. */ const SRGB8_ALPHA8_EXT: GLenum; /** * Returns the framebuffer color encoding. */ const FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum; /** * Indicates the accuracy of the derivative calculation for the GLSL built-in functions: dFdx, dFdy, and fwidth. */ const FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT0_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT1_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT2_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT3_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT4_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT5_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT6_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT7_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT8_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT9_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT10_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT11_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT12_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT13_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT14_WEBGL: GLenum; /** * Framebuffer color attachment point */ const COLOR_ATTACHMENT15_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER0_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER1_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER2_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER3_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER4_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER5_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER6_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER7_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER8_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER9_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER10_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER11_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER12_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER13_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER14_WEBGL: GLenum; /** * Draw buffer */ const DRAW_BUFFER15_WEBGL: GLenum; /** * Maximum number of framebuffer color attachment points */ const MAX_COLOR_ATTACHMENTS_WEBGL: GLenum; /** * Maximum number of draw buffers */ const MAX_DRAW_BUFFERS_WEBGL: GLenum; /** * The bound vertex array object (VAO). */ const VERTEX_ARRAY_BINDING_OES: GLenum; /** * The number of bits used to hold the query result for the given target. */ const QUERY_COUNTER_BITS_EXT: GLenum; /** * The currently active query. */ const CURRENT_QUERY_EXT: GLenum; /** * The query result. */ const QUERY_RESULT_EXT: GLenum; /** * A Boolean indicating whether or not a query result is available. */ const QUERY_RESULT_AVAILABLE_EXT: GLenum; /** * Elapsed time (in nanoseconds). */ const TIME_ELAPSED_EXT: GLenum; /** * The current time. */ const TIMESTAMP_EXT: GLenum; /** * A Boolean indicating whether or not the GPU performed any disjoint operation. */ const GPU_DISJOINT_EXT: GLenum; } /** * Class是提供类的创建的辅助工具。 * @example * const Bird = Hilo3d.Class.create({ * Extends: Animal, * Mixes: EventMixin, * constructor: function(name){ * this.name = name; * }, * fly: function(){ * console.log('I am flying'); * }, * Statics: { * isBird: function(bird){ * return bird instanceof Bird; * } * } * }); * * const swallow = new Bird('swallow'); * swallow.fly(); * Bird.isBird(swallow); */ namespace Class { /** * 混入属性或方法。 * @param target - 混入目标对象。 * @param source - 要混入的属性和方法来源。可支持多个来源参数。 * @returns 混入目标对象。 */ function mix(target: any, ...source: any[]): any; /** * 根据参数指定的属性和方法创建类。 * @param params - 要创建的类的相关属性和方法。 * @param [params.Statics] - 指定类的静态属性或方法。 * @param [params.Extends] - 指定要继承的父类。 * @param [params.Mixes] - 指定要混入的成员集合对象 * @param [params.constructor] - 构造函数 * @param params.[value:string] - 其他创建类的成员属性或方法。 */ function create(params: { Statics?: any; Extends?: any; Mixes?: any; constructor?: (...params: any[]) => any; [value:string]: any; }): void; } /** * 事件对象 * @property type - 事件类型 * @property [detail = null] - 事件数据 */ interface EventObject { /** * 事件类型 */ type: string; /** * 事件数据 */ detail?: any; } /** * @param e - 事件对象 * @param e.type - 事件类型 * @param e.detail - 事件数据 * @param e.target - 事件触发对象 * @param e.stageX - 鼠标相对 stage 的 x 偏移 ( 仅鼠标事件有效 ) * @param e.stageY - 鼠标相对 stage 的 y 偏移 ( 仅鼠标事件有效 ) * @param e.eventTarget - 触发鼠标事件的对象 ( 仅鼠标事件有效 ) * @param e.eventCurrentTarget - 监听鼠标事件的对象 ( 仅鼠标事件有效 ) * @param e.hitPoint - 鼠标碰撞点 ( 仅鼠标事件有效 ) */ type EventMixinCallback = (e: { type: string; detail: any; target: any; stageX: number; stageY: number; eventTarget: Node; eventCurrentTarget: Node; hitPoint: Vector3; }) => void; /** * 包围盒信息 */ type Bounds = { /** * 包围盒中心的X坐标 */ x: number; /** * 包围盒中心的Y坐标 */ y: number; /** * 包围盒中心的Z坐标 */ z: number; /** * 包围盒的宽度 */ width: number; /** * 包围盒的高度 */ height: number; /** * 包围盒的深度 */ depth: number; /** * X轴的最小值 */ xMin: number; /** * X轴的最大值 */ xMax: number; /** * Y轴的最小值 */ yMin: number; /** * Y轴的最大值 */ yMax: number; /** * Z轴的最小值 */ zMin: number; /** * Z轴的最大值 */ zMax: number; }; /** * 碰撞信息 */ type raycastInfo = { /** * 碰撞的 mesh */ mesh: Mesh; /** * 碰撞得点 */ point: Vector3; }; /** * Node traverse 回调 * @param node */ type NodeTraverseCallback = (node: Node) => any; /** * Node getChildByCallback 回调 * @param node */ type NodeGetChildByCallback = (node: Node) => boolean; /** * @property duration * @property [delay] * @property [ease] * @property [onStart] * @property [onComplete] * @property [onUpdate] * @property [loop = false] * @property [reverse = false] * @property [repeat = 0] */ interface TweenParams { duration: number; delay?: number | string; ease?: (...params: any[]) => any; onStart?: (...params: any[]) => any; onComplete?: (...params: any[]) => any; onUpdate?: (...params: any[]) => any; loop?: boolean; reverse?: boolean; repeat?: number; } /** * @property EaseIn * @property EaseOut * @property EaseInOut */ interface TweenEaseObject { EaseIn: (...params: any[]) => any; EaseOut: (...params: any[]) => any; EaseInOut: (...params: any[]) => any; } /** * @property EaseNone */ interface TweenEaseNoneObject { EaseNone: (...params: any[]) => any; } /** * @param attribute * @param index * @param offset */ type GeometryDataTraverseCallback = (attribute: number | Vector2 | Vector3 | Vector4, index: number, offset: number) => void; /** * @param component * @param index * @param offset */ type GeometryDataTraverseByComponentCallback = (component: number, index: number, offset: number) => void; /** * 更新自定义灯光回调 * @param lightManager * @param camera */ type updateCustomInfoCallback = (lightManager: LightManager, camera: Camera) => void; /** * 灯光信息接口 * @property uid */ interface ILightInfo { uid: string; } /** * 灯光管理器接口 * @property shadowEnabled * @property lightInfo */ interface ILightManager { /** * 重置所有光源信息 */ reset(): void; /** * 更新光源信息 * @param renderer * @param camera * @param lights */ update(renderer: WebGLRenderer, camera: Camera, lights: Light[]): void; /** * 获取渲染配置 * @param [option] */ getRenderOption(option?: any): void; shadowEnabled: boolean; lightInfo: ILightInfo; } /** * GLTFExtension Handler 接口 */ interface IGLTFExtensionHandler { /** * 解析元素扩展 * @param [extensionData] - 扩展数据 * @param [parser] - parser * @param [element] - parse的元素,e.g. material, mesh, geometry * @param [options] * @returns [result] 一般需要返回原始元素或者替换的新的元素 */ parse?(extensionData?: any, parser?: GLTFParser, element?: any, options?: any): any; /** * 解析全局扩展,在资源加载后执行 * @param [extensionData] - 扩展数据 * @param [parser] - parser * @param [element] - parse的元素,这里为 null * @param [options] */ parseOnLoad?(extensionData?: any, parser?: GLTFParser, element?: any, options?: any): void; /** * 解析全局扩展,在所有元素解析结束后执行 * @param [extensionData] - 扩展数据 * @param [parser] - parser * @param [element] - parse的元素,这里为加载后的model,{node, scene, meshes, json, cameras, lights, textures, materials} * @param [options] */ parseOnEnd?(extensionData?: any, parser?: GLTFParser, element?: GLTFModel, options?: any): void; /** * 初始化全局扩展,在加载前执行,可进行添加需要加载的资源 * @param [gltfLoader] * @param [parser] */ init?(gltfLoader?: GLTFLoader, parser?: GLTFParser): void; /** * 获取扩展用到的贴图信息, parser.isLoadAllTextures 为 false 时生效 * @example * getUsedTextureNameMap(extension, map) { * if (extension.diffuseTexture) { * map[extension.diffuseTexture.index] = true; * } * } * @param [extensionData] - 扩展数据 * @param [map] - used texture map */ getUsedTextureNameMap?(extensionData?: any, map?: any): void; } /** * GLTFLoader 模型加载完返回的对象格式 */ type GLTFModel = { /** * 原始数据 */ json: any; /** * 模型的根节点 */ node?: Node; /** * 模型的所有Mesh对象数组 */ meshes?: Mesh[]; /** * 模型的动画对象数组,没有动画的话为null */ anim?: Animation; /** * 模型中的所有Camera对象数组 */ cameras?: Camera[]; /** * 模型中的所有Light对象数组 */ lights?: Light[]; /** * 模型中的所有Texture对象数组 */ textures?: Texture[]; /** * 模型中的所有Material对象数组 */ materials?: BasicMaterial[]; /** * 模型中的所有Skeleton对象数组 */ skins?: Skeleton[]; }; /** * @property key * @property state - 可选值为:LoadCache.LOADED LoadCache.PENDING LoadCache.FAILED * @property data */ interface ILoadCacheFile { key: string; /** * 可选值为:LoadCache.LOADED LoadCache.PENDING LoadCache.FAILED */ state: number; data: any; } /** * 语义 */ namespace semantic { var state: WebGLState; var camera: Camera; var lightManager: LightManager; var fog: Fog; var gl: WebGLRenderingContext; /** * WebGLRenderer */ var renderer: WebGLRenderer; /** * 初始化 * @param _state * @param _camera * @param _lightManager * @param _fog */ function init(_state: WebGLState, _camera: Camera, _lightManager: LightManager, _fog: Fog): void; /** * 设置相机 * @param _camera */ function setCamera(_camera: Camera): void; /** * @param value * @param textureIndex - programInfo.textureIndex */ function handlerColorOrTexture(value: Texture | Color, textureIndex: number): Float32Array | number; /** * @param value * @param textureIndex - programInfo.textureIndex */ function handlerTexture(value: Texture, textureIndex: number): number; /** * @param target * @param texture * @param textureIndex - programInfo.textureIndex */ function handlerGLTexture(target: GLenum, texture: WebGLTexture, textureIndex: number): number; /** * @param texture * @returns uv */ function handlerUV(texture: Texture): number; var POSITION: semanticObject; var NORMAL: semanticObject; var TANGENT: semanticObject; var TEXCOORD_0: semanticObject; var TEXCOORD_1: semanticObject; var UVMATRIX_0: semanticObject; var UVMATRIX_1: semanticObject; var CAMERAFAR: semanticObject; var CAMERANEAR: semanticObject; var CAMERATYPE: semanticObject; var COLOR_0: semanticObject; var SKININDICES: semanticObject; var JOINT: semanticObject; var WEIGHT: semanticObject; var SKINWEIGHTS: semanticObject; var RENDERERSIZE: semanticObject; var LOCAL: semanticObject; var MODEL: semanticObject; var VIEW: semanticObject; var PROJECTION: semanticObject; var VIEWPROJECTION: semanticObject; var MODELVIEW: semanticObject; var MODELVIEWPROJECTION: semanticObject; var MODELINVERSE: semanticObject; var VIEWINVERSE: semanticObject; var VIEWINVERSEINVERSETRANSPOSE: semanticObject; var PROJECTIONINVERSE: semanticObject; var MODELVIEWINVERSE: semanticObject; var MODELVIEWPROJECTIONINVERSE: semanticObject; var MODELINVERSETRANSPOSE: semanticObject; var MODELVIEWINVERSETRANSPOSE: semanticObject; /** * 还未实现,不要使用 */ var VIEWPORT: semanticObject; var JOINTMATRIX: semanticObject; var JOINTMATRIXTEXTURE: semanticObject; var JOINTMATRIXTEXTURESIZE: semanticObject; var NORMALMAPSCALE: semanticObject; var OCCLUSIONSTRENGTH: semanticObject; var SHININESS: semanticObject; var SPECULARENVMATRIX: semanticObject; var REFLECTIVITY: semanticObject; var REFRACTRATIO: semanticObject; var REFRACTIVITY: semanticObject; var AMBIENTLIGHTSCOLOR: semanticObject; var DIRECTIONALLIGHTSCOLOR: semanticObject; var DIRECTIONALLIGHTSINFO: semanticObject; var DIRECTIONALLIGHTSSHADOWMAP: semanticObject; var DIRECTIONALLIGHTSSHADOWMAPSIZE: semanticObject; var DIRECTIONALLIGHTSSHADOWBIAS: semanticObject; var DIRECTIONALLIGHTSPACEMATRIX: semanticObject; var POINTLIGHTSPOS: semanticObject; var POINTLIGHTSCOLOR: semanticObject; var POINTLIGHTSINFO: semanticObject; var POINTLIGHTSRANGE: semanticObject; var POINTLIGHTSSHADOWMAP: semanticObject; var POINTLIGHTSSHADOWBIAS: semanticObject; var POINTLIGHTSPACEMATRIX: semanticObject; var POINTLIGHTCAMERA: semanticObject; var SPOTLIGHTSPOS: semanticObject; var SPOTLIGHTSDIR: semanticObject; var SPOTLIGHTSCOLOR: semanticObject; var SPOTLIGHTSCUTOFFS: semanticObject; var SPOTLIGHTSINFO: semanticObject; var SPOTLIGHTSRANGE: semanticObject; var SPOTLIGHTSSHADOWMAP: semanticObject; var SPOTLIGHTSSHADOWMAPSIZE: semanticObject; var SPOTLIGHTSSHADOWBIAS: semanticObject; var SPOTLIGHTSPACEMATRIX: semanticObject; var AREALIGHTSCOLOR: semanticObject; var AREALIGHTSPOS: semanticObject; var AREALIGHTSWIDTH: semanticObject; var AREALIGHTSHEIGHT: semanticObject; var AREALIGHTSLTCTEXTURE1: semanticObject; var AREALIGHTSLTCTEXTURE2: semanticObject; var FOGCOLOR: semanticObject; var FOGINFO: semanticObject; var POSITIONDECODEMAT: semanticObject; var NORMALDECODEMAT: semanticObject; var UVDECODEMAT: semanticObject; var BASECOLOR: semanticObject; /** * EMISSION FACTOR */ var EMISSIONFACTOR: any; var METALLIC: semanticObject; var ROUGHNESS: semanticObject; var DIFFUSEENVMAP: semanticObject; var DIFFUSEENVINTENSITY: semanticObject; var BRDFLUT: semanticObject; var SPECULARENVMAP: semanticObject; } /** * semantic 对象 */ type semanticObject = { /** * 是否依赖 mesh */ isDependMesh: boolean; /** * 是否不支持 instanced */ notSupportInstanced: boolean; /** * 获取数据方法 */ get: (...params: any[]) => any; }; /** * 含x, y, z属性的对象 */ type XYZObject = { x: number; y: number; z: number; }; namespace math { /** * 角度值转弧度值 */ var DEG2RAD: number; /** * 弧度值转角度值 */ var RAD2DEG: number; /** * 生成唯一ID * @param [prefix = ''] - ID前缀 * @returns ID */ function generateUUID(prefix?: string): string; /** * 截取 * @param value - 值 * @param min - 最小值 * @param max - 最大值 */ function clamp(value: number, min: number, max: number): number; /** * 角度值转换成弧度值 * @param deg - 角度值 * @returns 弧度值 */ function degToRad(deg: number): number; /** * 弧度值转换成角度值 * @param rad - 弧度值 * @returns 角度值 */ function radToDeg(rad: number): number; /** * 是否是 2 的指数值 * @param value */ function isPowerOfTwo(value: number): boolean; /** * 最近的 2 的指数值 * @param value */ function nearestPowerOfTwo(value: number): number; /** * 下一个的 2 的指数值 * @param value */ function nextPowerOfTwo(value: number): number; } /** */ type AttachmentInfo = { attachmentType: 'TEXTURE' | 'RENDERBUFFER'; framebufferTarget: GLenum; attachment: GLenum; samples: number; target: GLenum; internalFormat: GLenum; format: GLenum; type: GLenum; minFilter: GLenum; magFilter: GLenum; wrapS: GLenum; wrapT: GLenum; data: TypedArray; texture: Texture; renderbuffer: WebGLRenderbuffer; }; /** * @param mesh */ type RenderListTraverseCallback = (mesh: Mesh) => void; /** * @param meshes */ type RenderListInstancedTraverseCallback = (meshes: Mesh[]) => void; /** * 顶点对象 */ type AttributeObject = { attribute: any; buffer: WebGLBuffer; geometryData: GeometryData; useInstanced: boolean; }; /** * WebGL 能力 */ namespace capabilities { /** * 是否是 WebGL2 */ var isWebGL2: boolean; /** * 最大纹理数量 */ var MAX_TEXTURE_INDEX: number; /** * 最高着色器精度, 可以是以下值:highp, mediump, lowp */ var MAX_PRECISION: string; /** * 最高顶点着色器精度, 可以是以下值:highp, mediump, lowp */ var MAX_VERTEX_PRECISION: string; /** * 最高片段着色器精度, 可以是以下值:highp, mediump, lowp */ var MAX_FRAGMENT_PRECISION: string; /** * 顶点浮点数纹理 */ var VERTEX_TEXTURE_FLOAT: boolean; /** * 片段浮点数纹理 */ var FRAGMENT_TEXTURE_FLOAT: boolean; /** * MAX_TEXTURE_MAX_ANISOTROPY */ var MAX_TEXTURE_MAX_ANISOTROPY: number; var MAX_RENDERBUFFER_SIZE: number; var MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; var MAX_CUBE_MAP_TEXTURE_SIZE: number; var MAX_FRAGMENT_UNIFORM_VECTORS: number; var MAX_TEXTURE_IMAGE_UNITS: number; var MAX_TEXTURE_SIZE: number; var MAX_VARYING_VECTORS: number; var MAX_VERTEX_ATTRIBS: number; var MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; var MAX_VERTEX_UNIFORM_VECTORS: number; /** * 初始化 * @param gl */ function init(gl: WebGLRenderingContext): void; /** * 获取 WebGL 能力 * @param name */ function get(name: string): number | string; /** * 获取最大支持精度 * @param a * @param b */ function getMaxPrecision(a: string, b: string): string; } type ANGLEInstancedArrays = any; type OESVertexArrayObject = any; type OESTextureFloat = any; type EXTFragDepth = any; type WebGLLoseContext = any; type EXTTextureFilterAnisotropic = any; type EXT_sRGB = any; type WEBGLDrawBuffers = any; /** * WebGL 扩展管理,默认开启的扩展有:ANGLE_instanced_arrays, OES_vertex_array_object, OES_texture_float, OES_element_index_uint, EXT_shader_texture_lod, EXT_texture_filter_anisotropic, WEBGL_lose_context, WEBGL_draw_buffers */ namespace extensions { /** * ANGLE_instanced_arrays扩展 */ var instanced: ANGLEInstancedArrays; /** * OES_vertex_array_object扩展 */ var vao: OESVertexArrayObject; /** * WEBGL_draw_buffers扩展 */ var drawBuffers: WEBGLDrawBuffers; /** * OES_texture_float扩展 */ var texFloat: OESTextureFloat; /** * EXT_frag_depth扩展 */ var fragDepth: EXTFragDepth; /** * WEBGL_lose_context扩展 */ var loseContext: WebGLLoseContext; /** * EXT_texture_filter_anisotropic */ var textureFilterAnisotropic: EXTTextureFilterAnisotropic; /** * EXT_sRGB */ var sRGB: EXT_sRGB; /** * 初始化 * @param gl */ function init(gl: WebGLRenderingContext): void; /** * 重置扩展 * @param gl */ function reset(gl: WebGLRenderingContext): void; /** * 使用扩展 * @param name - 扩展名称 * @param [alias = name] - 别名,默认和 name 相同 */ function use(name: string, alias?: string): void; /** * 获取扩展,如果不支持返回 null,必须在 Renderer 初始化完后用 * @param name - 扩展名称 * @param [alias = name] - 别名,默认和 name 相同 */ function get(name: string, alias?: string): any | null; /** * 禁止扩展 * @param name - 扩展名称 */ function disable(name: string): void; /** * 开启扩展 * @param name - 扩展名称 */ function enable(name: string): void; } /** */ type glTypeInfo = { /** * 名字,e.g. FLOAT_VEC2 */ name: string; /** * 字节大小 */ byteSize: number; /** * uniform方法名字,e.g. uniform3f */ uniformFuncName: string; /** * 类型,可以是 Scalar, Vector, Matrix */ type: string; /** * 数量 */ size: number; /** * gl enum值 */ glValue: GLenum; /** * uniform单个值方法 */ uniform: (...params: any[]) => any; /** * uniform多个值方法 */ uniformArray: (...params: any[]) => any; }; namespace glType { /** * init * @param gl */ function init(gl: WebGLRenderingContext): void; /** * 获取信息 * @param type */ function get(type: GLenum): glTypeInfo; } /** * 打印所有 gl 资源 * @returns gl资源数量字符串 */ function logGLResource(): string; /** * WebGL支持检测 */ namespace WebGLSupport { /** * 是否支持 WebGL */ function get(): boolean; } /** * 浏览器特性集合 */ namespace browser { /** * 是否是iphone */ const iphone: boolean; /** * 是否是ipad */ const ipad: boolean; /** * 是否是ipod */ const ipod: boolean; /** * 是否是ios */ const ios: boolean; /** * 是否是android */ const android: boolean; /** * 是否是webkit */ const webkit: boolean; /** * 是否是chrome */ const chrome: boolean; /** * 是否是safari */ const safari: boolean; /** * 是否是firefox */ const firefox: boolean; /** * 是否是ie */ const ie: boolean; /** * 是否是opera */ const opera: boolean; /** * 是否支持触碰事件。 */ const supportTouch: boolean; /** * 是否支持canvas元素。 */ const supportCanvas: boolean; /** * 是否支持本地存储localStorage。 */ const supportStorage: boolean; /** * 是否支持检测设备方向orientation。 */ const supportOrientation: boolean; /** * 是否支持检测加速度devicemotion。 */ const supportDeviceMotion: boolean; /** * 浏览器厂商CSS前缀的js值。比如:webkit。 */ const jsVendor: string; /** * 浏览器厂商CSS前缀的css值。比如:-webkit-。 */ const cssVendor: string; /** * 是