🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

twebgl

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

twebgl - npm Package Compare versions

Comparing version
0.1.48
to
0.1.49
+21
dist/types/geometryInfo.d.ts
import { IgeometryInfo, IgeometryOptions, IprogramInfo } from "./Type";
export declare function createGeometryInfo(gl: WebGLRenderingContext, op: IgeometryOptions): IgeometryInfo;
/**
* tips : setProgrameWithcached need behind (setGeometryWithAdvanced/setGeometryWithCached),when draw obj
* @param gl
* @param geometry
* @param program
*/
export declare function setGeometryWithAdvanced(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
export declare function setGeometry(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
/**
* tips : setProgrameWithcached need behind (setGeometryWithAdvanced/setGeometryWithCached),when draw obj
* @param gl
* @param geometry
* @param program
*/
export declare function setGeometryWithCached(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
/**
* 创建vao将geometry和program绑定
*/
export declare function createVaoByPrograme(gl: WebGLRenderingContext, program: IprogramInfo, geometry: IgeometryInfo): WebGLVertexArrayObject;
/**
* Enum containing WebGL Constant values by name.
* for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context
* (For example, in [Safari 9]{@link https://github.com/AnalyticalGraphicsInc/cesium/issues/2989}).
*
* These match the constants from the [WebGL 1.0]{@link https://www.khronos.org/registry/webgl/specs/latest/1.0/}
* and [WebGL 2.0]{@link https://www.khronos.org/registry/webgl/specs/latest/2.0/}
* specifications.
*/
export declare enum GlConstants {
DEPTH_BUFFER_BIT = 256,
STENCIL_BUFFER_BIT = 1024,
COLOR_BUFFER_BIT = 16384,
POINTS = 0,
LINES = 1,
LINE_LOOP = 2,
LINE_STRIP = 3,
TRIANGLES = 4,
TRIANGLE_STRIP = 5,
TRIANGLE_FAN = 6,
ZERO = 0,
ONE = 1,
SRC_COLOR = 768,
ONE_MINUS_SRC_COLOR = 769,
SRC_ALPHA = 770,
ONE_MINUS_SRC_ALPHA = 771,
DST_ALPHA = 772,
ONE_MINUS_DST_ALPHA = 773,
DST_COLOR = 774,
ONE_MINUS_DST_COLOR = 775,
SRC_ALPHA_SATURATE = 776,
FUNC_ADD = 32774,
BLEND_EQUATION = 32777,
BLEND_EQUATION_RGB = 32777,
BLEND_EQUATION_ALPHA = 34877,
FUNC_SUBTRACT = 32778,
FUNC_REVERSE_SUBTRACT = 32779,
BLEND_DST_RGB = 32968,
BLEND_SRC_RGB = 32969,
BLEND_DST_ALPHA = 32970,
BLEND_SRC_ALPHA = 32971,
CONSTANT_COLOR = 32769,
ONE_MINUS_CONSTANT_COLOR = 32770,
CONSTANT_ALPHA = 32771,
ONE_MINUS_CONSTANT_ALPHA = 32772,
BLEND_COLOR = 32773,
ARRAY_BUFFER = 34962,
ELEMENT_ARRAY_BUFFER = 34963,
ARRAY_BUFFER_BINDING = 34964,
ELEMENT_ARRAY_BUFFER_BINDING = 34965,
STREAM_DRAW = 35040,
STATIC_DRAW = 35044,
DYNAMIC_DRAW = 35048,
BUFFER_SIZE = 34660,
BUFFER_USAGE = 34661,
CURRENT_VERTEX_ATTRIB = 34342,
FRONT = 1028,
BACK = 1029,
FRONT_AND_BACK = 1032,
CULL_FACE = 2884,
BLEND = 3042,
DITHER = 3024,
STENCIL_TEST = 2960,
DEPTH_TEST = 2929,
SCISSOR_TEST = 3089,
POLYGON_OFFSET_FILL = 32823,
SAMPLE_ALPHA_TO_COVERAGE = 32926,
SAMPLE_COVERAGE = 32928,
NO_ERROR = 0,
INVALID_ENUM = 1280,
INVALID_VALUE = 1281,
INVALID_OPERATION = 1282,
OUT_OF_MEMORY = 1285,
CW = 2304,
CCW = 2305,
LINE_WIDTH = 2849,
ALIASED_POINT_SIZE_RANGE = 33901,
ALIASED_LINE_WIDTH_RANGE = 33902,
CULL_FACE_MODE = 2885,
FRONT_FACE = 2886,
DEPTH_RANGE = 2928,
DEPTH_WRITEMASK = 2930,
DEPTH_CLEAR_VALUE = 2931,
DEPTH_FUNC = 2932,
STENCIL_CLEAR_VALUE = 2961,
STENCIL_FUNC = 2962,
STENCIL_FAIL = 2964,
STENCIL_PASS_DEPTH_FAIL = 2965,
STENCIL_PASS_DEPTH_PASS = 2966,
STENCIL_REF = 2967,
STENCIL_VALUE_MASK = 2963,
STENCIL_WRITEMASK = 2968,
STENCIL_BACK_FUNC = 34816,
STENCIL_BACK_FAIL = 34817,
STENCIL_BACK_PASS_DEPTH_FAIL = 34818,
STENCIL_BACK_PASS_DEPTH_PASS = 34819,
STENCIL_BACK_REF = 36003,
STENCIL_BACK_VALUE_MASK = 36004,
STENCIL_BACK_WRITEMASK = 36005,
VIEWPORT = 2978,
SCISSOR_BOX = 3088,
COLOR_CLEAR_VALUE = 3106,
COLOR_WRITEMASK = 3107,
UNPACK_ALIGNMENT = 3317,
PACK_ALIGNMENT = 3333,
MAX_TEXTURE_SIZE = 3379,
MAX_VIEWPORT_DIMS = 3386,
SUBPIXEL_BITS = 3408,
RED_BITS = 3410,
GREEN_BITS = 3411,
BLUE_BITS = 3412,
ALPHA_BITS = 3413,
DEPTH_BITS = 3414,
STENCIL_BITS = 3415,
POLYGON_OFFSET_UNITS = 10752,
POLYGON_OFFSET_FACTOR = 32824,
TEXTURE_BINDING_2D = 32873,
SAMPLE_BUFFERS = 32936,
SAMPLES = 32937,
SAMPLE_COVERAGE_VALUE = 32938,
SAMPLE_COVERAGE_INVERT = 32939,
COMPRESSED_TEXTURE_FORMATS = 34467,
DONT_CARE = 4352,
FASTEST = 4353,
NICEST = 4354,
GENERATE_MIPMAP_HINT = 33170,
BYTE = 5120,
UNSIGNED_BYTE = 5121,
SHORT = 5122,
UNSIGNED_SHORT = 5123,
INT = 5124,
UNSIGNED_INT = 5125,
FLOAT = 5126,
DEPTH_COMPONENT = 6402,
ALPHA = 6406,
RGB = 6407,
RGBA = 6408,
LUMINANCE = 6409,
LUMINANCE_ALPHA = 6410,
UNSIGNED_SHORT_4_4_4_4 = 32819,
UNSIGNED_SHORT_5_5_5_1 = 32820,
UNSIGNED_SHORT_5_6_5 = 33635,
FRAGMENT_SHADER = 35632,
VERTEX_SHADER = 35633,
MAX_VERTEX_ATTRIBS = 34921,
MAX_VERTEX_UNIFORM_VECTORS = 36347,
MAX_VARYING_VECTORS = 36348,
MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661,
MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660,
MAX_TEXTURE_IMAGE_UNITS = 34930,
MAX_FRAGMENT_UNIFORM_VECTORS = 36349,
SHADER_TYPE = 35663,
DELETE_STATUS = 35712,
LINK_STATUS = 35714,
VALIDATE_STATUS = 35715,
ATTACHED_SHADERS = 35717,
ACTIVE_UNIFORMS = 35718,
ACTIVE_ATTRIBUTES = 35721,
SHADING_LANGUAGE_VERSION = 35724,
CURRENT_PROGRAM = 35725,
NEVER = 512,
LESS = 513,
EQUAL = 514,
LEQUAL = 515,
GREATER = 516,
NOTEQUAL = 517,
GEQUAL = 518,
ALWAYS = 519,
KEEP = 7680,
REPLACE = 7681,
INCR = 7682,
DECR = 7683,
INVERT = 5386,
INCR_WRAP = 34055,
DECR_WRAP = 34056,
VENDOR = 7936,
RENDERER = 7937,
VERSION = 7938,
NEAREST = 9728,
LINEAR = 9729,
NEAREST_MIPMAP_NEAREST = 9984,
LINEAR_MIPMAP_NEAREST = 9985,
NEAREST_MIPMAP_LINEAR = 9986,
LINEAR_MIPMAP_LINEAR = 9987,
TEXTURE_MAG_FILTER = 10240,
TEXTURE_MIN_FILTER = 10241,
TEXTURE_WRAP_S = 10242,
TEXTURE_WRAP_T = 10243,
TEXTURE_2D = 3553,
TEXTURE = 5890,
TEXTURE_CUBE_MAP = 34067,
TEXTURE_BINDING_CUBE_MAP = 34068,
TEXTURE_CUBE_MAP_POSITIVE_X = 34069,
TEXTURE_CUBE_MAP_NEGATIVE_X = 34070,
TEXTURE_CUBE_MAP_POSITIVE_Y = 34071,
TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072,
TEXTURE_CUBE_MAP_POSITIVE_Z = 34073,
TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074,
MAX_CUBE_MAP_TEXTURE_SIZE = 34076,
TEXTURE0 = 33984,
TEXTURE1 = 33985,
TEXTURE2 = 33986,
TEXTURE3 = 33987,
TEXTURE4 = 33988,
TEXTURE5 = 33989,
TEXTURE6 = 33990,
TEXTURE7 = 33991,
TEXTURE8 = 33992,
TEXTURE9 = 33993,
TEXTURE10 = 33994,
TEXTURE11 = 33995,
TEXTURE12 = 33996,
TEXTURE13 = 33997,
TEXTURE14 = 33998,
TEXTURE15 = 33999,
TEXTURE16 = 34000,
TEXTURE17 = 34001,
TEXTURE18 = 34002,
TEXTURE19 = 34003,
TEXTURE20 = 34004,
TEXTURE21 = 34005,
TEXTURE22 = 34006,
TEXTURE23 = 34007,
TEXTURE24 = 34008,
TEXTURE25 = 34009,
TEXTURE26 = 34010,
TEXTURE27 = 34011,
TEXTURE28 = 34012,
TEXTURE29 = 34013,
TEXTURE30 = 34014,
TEXTURE31 = 34015,
ACTIVE_TEXTURE = 34016,
REPEAT = 10497,
CLAMP_TO_EDGE = 33071,
MIRRORED_REPEAT = 33648,
FLOAT_VEC2 = 35664,
FLOAT_VEC3 = 35665,
FLOAT_VEC4 = 35666,
INT_VEC2 = 35667,
INT_VEC3 = 35668,
INT_VEC4 = 35669,
BOOL = 35670,
BOOL_VEC2 = 35671,
BOOL_VEC3 = 35672,
BOOL_VEC4 = 35673,
FLOAT_MAT2 = 35674,
FLOAT_MAT3 = 35675,
FLOAT_MAT4 = 35676,
SAMPLER_2D = 35678,
SAMPLER_CUBE = 35680,
VERTEX_ATTRIB_ARRAY_ENABLED = 34338,
VERTEX_ATTRIB_ARRAY_SIZE = 34339,
VERTEX_ATTRIB_ARRAY_STRIDE = 34340,
VERTEX_ATTRIB_ARRAY_TYPE = 34341,
VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922,
VERTEX_ATTRIB_ARRAY_POINTER = 34373,
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975,
IMPLEMENTATION_COLOR_READ_TYPE = 35738,
IMPLEMENTATION_COLOR_READ_FORMAT = 35739,
COMPILE_STATUS = 35713,
LOW_FLOAT = 36336,
MEDIUM_FLOAT = 36337,
HIGH_FLOAT = 36338,
LOW_INT = 36339,
MEDIUM_INT = 36340,
HIGH_INT = 36341,
FRAMEBUFFER = 36160,
RENDERBUFFER = 36161,
RGBA4 = 32854,
RGB5_A1 = 32855,
RGB565 = 36194,
DEPTH_COMPONENT16 = 33189,
STENCIL_INDEX = 6401,
STENCIL_INDEX8 = 36168,
DEPTH_STENCIL = 34041,
RENDERBUFFER_WIDTH = 36162,
RENDERBUFFER_HEIGHT = 36163,
RENDERBUFFER_INTERNAL_FORMAT = 36164,
RENDERBUFFER_RED_SIZE = 36176,
RENDERBUFFER_GREEN_SIZE = 36177,
RENDERBUFFER_BLUE_SIZE = 36178,
RENDERBUFFER_ALPHA_SIZE = 36179,
RENDERBUFFER_DEPTH_SIZE = 36180,
RENDERBUFFER_STENCIL_SIZE = 36181,
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048,
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049,
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050,
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051,
COLOR_ATTACHMENT0 = 36064,
DEPTH_ATTACHMENT = 36096,
STENCIL_ATTACHMENT = 36128,
DEPTH_STENCIL_ATTACHMENT = 33306,
NONE = 0,
FRAMEBUFFER_COMPLETE = 36053,
FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054,
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055,
FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057,
FRAMEBUFFER_UNSUPPORTED = 36061,
FRAMEBUFFER_BINDING = 36006,
RENDERBUFFER_BINDING = 36007,
MAX_RENDERBUFFER_SIZE = 34024,
INVALID_FRAMEBUFFER_OPERATION = 1286,
UNPACK_FLIP_Y_WEBGL = 37440,
UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441,
CONTEXT_LOST_WEBGL = 37442,
UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443,
BROWSER_DEFAULT_WEBGL = 37444,
COMPRESSED_RGB_S3TC_DXT1_EXT = 33776,
COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777,
COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778,
COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779,
COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840,
COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841,
COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842,
COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843,
COMPRESSED_RGB_ETC1_WEBGL = 36196,
DOUBLE = 5130,
READ_BUFFER = 3074,
UNPACK_ROW_LENGTH = 3314,
UNPACK_SKIP_ROWS = 3315,
UNPACK_SKIP_PIXELS = 3316,
PACK_ROW_LENGTH = 3330,
PACK_SKIP_ROWS = 3331,
PACK_SKIP_PIXELS = 3332,
COLOR = 6144,
DEPTH = 6145,
STENCIL = 6146,
RED = 6403,
RGB8 = 32849,
RGBA8 = 32856,
RGB10_A2 = 32857,
TEXTURE_BINDING_3D = 32874,
UNPACK_SKIP_IMAGES = 32877,
UNPACK_IMAGE_HEIGHT = 32878,
TEXTURE_3D = 32879,
TEXTURE_WRAP_R = 32882,
MAX_3D_TEXTURE_SIZE = 32883,
UNSIGNED_INT_2_10_10_10_REV = 33640,
MAX_ELEMENTS_VERTICES = 33000,
MAX_ELEMENTS_INDICES = 33001,
TEXTURE_MIN_LOD = 33082,
TEXTURE_MAX_LOD = 33083,
TEXTURE_BASE_LEVEL = 33084,
TEXTURE_MAX_LEVEL = 33085,
MIN = 32775,
MAX = 32776,
DEPTH_COMPONENT24 = 33190,
MAX_TEXTURE_LOD_BIAS = 34045,
TEXTURE_COMPARE_MODE = 34892,
TEXTURE_COMPARE_FUNC = 34893,
CURRENT_QUERY = 34917,
QUERY_RESULT = 34918,
QUERY_RESULT_AVAILABLE = 34919,
STREAM_READ = 35041,
STREAM_COPY = 35042,
STATIC_READ = 35045,
STATIC_COPY = 35046,
DYNAMIC_READ = 35049,
DYNAMIC_COPY = 35050,
MAX_DRAW_BUFFERS = 34852,
DRAW_BUFFER0 = 34853,
DRAW_BUFFER1 = 34854,
DRAW_BUFFER2 = 34855,
DRAW_BUFFER3 = 34856,
DRAW_BUFFER4 = 34857,
DRAW_BUFFER5 = 34858,
DRAW_BUFFER6 = 34859,
DRAW_BUFFER7 = 34860,
DRAW_BUFFER8 = 34861,
DRAW_BUFFER9 = 34862,
DRAW_BUFFER10 = 34863,
DRAW_BUFFER11 = 34864,
DRAW_BUFFER12 = 34865,
DRAW_BUFFER13 = 34866,
DRAW_BUFFER14 = 34867,
DRAW_BUFFER15 = 34868,
MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657,
MAX_VERTEX_UNIFORM_COMPONENTS = 35658,
SAMPLER_3D = 35679,
SAMPLER_2D_SHADOW = 35682,
FRAGMENT_SHADER_DERIVATIVE_HINT = 35723,
PIXEL_PACK_BUFFER = 35051,
PIXEL_UNPACK_BUFFER = 35052,
PIXEL_PACK_BUFFER_BINDING = 35053,
PIXEL_UNPACK_BUFFER_BINDING = 35055,
FLOAT_MAT2X3 = 35685,
FLOAT_MAT2X4 = 35686,
FLOAT_MAT3X2 = 35687,
FLOAT_MAT3X4 = 35688,
FLOAT_MAT4X2 = 35689,
FLOAT_MAT4X3 = 35690,
SRGB = 35904,
SRGB8 = 35905,
SRGB8_ALPHA8 = 35907,
COMPARE_REF_TO_TEXTURE = 34894,
RGBA32F = 34836,
RGB32F = 34837,
RGBA16F = 34842,
RGB16F = 34843,
VERTEX_ATTRIB_ARRAY_INTEGER = 35069,
MAX_ARRAY_TEXTURE_LAYERS = 35071,
MIN_PROGRAM_TEXEL_OFFSET = 35076,
MAX_PROGRAM_TEXEL_OFFSET = 35077,
MAX_VARYING_COMPONENTS = 35659,
TEXTURE_2D_ARRAY = 35866,
TEXTURE_BINDING_2D_ARRAY = 35869,
R11F_G11F_B10F = 35898,
UNSIGNED_INT_10F_11F_11F_REV = 35899,
RGB9_E5 = 35901,
UNSIGNED_INT_5_9_9_9_REV = 35902,
TRANSFORM_FEEDBACK_BUFFER_MODE = 35967,
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968,
TRANSFORM_FEEDBACK_VARYINGS = 35971,
TRANSFORM_FEEDBACK_BUFFER_START = 35972,
TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973,
TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976,
RASTERIZER_DISCARD = 35977,
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978,
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979,
INTERLEAVED_ATTRIBS = 35980,
SEPARATE_ATTRIBS = 35981,
TRANSFORM_FEEDBACK_BUFFER = 35982,
TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983,
RGBA32UI = 36208,
RGB32UI = 36209,
RGBA16UI = 36214,
RGB16UI = 36215,
RGBA8UI = 36220,
RGB8UI = 36221,
RGBA32I = 36226,
RGB32I = 36227,
RGBA16I = 36232,
RGB16I = 36233,
RGBA8I = 36238,
RGB8I = 36239,
RED_INTEGER = 36244,
RGB_INTEGER = 36248,
RGBA_INTEGER = 36249,
SAMPLER_2D_ARRAY = 36289,
SAMPLER_2D_ARRAY_SHADOW = 36292,
SAMPLER_CUBE_SHADOW = 36293,
UNSIGNED_INT_VEC2 = 36294,
UNSIGNED_INT_VEC3 = 36295,
UNSIGNED_INT_VEC4 = 36296,
INT_SAMPLER_2D = 36298,
INT_SAMPLER_3D = 36299,
INT_SAMPLER_CUBE = 36300,
INT_SAMPLER_2D_ARRAY = 36303,
UNSIGNED_INT_SAMPLER_2D = 36306,
UNSIGNED_INT_SAMPLER_3D = 36307,
UNSIGNED_INT_SAMPLER_CUBE = 36308,
UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311,
DEPTH_COMPONENT32F = 36012,
DEPTH32F_STENCIL8 = 36013,
FLOAT_32_UNSIGNED_INT_24_8_REV = 36269,
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296,
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297,
FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298,
FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299,
FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300,
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301,
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302,
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303,
FRAMEBUFFER_DEFAULT = 33304,
UNSIGNED_INT_24_8 = 34042,
DEPTH24_STENCIL8 = 35056,
UNSIGNED_NORMALIZED = 35863,
DRAW_FRAMEBUFFER_BINDING = 36006,
READ_FRAMEBUFFER = 36008,
DRAW_FRAMEBUFFER = 36009,
READ_FRAMEBUFFER_BINDING = 36010,
RENDERBUFFER_SAMPLES = 36011,
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052,
MAX_COLOR_ATTACHMENTS = 36063,
COLOR_ATTACHMENT1 = 36065,
COLOR_ATTACHMENT2 = 36066,
COLOR_ATTACHMENT3 = 36067,
COLOR_ATTACHMENT4 = 36068,
COLOR_ATTACHMENT5 = 36069,
COLOR_ATTACHMENT6 = 36070,
COLOR_ATTACHMENT7 = 36071,
COLOR_ATTACHMENT8 = 36072,
COLOR_ATTACHMENT9 = 36073,
COLOR_ATTACHMENT10 = 36074,
COLOR_ATTACHMENT11 = 36075,
COLOR_ATTACHMENT12 = 36076,
COLOR_ATTACHMENT13 = 36077,
COLOR_ATTACHMENT14 = 36078,
COLOR_ATTACHMENT15 = 36079,
FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182,
MAX_SAMPLES = 36183,
HALF_FLOAT = 5131,
HALF_FLOAT_OES = 36193,
RG = 33319,
RG_INTEGER = 33320,
R8 = 33321,
RG8 = 33323,
R16F = 33325,
R32F = 33326,
RG16F = 33327,
RG32F = 33328,
R8I = 33329,
R8UI = 33330,
R16I = 33331,
R16UI = 33332,
R32I = 33333,
R32UI = 33334,
RG8I = 33335,
RG8UI = 33336,
RG16I = 33337,
RG16UI = 33338,
RG32I = 33339,
RG32UI = 33340,
VERTEX_ARRAY_BINDING = 34229,
R8_SNORM = 36756,
RG8_SNORM = 36757,
RGB8_SNORM = 36758,
RGBA8_SNORM = 36759,
SIGNED_NORMALIZED = 36764,
COPY_READ_BUFFER = 36662,
COPY_WRITE_BUFFER = 36663,
COPY_READ_BUFFER_BINDING = 36662,
COPY_WRITE_BUFFER_BINDING = 36663,
UNIFORM_BUFFER = 35345,
UNIFORM_BUFFER_BINDING = 35368,
UNIFORM_BUFFER_START = 35369,
UNIFORM_BUFFER_SIZE = 35370,
MAX_VERTEX_UNIFORM_BLOCKS = 35371,
MAX_FRAGMENT_UNIFORM_BLOCKS = 35373,
MAX_COMBINED_UNIFORM_BLOCKS = 35374,
MAX_UNIFORM_BUFFER_BINDINGS = 35375,
MAX_UNIFORM_BLOCK_SIZE = 35376,
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377,
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379,
UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380,
ACTIVE_UNIFORM_BLOCKS = 35382,
UNIFORM_TYPE = 35383,
UNIFORM_SIZE = 35384,
UNIFORM_BLOCK_INDEX = 35386,
UNIFORM_OFFSET = 35387,
UNIFORM_ARRAY_STRIDE = 35388,
UNIFORM_MATRIX_STRIDE = 35389,
UNIFORM_IS_ROW_MAJOR = 35390,
UNIFORM_BLOCK_BINDING = 35391,
UNIFORM_BLOCK_DATA_SIZE = 35392,
UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394,
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395,
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396,
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398,
INVALID_INDEX = 4294967295,
MAX_VERTEX_OUTPUT_COMPONENTS = 37154,
MAX_FRAGMENT_INPUT_COMPONENTS = 37157,
MAX_SERVER_WAIT_TIMEOUT = 37137,
OBJECT_TYPE = 37138,
SYNC_CONDITION = 37139,
SYNC_STATUS = 37140,
SYNC_FLAGS = 37141,
SYNC_FENCE = 37142,
SYNC_GPU_COMMANDS_COMPLETE = 37143,
UNSIGNALED = 37144,
SIGNALED = 37145,
ALREADY_SIGNALED = 37146,
TIMEOUT_EXPIRED = 37147,
CONDITION_SATISFIED = 37148,
WAIT_FAILED = 37149,
SYNC_FLUSH_COMMANDS_BIT = 1,
VERTEX_ATTRIB_ARRAY_DIVISOR = 35070,
ANY_SAMPLES_PASSED = 35887,
ANY_SAMPLES_PASSED_CONSERVATIVE = 36202,
SAMPLER_BINDING = 35097,
RGB10_A2UI = 36975,
INT_2_10_10_10_REV = 36255,
TRANSFORM_FEEDBACK = 36386,
TRANSFORM_FEEDBACK_PAUSED = 36387,
TRANSFORM_FEEDBACK_ACTIVE = 36388,
TRANSFORM_FEEDBACK_BINDING = 36389,
COMPRESSED_R11_EAC = 37488,
COMPRESSED_SIGNED_R11_EAC = 37489,
COMPRESSED_RG11_EAC = 37490,
COMPRESSED_SIGNED_RG11_EAC = 37491,
COMPRESSED_RGB8_ETC2 = 37492,
COMPRESSED_SRGB8_ETC2 = 37493,
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494,
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495,
COMPRESSED_RGBA8_ETC2_EAC = 37496,
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497,
TEXTURE_IMMUTABLE_FORMAT = 37167,
MAX_ELEMENT_INDEX = 36203,
TEXTURE_IMMUTABLE_LEVELS = 33503,
MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047
}
import { IbassProgramInfo, IvertexAttrib, IattributeInfo, IuniformInfo, IprogramOptions, IprogramInfo, IprogramState, ItextureInfo } from "./Type";
export declare enum ShaderTypeEnum {
VS = 0,
FS = 1
}
export declare function createProgramInfo(gl: WebGLRenderingContext, op: IprogramOptions): Program;
/**
* bing program 、set uniforms 、set webgl states
* @param gl
* @param program
*/
export declare function setProgram(gl: WebGLRenderingContext, program: IprogramInfo): void;
export declare function setProgramWithCached(gl: WebGLRenderingContext, program: IprogramInfo): void;
export declare function setProgramUniforms(info: IbassProgramInfo, uniforms: {
[name: string]: any;
}): void;
declare class Program implements IprogramInfo {
bassProgram: IbassProgramInfo;
uniforms?: {
[name: string]: any;
};
states?: IprogramState;
}
declare class BassProgram implements IbassProgramInfo {
readonly id: number;
programName: string;
program: WebGLProgram;
uniformsDic: {
[name: string]: IuniformInfo;
};
attsDic: {
[name: string]: IattributeInfo;
};
constructor(programName: string, program: WebGLProgram, uniformsDic: {
[name: string]: IuniformInfo;
}, attsDic: {
[name: string]: IattributeInfo;
});
private static count;
static nextID(): number;
}
export declare function createBassProgramInfo(gl: WebGLRenderingContext, vs: string, fs: string, name: string): BassProgram;
export declare function getAttributesInfo(gl: WebGLRenderingContext, program: WebGLProgram): {
[attName: string]: IattributeInfo;
};
export declare function getUniformsInfo(gl: WebGLRenderingContext, program: WebGLProgram): {
[name: string]: IuniformInfo;
};
export declare function createShader(gl: WebGLRenderingContext, type: ShaderTypeEnum, source: string, name?: string): {
shaderType: ShaderTypeEnum;
shaderName: string;
shader: WebGLShader;
};
export declare function getUniformSetter(gl: WebGLRenderingContext, uniformType: number, beArray: boolean, location: WebGLUniformLocation, bindpoint: number): ((value: Float32Array) => void) | ((value: number[]) => void) | ((value: number) => void) | ((value: ItextureInfo) => void);
export declare function getAttributeSetter(gl: WebGLRenderingContext, location: number): (value: IvertexAttrib) => void;
export {};
import { ItexViewDataOption, ItexImageDataOption, ItextureInfo } from "./Type";
export declare function createTextureFromTypedArray(gl: WebGLRenderingContext, texOP: ItexViewDataOption): ItextureInfo;
export declare function createTextureFromImageSource(gl: WebGLRenderingContext, texOP: ItexImageDataOption): ItextureInfo;
import { IcontextOptions, IgeometryInfo, IprogramInfo, Iobject } from "./Type";
declare global {
interface WebGLVertexArrayObject extends WebGLObject {
}
interface WebGLRenderingContext {
beWebgl2: boolean;
bindpoint: number;
beActiveVao: boolean;
beActiveInstance: boolean;
addExtension(extName: string): void;
createVertexArray(): any;
bindVertexArray(vao?: WebGLVertexArrayObject | null): void;
deleteVertexArray(vao: WebGLVertexArrayObject): void;
vertexAttribDivisor(index: number, divisor: number): void;
drawElementsInstanced(mode: number, count: number, type: number, offset: number, instanceCount: number): void;
drawArraysInstanced(mode: number, first: number, count: number, instanceCount: number): void;
}
}
export declare function setUpWebgl(canvas: HTMLCanvasElement, options?: IcontextOptions): WebGLRenderingContext;
export declare function setGeometryAndProgram(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
export declare function setGeometryAndProgramWithCached(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
export declare function drawBufferInfo(gl: WebGLRenderingContext, geometry: IgeometryInfo, instanceCount?: number): void;
export declare function drawObject(gl: WebGLRenderingContext, obj: Iobject, instanceCount?: number): void;
export declare function createGlBuffer(gl: WebGLRenderingContext, target: number, viewData: ArrayBufferView): WebGLBuffer;
export * from "./GeometryInfo";
export * from "./VertexAttribute";
export * from "./VertexIndex";
export * from "./ProgramInfo";
export * from "./FrameBuffer";
export * from "./GlConstant";
export * from "./State";
export * from "./Texture";
export * from "./Helper";
export declare type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
/**
* vertex attribute/index 的数据源类型
*/
export declare type IviewArr = number[] | ArrayBufferView | IviewData;
/**
* webglcontext的 可选属性
*/
export interface IcontextAtt {
premultipliedAlpha?: boolean;
alpha?: boolean;
stencil?: boolean;
}
/**
* 创建webglcontext的 附属信息
*/
export interface IcontextOptions {
context?: string;
contextAtts?: IcontextAtt;
extentions?: string[];
}
/**
* buffer和value 必须存在一个;
*/
export interface IviewData {
value?: number[] | ArrayBufferView;
count?: number;
glBuffer?: WebGLBuffer;
drawType?: number;
componentSize?: number;
componentDataType?: number;
normalize?: boolean;
bytesStride?: number;
bytesOffset?: number;
divisor?: number;
}
/**
* 顶点属性信息
*/
export interface IvertexAttrib {
name: string;
viewBuffer?: ArrayBufferView;
count?: number;
glBuffer: WebGLBuffer;
drawType: number;
componentSize: number;
componentDataType: number;
normalize: boolean;
bytesStride: number;
bytesOffset: number;
divisor?: number;
}
/**
* 调用draw api 时候可选参数
*/
export declare class IDrawInfo {
mode?: number;
count?: number;
offset?: number;
}
/**
* 顶点索引信息
*/
export interface IvertexIndex {
name: string;
viewBuffer?: ArrayBufferView;
count?: number;
componentDataType: number;
glBuffer: WebGLBuffer;
drawType?: number;
}
/**
* 模型信息
*/
export interface IgeometryInfo {
name?: string;
atts: {
[attName: string]: IvertexAttrib;
};
indices?: IvertexIndex;
vaoDic: {
[programeId: number]: WebGLVertexArrayObject;
};
count: number;
offset: number;
primitiveType: number;
}
/**
* shaderProgram 的uniform info
*/
export interface IuniformInfo {
name: string;
type: number;
location: WebGLUniformLocation;
setter: (value: any) => void;
}
/**
* shderprogram的 attribute info
*/
export interface IattributeInfo {
name: string;
location: number;
setter: (value: IvertexAttrib) => void;
}
/**
* shaderprogram
*/
export interface IbassProgramInfo {
readonly id: number;
programName: string;
program: WebGLProgram;
uniformsDic: {
[name: string]: IuniformInfo;
};
attsDic: {
[name: string]: IattributeInfo;
};
}
export interface IbassProgramOption {
vs: string;
fs: string;
name?: string;
}
export interface IprogramState {
/**
* 标志符号
*/
beDeduce?: boolean;
/**
* default= true
*/
enableCullFace?: boolean;
/**
* default= true
*/
cullBack?: boolean;
/**
* default =true;
*/
depthWrite?: boolean;
/**
* deafult =true;
*/
depthTest?: boolean;
/**
* common gl.LEQUAL, gl.ALWAYS ,gl.NEVER ,gl.LESS
*
*/
depthTestFuc?: number;
/**
* default =false
*/
enableBlend?: boolean;
/**
* gl.FUNC_ADD: 源+目的地(默认值),
* gl.FUNC_SUBTRACT: 源 - 目的地,
* gl.FUNC_REVERSE_SUBTRACT: 目的地 - 源
*
* default = gl.FUNC_ADD;
*
* https://developer.mozilla.org/zh-CN/docs/Web/API/WebGLRenderingContext/blendEquation
*/
blendEquation?: number;
/**
* common:gl.ONE, gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA
*
* deault = gl.SRC_ALPHA;
*
* https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc
*/
blendSrc?: number;
/**
* common:gl.ONE, gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA
*
* deault = gl.ONE_MINUS_SRC_ALPHA;
*
* https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc
*/
blendDst?: number;
/**
* default = false
*/
enableStencilTest?: boolean;
/**
* gl.NEVER: Never pass.
*
* gl.LESS: Pass if (ref & mask) < (stencil & mask).
*
* gl.EQUAL: Pass if (ref & mask) = (stencil & mask).
*
* gl.LEQUAL: Pass if (ref & mask) <= (stencil & mask).
*
* gl.GREATER: Pass if (ref & mask) > (stencil & mask).
*
* gl.NOTEQUAL: Pass if (ref & mask) != (stencil & mask).
*
* gl.GEQUAL: Pass if (ref & mask) >= (stencil & mask).
*
* gl.ALWAYS: Always pass.
*
* default= gl.ALWAYS
*/
stencilFunc?: number;
/**
* default = 0xFF
*/
stencilMask?: number;
/**
*
*/
stencilRefValue?: number;
/**
* gl.keep gl.REPLACE
*
* default=gl.keep
*/
stencilPassZfail?: number;
/**
* gl.keep gl.REPLACE
*
* default=gl.keep
*/
stencilFaileZpass?: number;
/**
* gl.keep gl.REPLACE
*
* default=gl.keep
*/
stencilFail?: number;
/**
* r , g , b ,a
*
* default r=true ,g= true ,b= true, a=true
*/
colorMask?: [];
}
/**
* contain bassprogram(shader)、uniforms设参、states设参
*/
export interface IprogramInfo {
bassProgram: IbassProgramInfo;
uniforms?: {
[name: string]: any;
};
states?: IprogramState;
}
export interface IprogramOptions {
program: IbassProgramInfo | IbassProgramOption;
uniforms?: {
[name: string]: any;
};
states?: IprogramState;
}
export interface IgeometryOptions {
name?: string;
atts: {
[keyName: string]: IviewArr;
};
indices?: IviewArr;
primitiveType?: number;
}
export interface Iobject {
geometry: IgeometryInfo;
program: IprogramInfo;
}
export interface ItextureInfo {
texture: WebGLTexture;
texDes: ItextureDesInfo;
}
export interface ItextureDesInfo {
target?: number;
filterMax?: number;
filterMin?: number;
/**
* 为了uv滚动
*/
wrapS?: number;
wrapT?: number;
pixelFormat?: number;
enableMipMap?: boolean;
width?: number;
height?: number;
}
export interface ItexViewDataOption extends ItextureDesInfo {
viewData: ArrayBufferView;
/**
* when data is A Uint8Array , pixelDatatype can be gl.UNSIGNED_BYTE.
*
* when data is A Uint16Array , pixelDatatype can be gl.UNSIGNED_SHORT_5_6_5, gl.UNSIGNED_SHORT_4_4_4_4, gl.UNSIGNED_SHORT_5_5_5_1, gl.UNSIGNED_SHORT or ext.HALF_FLOAT_OES.
*
* when data is A Uint32Array , pixelDatatype can be is gl.UNSIGNED_INT or ext.UNSIGNED_INT_24_8_WEBGL.
*
* when data is A Float32Array , pixelDatatype can be gl.FLOAT.
*/
pixelDatatype?: number;
width: number;
height: number;
mipmaps?: {
width: number;
height: number;
viewData: ArrayBufferView;
}[];
}
export interface ItexImageDataOption extends ItextureDesInfo {
img: TexImageSource;
pixelDatatype?: number;
width?: number;
height?: number;
mipmaps?: {
img: TexImageSource;
}[];
}
+12
-7

@@ -5,17 +5,22 @@ import { ItextureInfo } from "./Type";

height?: number;
colorTexOp?: ItexAttachment;
/**
* default =true
* default =false
*/
enableDepth?: boolean;
activeDepthAttachment?: boolean;
depthFormat?: number;
depthTexOp?: ItexAttachment;
/**
* default =true
* default =false
*/
enableStencil?: boolean;
activeStencilAttachment?: boolean;
stencilFormat?: number;
activeDepthStencilAttachment?: boolean;
depthStencilFormat?: number;
}
export interface ItexAttachment {
layer?: number;
level?: number;
texTarget?: number;
attachment?: any;
format: number;
pixelFormat?: number;
pixelDatatype?: number;
filterMax?: number;

@@ -22,0 +27,0 @@ filterMin?: number;

{
"name": "twebgl",
"version": "0.1.48",
"version": "0.1.49",
"description": "",

@@ -5,0 +5,0 @@ "keywords": [],

import { IgeometryInfo, IgeometryOptions, IprogramInfo } from "./Type";
export declare function createGeometryInfo(gl: WebGLRenderingContext, op: IgeometryOptions): IgeometryInfo;
/**
* tips : setProgrameWithcached need behind (setGeometryWithAdvanced/setGeometryWithCached),when draw obj
* @param gl
* @param geometry
* @param program
*/
export declare function setGeometryWithAdvanced(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
export declare function setGeometry(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
/**
* tips : setProgrameWithcached need behind (setGeometryWithAdvanced/setGeometryWithCached),when draw obj
* @param gl
* @param geometry
* @param program
*/
export declare function setGeometryWithCached(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
/**
* 创建vao将geometry和program绑定
*/
export declare function createVaoByPrograme(gl: WebGLRenderingContext, program: IprogramInfo, geometry: IgeometryInfo): WebGLVertexArrayObject;
/**
* Enum containing WebGL Constant values by name.
* for use without an active WebGL context, or in cases where certain constants are unavailable using the WebGL context
* (For example, in [Safari 9]{@link https://github.com/AnalyticalGraphicsInc/cesium/issues/2989}).
*
* These match the constants from the [WebGL 1.0]{@link https://www.khronos.org/registry/webgl/specs/latest/1.0/}
* and [WebGL 2.0]{@link https://www.khronos.org/registry/webgl/specs/latest/2.0/}
* specifications.
*/
export declare enum GlConstants {
DEPTH_BUFFER_BIT = 256,
STENCIL_BUFFER_BIT = 1024,
COLOR_BUFFER_BIT = 16384,
POINTS = 0,
LINES = 1,
LINE_LOOP = 2,
LINE_STRIP = 3,
TRIANGLES = 4,
TRIANGLE_STRIP = 5,
TRIANGLE_FAN = 6,
ZERO = 0,
ONE = 1,
SRC_COLOR = 768,
ONE_MINUS_SRC_COLOR = 769,
SRC_ALPHA = 770,
ONE_MINUS_SRC_ALPHA = 771,
DST_ALPHA = 772,
ONE_MINUS_DST_ALPHA = 773,
DST_COLOR = 774,
ONE_MINUS_DST_COLOR = 775,
SRC_ALPHA_SATURATE = 776,
FUNC_ADD = 32774,
BLEND_EQUATION = 32777,
BLEND_EQUATION_RGB = 32777,
BLEND_EQUATION_ALPHA = 34877,
FUNC_SUBTRACT = 32778,
FUNC_REVERSE_SUBTRACT = 32779,
BLEND_DST_RGB = 32968,
BLEND_SRC_RGB = 32969,
BLEND_DST_ALPHA = 32970,
BLEND_SRC_ALPHA = 32971,
CONSTANT_COLOR = 32769,
ONE_MINUS_CONSTANT_COLOR = 32770,
CONSTANT_ALPHA = 32771,
ONE_MINUS_CONSTANT_ALPHA = 32772,
BLEND_COLOR = 32773,
ARRAY_BUFFER = 34962,
ELEMENT_ARRAY_BUFFER = 34963,
ARRAY_BUFFER_BINDING = 34964,
ELEMENT_ARRAY_BUFFER_BINDING = 34965,
STREAM_DRAW = 35040,
STATIC_DRAW = 35044,
DYNAMIC_DRAW = 35048,
BUFFER_SIZE = 34660,
BUFFER_USAGE = 34661,
CURRENT_VERTEX_ATTRIB = 34342,
FRONT = 1028,
BACK = 1029,
FRONT_AND_BACK = 1032,
CULL_FACE = 2884,
BLEND = 3042,
DITHER = 3024,
STENCIL_TEST = 2960,
DEPTH_TEST = 2929,
SCISSOR_TEST = 3089,
POLYGON_OFFSET_FILL = 32823,
SAMPLE_ALPHA_TO_COVERAGE = 32926,
SAMPLE_COVERAGE = 32928,
NO_ERROR = 0,
INVALID_ENUM = 1280,
INVALID_VALUE = 1281,
INVALID_OPERATION = 1282,
OUT_OF_MEMORY = 1285,
CW = 2304,
CCW = 2305,
LINE_WIDTH = 2849,
ALIASED_POINT_SIZE_RANGE = 33901,
ALIASED_LINE_WIDTH_RANGE = 33902,
CULL_FACE_MODE = 2885,
FRONT_FACE = 2886,
DEPTH_RANGE = 2928,
DEPTH_WRITEMASK = 2930,
DEPTH_CLEAR_VALUE = 2931,
DEPTH_FUNC = 2932,
STENCIL_CLEAR_VALUE = 2961,
STENCIL_FUNC = 2962,
STENCIL_FAIL = 2964,
STENCIL_PASS_DEPTH_FAIL = 2965,
STENCIL_PASS_DEPTH_PASS = 2966,
STENCIL_REF = 2967,
STENCIL_VALUE_MASK = 2963,
STENCIL_WRITEMASK = 2968,
STENCIL_BACK_FUNC = 34816,
STENCIL_BACK_FAIL = 34817,
STENCIL_BACK_PASS_DEPTH_FAIL = 34818,
STENCIL_BACK_PASS_DEPTH_PASS = 34819,
STENCIL_BACK_REF = 36003,
STENCIL_BACK_VALUE_MASK = 36004,
STENCIL_BACK_WRITEMASK = 36005,
VIEWPORT = 2978,
SCISSOR_BOX = 3088,
COLOR_CLEAR_VALUE = 3106,
COLOR_WRITEMASK = 3107,
UNPACK_ALIGNMENT = 3317,
PACK_ALIGNMENT = 3333,
MAX_TEXTURE_SIZE = 3379,
MAX_VIEWPORT_DIMS = 3386,
SUBPIXEL_BITS = 3408,
RED_BITS = 3410,
GREEN_BITS = 3411,
BLUE_BITS = 3412,
ALPHA_BITS = 3413,
DEPTH_BITS = 3414,
STENCIL_BITS = 3415,
POLYGON_OFFSET_UNITS = 10752,
POLYGON_OFFSET_FACTOR = 32824,
TEXTURE_BINDING_2D = 32873,
SAMPLE_BUFFERS = 32936,
SAMPLES = 32937,
SAMPLE_COVERAGE_VALUE = 32938,
SAMPLE_COVERAGE_INVERT = 32939,
COMPRESSED_TEXTURE_FORMATS = 34467,
DONT_CARE = 4352,
FASTEST = 4353,
NICEST = 4354,
GENERATE_MIPMAP_HINT = 33170,
BYTE = 5120,
UNSIGNED_BYTE = 5121,
SHORT = 5122,
UNSIGNED_SHORT = 5123,
INT = 5124,
UNSIGNED_INT = 5125,
FLOAT = 5126,
DEPTH_COMPONENT = 6402,
ALPHA = 6406,
RGB = 6407,
RGBA = 6408,
LUMINANCE = 6409,
LUMINANCE_ALPHA = 6410,
UNSIGNED_SHORT_4_4_4_4 = 32819,
UNSIGNED_SHORT_5_5_5_1 = 32820,
UNSIGNED_SHORT_5_6_5 = 33635,
FRAGMENT_SHADER = 35632,
VERTEX_SHADER = 35633,
MAX_VERTEX_ATTRIBS = 34921,
MAX_VERTEX_UNIFORM_VECTORS = 36347,
MAX_VARYING_VECTORS = 36348,
MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661,
MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660,
MAX_TEXTURE_IMAGE_UNITS = 34930,
MAX_FRAGMENT_UNIFORM_VECTORS = 36349,
SHADER_TYPE = 35663,
DELETE_STATUS = 35712,
LINK_STATUS = 35714,
VALIDATE_STATUS = 35715,
ATTACHED_SHADERS = 35717,
ACTIVE_UNIFORMS = 35718,
ACTIVE_ATTRIBUTES = 35721,
SHADING_LANGUAGE_VERSION = 35724,
CURRENT_PROGRAM = 35725,
NEVER = 512,
LESS = 513,
EQUAL = 514,
LEQUAL = 515,
GREATER = 516,
NOTEQUAL = 517,
GEQUAL = 518,
ALWAYS = 519,
KEEP = 7680,
REPLACE = 7681,
INCR = 7682,
DECR = 7683,
INVERT = 5386,
INCR_WRAP = 34055,
DECR_WRAP = 34056,
VENDOR = 7936,
RENDERER = 7937,
VERSION = 7938,
NEAREST = 9728,
LINEAR = 9729,
NEAREST_MIPMAP_NEAREST = 9984,
LINEAR_MIPMAP_NEAREST = 9985,
NEAREST_MIPMAP_LINEAR = 9986,
LINEAR_MIPMAP_LINEAR = 9987,
TEXTURE_MAG_FILTER = 10240,
TEXTURE_MIN_FILTER = 10241,
TEXTURE_WRAP_S = 10242,
TEXTURE_WRAP_T = 10243,
TEXTURE_2D = 3553,
TEXTURE = 5890,
TEXTURE_CUBE_MAP = 34067,
TEXTURE_BINDING_CUBE_MAP = 34068,
TEXTURE_CUBE_MAP_POSITIVE_X = 34069,
TEXTURE_CUBE_MAP_NEGATIVE_X = 34070,
TEXTURE_CUBE_MAP_POSITIVE_Y = 34071,
TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072,
TEXTURE_CUBE_MAP_POSITIVE_Z = 34073,
TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074,
MAX_CUBE_MAP_TEXTURE_SIZE = 34076,
TEXTURE0 = 33984,
TEXTURE1 = 33985,
TEXTURE2 = 33986,
TEXTURE3 = 33987,
TEXTURE4 = 33988,
TEXTURE5 = 33989,
TEXTURE6 = 33990,
TEXTURE7 = 33991,
TEXTURE8 = 33992,
TEXTURE9 = 33993,
TEXTURE10 = 33994,
TEXTURE11 = 33995,
TEXTURE12 = 33996,
TEXTURE13 = 33997,
TEXTURE14 = 33998,
TEXTURE15 = 33999,
TEXTURE16 = 34000,
TEXTURE17 = 34001,
TEXTURE18 = 34002,
TEXTURE19 = 34003,
TEXTURE20 = 34004,
TEXTURE21 = 34005,
TEXTURE22 = 34006,
TEXTURE23 = 34007,
TEXTURE24 = 34008,
TEXTURE25 = 34009,
TEXTURE26 = 34010,
TEXTURE27 = 34011,
TEXTURE28 = 34012,
TEXTURE29 = 34013,
TEXTURE30 = 34014,
TEXTURE31 = 34015,
ACTIVE_TEXTURE = 34016,
REPEAT = 10497,
CLAMP_TO_EDGE = 33071,
MIRRORED_REPEAT = 33648,
FLOAT_VEC2 = 35664,
FLOAT_VEC3 = 35665,
FLOAT_VEC4 = 35666,
INT_VEC2 = 35667,
INT_VEC3 = 35668,
INT_VEC4 = 35669,
BOOL = 35670,
BOOL_VEC2 = 35671,
BOOL_VEC3 = 35672,
BOOL_VEC4 = 35673,
FLOAT_MAT2 = 35674,
FLOAT_MAT3 = 35675,
FLOAT_MAT4 = 35676,
SAMPLER_2D = 35678,
SAMPLER_CUBE = 35680,
VERTEX_ATTRIB_ARRAY_ENABLED = 34338,
VERTEX_ATTRIB_ARRAY_SIZE = 34339,
VERTEX_ATTRIB_ARRAY_STRIDE = 34340,
VERTEX_ATTRIB_ARRAY_TYPE = 34341,
VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922,
VERTEX_ATTRIB_ARRAY_POINTER = 34373,
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975,
IMPLEMENTATION_COLOR_READ_TYPE = 35738,
IMPLEMENTATION_COLOR_READ_FORMAT = 35739,
COMPILE_STATUS = 35713,
LOW_FLOAT = 36336,
MEDIUM_FLOAT = 36337,
HIGH_FLOAT = 36338,
LOW_INT = 36339,
MEDIUM_INT = 36340,
HIGH_INT = 36341,
FRAMEBUFFER = 36160,
RENDERBUFFER = 36161,
RGBA4 = 32854,
RGB5_A1 = 32855,
RGB565 = 36194,
DEPTH_COMPONENT16 = 33189,
STENCIL_INDEX = 6401,
STENCIL_INDEX8 = 36168,
DEPTH_STENCIL = 34041,
RENDERBUFFER_WIDTH = 36162,
RENDERBUFFER_HEIGHT = 36163,
RENDERBUFFER_INTERNAL_FORMAT = 36164,
RENDERBUFFER_RED_SIZE = 36176,
RENDERBUFFER_GREEN_SIZE = 36177,
RENDERBUFFER_BLUE_SIZE = 36178,
RENDERBUFFER_ALPHA_SIZE = 36179,
RENDERBUFFER_DEPTH_SIZE = 36180,
RENDERBUFFER_STENCIL_SIZE = 36181,
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048,
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049,
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050,
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051,
COLOR_ATTACHMENT0 = 36064,
DEPTH_ATTACHMENT = 36096,
STENCIL_ATTACHMENT = 36128,
DEPTH_STENCIL_ATTACHMENT = 33306,
NONE = 0,
FRAMEBUFFER_COMPLETE = 36053,
FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054,
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055,
FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057,
FRAMEBUFFER_UNSUPPORTED = 36061,
FRAMEBUFFER_BINDING = 36006,
RENDERBUFFER_BINDING = 36007,
MAX_RENDERBUFFER_SIZE = 34024,
INVALID_FRAMEBUFFER_OPERATION = 1286,
UNPACK_FLIP_Y_WEBGL = 37440,
UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441,
CONTEXT_LOST_WEBGL = 37442,
UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443,
BROWSER_DEFAULT_WEBGL = 37444,
COMPRESSED_RGB_S3TC_DXT1_EXT = 33776,
COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777,
COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778,
COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779,
COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840,
COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841,
COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842,
COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843,
COMPRESSED_RGB_ETC1_WEBGL = 36196,
DOUBLE = 5130,
READ_BUFFER = 3074,
UNPACK_ROW_LENGTH = 3314,
UNPACK_SKIP_ROWS = 3315,
UNPACK_SKIP_PIXELS = 3316,
PACK_ROW_LENGTH = 3330,
PACK_SKIP_ROWS = 3331,
PACK_SKIP_PIXELS = 3332,
COLOR = 6144,
DEPTH = 6145,
STENCIL = 6146,
RED = 6403,
RGB8 = 32849,
RGBA8 = 32856,
RGB10_A2 = 32857,
TEXTURE_BINDING_3D = 32874,
UNPACK_SKIP_IMAGES = 32877,
UNPACK_IMAGE_HEIGHT = 32878,
TEXTURE_3D = 32879,
TEXTURE_WRAP_R = 32882,
MAX_3D_TEXTURE_SIZE = 32883,
UNSIGNED_INT_2_10_10_10_REV = 33640,
MAX_ELEMENTS_VERTICES = 33000,
MAX_ELEMENTS_INDICES = 33001,
TEXTURE_MIN_LOD = 33082,
TEXTURE_MAX_LOD = 33083,
TEXTURE_BASE_LEVEL = 33084,
TEXTURE_MAX_LEVEL = 33085,
MIN = 32775,
MAX = 32776,
DEPTH_COMPONENT24 = 33190,
MAX_TEXTURE_LOD_BIAS = 34045,
TEXTURE_COMPARE_MODE = 34892,
TEXTURE_COMPARE_FUNC = 34893,
CURRENT_QUERY = 34917,
QUERY_RESULT = 34918,
QUERY_RESULT_AVAILABLE = 34919,
STREAM_READ = 35041,
STREAM_COPY = 35042,
STATIC_READ = 35045,
STATIC_COPY = 35046,
DYNAMIC_READ = 35049,
DYNAMIC_COPY = 35050,
MAX_DRAW_BUFFERS = 34852,
DRAW_BUFFER0 = 34853,
DRAW_BUFFER1 = 34854,
DRAW_BUFFER2 = 34855,
DRAW_BUFFER3 = 34856,
DRAW_BUFFER4 = 34857,
DRAW_BUFFER5 = 34858,
DRAW_BUFFER6 = 34859,
DRAW_BUFFER7 = 34860,
DRAW_BUFFER8 = 34861,
DRAW_BUFFER9 = 34862,
DRAW_BUFFER10 = 34863,
DRAW_BUFFER11 = 34864,
DRAW_BUFFER12 = 34865,
DRAW_BUFFER13 = 34866,
DRAW_BUFFER14 = 34867,
DRAW_BUFFER15 = 34868,
MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657,
MAX_VERTEX_UNIFORM_COMPONENTS = 35658,
SAMPLER_3D = 35679,
SAMPLER_2D_SHADOW = 35682,
FRAGMENT_SHADER_DERIVATIVE_HINT = 35723,
PIXEL_PACK_BUFFER = 35051,
PIXEL_UNPACK_BUFFER = 35052,
PIXEL_PACK_BUFFER_BINDING = 35053,
PIXEL_UNPACK_BUFFER_BINDING = 35055,
FLOAT_MAT2X3 = 35685,
FLOAT_MAT2X4 = 35686,
FLOAT_MAT3X2 = 35687,
FLOAT_MAT3X4 = 35688,
FLOAT_MAT4X2 = 35689,
FLOAT_MAT4X3 = 35690,
SRGB = 35904,
SRGB8 = 35905,
SRGB8_ALPHA8 = 35907,
COMPARE_REF_TO_TEXTURE = 34894,
RGBA32F = 34836,
RGB32F = 34837,
RGBA16F = 34842,
RGB16F = 34843,
VERTEX_ATTRIB_ARRAY_INTEGER = 35069,
MAX_ARRAY_TEXTURE_LAYERS = 35071,
MIN_PROGRAM_TEXEL_OFFSET = 35076,
MAX_PROGRAM_TEXEL_OFFSET = 35077,
MAX_VARYING_COMPONENTS = 35659,
TEXTURE_2D_ARRAY = 35866,
TEXTURE_BINDING_2D_ARRAY = 35869,
R11F_G11F_B10F = 35898,
UNSIGNED_INT_10F_11F_11F_REV = 35899,
RGB9_E5 = 35901,
UNSIGNED_INT_5_9_9_9_REV = 35902,
TRANSFORM_FEEDBACK_BUFFER_MODE = 35967,
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968,
TRANSFORM_FEEDBACK_VARYINGS = 35971,
TRANSFORM_FEEDBACK_BUFFER_START = 35972,
TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973,
TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976,
RASTERIZER_DISCARD = 35977,
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978,
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979,
INTERLEAVED_ATTRIBS = 35980,
SEPARATE_ATTRIBS = 35981,
TRANSFORM_FEEDBACK_BUFFER = 35982,
TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983,
RGBA32UI = 36208,
RGB32UI = 36209,
RGBA16UI = 36214,
RGB16UI = 36215,
RGBA8UI = 36220,
RGB8UI = 36221,
RGBA32I = 36226,
RGB32I = 36227,
RGBA16I = 36232,
RGB16I = 36233,
RGBA8I = 36238,
RGB8I = 36239,
RED_INTEGER = 36244,
RGB_INTEGER = 36248,
RGBA_INTEGER = 36249,
SAMPLER_2D_ARRAY = 36289,
SAMPLER_2D_ARRAY_SHADOW = 36292,
SAMPLER_CUBE_SHADOW = 36293,
UNSIGNED_INT_VEC2 = 36294,
UNSIGNED_INT_VEC3 = 36295,
UNSIGNED_INT_VEC4 = 36296,
INT_SAMPLER_2D = 36298,
INT_SAMPLER_3D = 36299,
INT_SAMPLER_CUBE = 36300,
INT_SAMPLER_2D_ARRAY = 36303,
UNSIGNED_INT_SAMPLER_2D = 36306,
UNSIGNED_INT_SAMPLER_3D = 36307,
UNSIGNED_INT_SAMPLER_CUBE = 36308,
UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311,
DEPTH_COMPONENT32F = 36012,
DEPTH32F_STENCIL8 = 36013,
FLOAT_32_UNSIGNED_INT_24_8_REV = 36269,
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296,
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297,
FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298,
FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299,
FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300,
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301,
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302,
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303,
FRAMEBUFFER_DEFAULT = 33304,
UNSIGNED_INT_24_8 = 34042,
DEPTH24_STENCIL8 = 35056,
UNSIGNED_NORMALIZED = 35863,
DRAW_FRAMEBUFFER_BINDING = 36006,
READ_FRAMEBUFFER = 36008,
DRAW_FRAMEBUFFER = 36009,
READ_FRAMEBUFFER_BINDING = 36010,
RENDERBUFFER_SAMPLES = 36011,
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052,
MAX_COLOR_ATTACHMENTS = 36063,
COLOR_ATTACHMENT1 = 36065,
COLOR_ATTACHMENT2 = 36066,
COLOR_ATTACHMENT3 = 36067,
COLOR_ATTACHMENT4 = 36068,
COLOR_ATTACHMENT5 = 36069,
COLOR_ATTACHMENT6 = 36070,
COLOR_ATTACHMENT7 = 36071,
COLOR_ATTACHMENT8 = 36072,
COLOR_ATTACHMENT9 = 36073,
COLOR_ATTACHMENT10 = 36074,
COLOR_ATTACHMENT11 = 36075,
COLOR_ATTACHMENT12 = 36076,
COLOR_ATTACHMENT13 = 36077,
COLOR_ATTACHMENT14 = 36078,
COLOR_ATTACHMENT15 = 36079,
FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182,
MAX_SAMPLES = 36183,
HALF_FLOAT = 5131,
HALF_FLOAT_OES = 36193,
RG = 33319,
RG_INTEGER = 33320,
R8 = 33321,
RG8 = 33323,
R16F = 33325,
R32F = 33326,
RG16F = 33327,
RG32F = 33328,
R8I = 33329,
R8UI = 33330,
R16I = 33331,
R16UI = 33332,
R32I = 33333,
R32UI = 33334,
RG8I = 33335,
RG8UI = 33336,
RG16I = 33337,
RG16UI = 33338,
RG32I = 33339,
RG32UI = 33340,
VERTEX_ARRAY_BINDING = 34229,
R8_SNORM = 36756,
RG8_SNORM = 36757,
RGB8_SNORM = 36758,
RGBA8_SNORM = 36759,
SIGNED_NORMALIZED = 36764,
COPY_READ_BUFFER = 36662,
COPY_WRITE_BUFFER = 36663,
COPY_READ_BUFFER_BINDING = 36662,
COPY_WRITE_BUFFER_BINDING = 36663,
UNIFORM_BUFFER = 35345,
UNIFORM_BUFFER_BINDING = 35368,
UNIFORM_BUFFER_START = 35369,
UNIFORM_BUFFER_SIZE = 35370,
MAX_VERTEX_UNIFORM_BLOCKS = 35371,
MAX_FRAGMENT_UNIFORM_BLOCKS = 35373,
MAX_COMBINED_UNIFORM_BLOCKS = 35374,
MAX_UNIFORM_BUFFER_BINDINGS = 35375,
MAX_UNIFORM_BLOCK_SIZE = 35376,
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377,
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379,
UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380,
ACTIVE_UNIFORM_BLOCKS = 35382,
UNIFORM_TYPE = 35383,
UNIFORM_SIZE = 35384,
UNIFORM_BLOCK_INDEX = 35386,
UNIFORM_OFFSET = 35387,
UNIFORM_ARRAY_STRIDE = 35388,
UNIFORM_MATRIX_STRIDE = 35389,
UNIFORM_IS_ROW_MAJOR = 35390,
UNIFORM_BLOCK_BINDING = 35391,
UNIFORM_BLOCK_DATA_SIZE = 35392,
UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394,
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395,
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396,
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398,
INVALID_INDEX = 4294967295,
MAX_VERTEX_OUTPUT_COMPONENTS = 37154,
MAX_FRAGMENT_INPUT_COMPONENTS = 37157,
MAX_SERVER_WAIT_TIMEOUT = 37137,
OBJECT_TYPE = 37138,
SYNC_CONDITION = 37139,
SYNC_STATUS = 37140,
SYNC_FLAGS = 37141,
SYNC_FENCE = 37142,
SYNC_GPU_COMMANDS_COMPLETE = 37143,
UNSIGNALED = 37144,
SIGNALED = 37145,
ALREADY_SIGNALED = 37146,
TIMEOUT_EXPIRED = 37147,
CONDITION_SATISFIED = 37148,
WAIT_FAILED = 37149,
SYNC_FLUSH_COMMANDS_BIT = 1,
VERTEX_ATTRIB_ARRAY_DIVISOR = 35070,
ANY_SAMPLES_PASSED = 35887,
ANY_SAMPLES_PASSED_CONSERVATIVE = 36202,
SAMPLER_BINDING = 35097,
RGB10_A2UI = 36975,
INT_2_10_10_10_REV = 36255,
TRANSFORM_FEEDBACK = 36386,
TRANSFORM_FEEDBACK_PAUSED = 36387,
TRANSFORM_FEEDBACK_ACTIVE = 36388,
TRANSFORM_FEEDBACK_BINDING = 36389,
COMPRESSED_R11_EAC = 37488,
COMPRESSED_SIGNED_R11_EAC = 37489,
COMPRESSED_RG11_EAC = 37490,
COMPRESSED_SIGNED_RG11_EAC = 37491,
COMPRESSED_RGB8_ETC2 = 37492,
COMPRESSED_SRGB8_ETC2 = 37493,
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494,
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495,
COMPRESSED_RGBA8_ETC2_EAC = 37496,
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497,
TEXTURE_IMMUTABLE_FORMAT = 37167,
MAX_ELEMENT_INDEX = 36203,
TEXTURE_IMMUTABLE_LEVELS = 33503,
MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047
}
import { IbassProgramInfo, IvertexAttrib, IattributeInfo, IuniformInfo, IprogramOptions, IprogramInfo, IprogramState, ItextureInfo } from "./Type";
export declare enum ShaderTypeEnum {
VS = 0,
FS = 1
}
export declare function createProgramInfo(gl: WebGLRenderingContext, op: IprogramOptions): Program;
/**
* bing program 、set uniforms 、set webgl states
* @param gl
* @param program
*/
export declare function setProgram(gl: WebGLRenderingContext, program: IprogramInfo): void;
export declare function setProgramWithCached(gl: WebGLRenderingContext, program: IprogramInfo): void;
export declare function setProgramUniforms(info: IbassProgramInfo, uniforms: {
[name: string]: any;
}): void;
declare class Program implements IprogramInfo {
bassProgram: IbassProgramInfo;
uniforms?: {
[name: string]: any;
};
states?: IprogramState;
}
declare class BassProgram implements IbassProgramInfo {
readonly id: number;
programName: string;
program: WebGLProgram;
uniformsDic: {
[name: string]: IuniformInfo;
};
attsDic: {
[name: string]: IattributeInfo;
};
constructor(programName: string, program: WebGLProgram, uniformsDic: {
[name: string]: IuniformInfo;
}, attsDic: {
[name: string]: IattributeInfo;
});
private static count;
static nextID(): number;
}
export declare function createBassProgramInfo(gl: WebGLRenderingContext, vs: string, fs: string, name: string): BassProgram;
export declare function getAttributesInfo(gl: WebGLRenderingContext, program: WebGLProgram): {
[attName: string]: IattributeInfo;
};
export declare function getUniformsInfo(gl: WebGLRenderingContext, program: WebGLProgram): {
[name: string]: IuniformInfo;
};
export declare function createShader(gl: WebGLRenderingContext, type: ShaderTypeEnum, source: string, name?: string): {
shaderType: ShaderTypeEnum;
shaderName: string;
shader: WebGLShader;
};
export declare function getUniformSetter(gl: WebGLRenderingContext, uniformType: number, beArray: boolean, location: WebGLUniformLocation, bindpoint: number): ((value: Float32Array) => void) | ((value: number[]) => void) | ((value: number) => void) | ((value: ItextureInfo) => void);
export declare function getAttributeSetter(gl: WebGLRenderingContext, location: number): (value: IvertexAttrib) => void;
export {};
import { ItexViewDataOption, ItexImageDataOption, ItextureInfo } from "./Type";
export declare function createTextureFromTypedArray(gl: WebGLRenderingContext, texOP: ItexViewDataOption): ItextureInfo;
export declare function createTextureFromImageSource(gl: WebGLRenderingContext, texOP: ItexImageDataOption): ItextureInfo;
import { IcontextOptions, IgeometryInfo, IprogramInfo, Iobject } from "./Type";
declare global {
interface WebGLVertexArrayObject extends WebGLObject {
}
interface WebGLRenderingContext {
beWebgl2: boolean;
bindpoint: number;
beActiveVao: boolean;
beActiveInstance: boolean;
addExtension(extName: string): void;
createVertexArray(): any;
bindVertexArray(vao?: WebGLVertexArrayObject | null): void;
deleteVertexArray(vao: WebGLVertexArrayObject): void;
vertexAttribDivisor(index: number, divisor: number): void;
drawElementsInstanced(mode: number, count: number, type: number, offset: number, instanceCount: number): void;
drawArraysInstanced(mode: number, first: number, count: number, instanceCount: number): void;
}
}
export declare function setUpWebgl(canvas: HTMLCanvasElement, options?: IcontextOptions): WebGLRenderingContext;
export declare function setGeometryAndProgram(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
export declare function setGeometryAndProgramWithCached(gl: WebGLRenderingContext, geometry: IgeometryInfo, program: IprogramInfo): void;
export declare function drawBufferInfo(gl: WebGLRenderingContext, geometry: IgeometryInfo, instanceCount?: number): void;
export declare function drawObject(gl: WebGLRenderingContext, obj: Iobject, instanceCount?: number): void;
export declare function createGlBuffer(gl: WebGLRenderingContext, target: number, viewData: ArrayBufferView): WebGLBuffer;
export * from "./GeometryInfo";
export * from "./VertexAttribute";
export * from "./VertexIndex";
export * from "./ProgramInfo";
export * from "./FrameBuffer";
export * from "./GlConstant";
export * from "./State";
export * from "./Texture";
export * from "./Helper";
export declare type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
/**
* vertex attribute/index 的数据源类型
*/
export declare type IviewArr = number[] | ArrayBufferView | IviewData;
/**
* webglcontext的 可选属性
*/
export interface IcontextAtt {
premultipliedAlpha?: boolean;
alpha?: boolean;
stencil?: boolean;
}
/**
* 创建webglcontext的 附属信息
*/
export interface IcontextOptions {
context?: string;
contextAtts?: IcontextAtt;
extentions?: string[];
}
/**
* buffer和value 必须存在一个;
*/
export interface IviewData {
value?: number[] | ArrayBufferView;
count?: number;
glBuffer?: WebGLBuffer;
drawType?: number;
componentSize?: number;
componentDataType?: number;
normalize?: boolean;
bytesStride?: number;
bytesOffset?: number;
divisor?: number;
}
/**
* 顶点属性信息
*/
export interface IvertexAttrib {
name: string;
viewBuffer?: ArrayBufferView;
count?: number;
glBuffer: WebGLBuffer;
drawType: number;
componentSize: number;
componentDataType: number;
normalize: boolean;
bytesStride: number;
bytesOffset: number;
divisor?: number;
}
/**
* 调用draw api 时候可选参数
*/
export declare class IDrawInfo {
mode?: number;
count?: number;
offset?: number;
}
/**
* 顶点索引信息
*/
export interface IvertexIndex {
name: string;
viewBuffer?: ArrayBufferView;
count?: number;
componentDataType: number;
glBuffer: WebGLBuffer;
drawType?: number;
}
/**
* 模型信息
*/
export interface IgeometryInfo {
name?: string;
atts: {
[attName: string]: IvertexAttrib;
};
indices?: IvertexIndex;
vaoDic: {
[programeId: number]: WebGLVertexArrayObject;
};
count: number;
offset: number;
primitiveType: number;
}
/**
* shaderProgram 的uniform info
*/
export interface IuniformInfo {
name: string;
type: number;
location: WebGLUniformLocation;
setter: (value: any) => void;
}
/**
* shderprogram的 attribute info
*/
export interface IattributeInfo {
name: string;
location: number;
setter: (value: IvertexAttrib) => void;
}
/**
* shaderprogram
*/
export interface IbassProgramInfo {
readonly id: number;
programName: string;
program: WebGLProgram;
uniformsDic: {
[name: string]: IuniformInfo;
};
attsDic: {
[name: string]: IattributeInfo;
};
}
export interface IbassProgramOption {
vs: string;
fs: string;
name?: string;
}
export interface IprogramState {
/**
* 标志符号
*/
beDeduce?: boolean;
/**
* default= true
*/
enableCullFace?: boolean;
/**
* default= true
*/
cullBack?: boolean;
/**
* default =true;
*/
depthWrite?: boolean;
/**
* deafult =true;
*/
depthTest?: boolean;
/**
* common gl.LEQUAL, gl.ALWAYS ,gl.NEVER ,gl.LESS
*
*/
depthTestFuc?: number;
/**
* default =false
*/
enableBlend?: boolean;
/**
* gl.FUNC_ADD: 源+目的地(默认值),
* gl.FUNC_SUBTRACT: 源 - 目的地,
* gl.FUNC_REVERSE_SUBTRACT: 目的地 - 源
*
* default = gl.FUNC_ADD;
*
* https://developer.mozilla.org/zh-CN/docs/Web/API/WebGLRenderingContext/blendEquation
*/
blendEquation?: number;
/**
* common:gl.ONE, gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA
*
* deault = gl.SRC_ALPHA;
*
* https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc
*/
blendSrc?: number;
/**
* common:gl.ONE, gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA
*
* deault = gl.ONE_MINUS_SRC_ALPHA;
*
* https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc
*/
blendDst?: number;
/**
* default = false
*/
enableStencilTest?: boolean;
/**
* gl.NEVER: Never pass.
*
* gl.LESS: Pass if (ref & mask) < (stencil & mask).
*
* gl.EQUAL: Pass if (ref & mask) = (stencil & mask).
*
* gl.LEQUAL: Pass if (ref & mask) <= (stencil & mask).
*
* gl.GREATER: Pass if (ref & mask) > (stencil & mask).
*
* gl.NOTEQUAL: Pass if (ref & mask) != (stencil & mask).
*
* gl.GEQUAL: Pass if (ref & mask) >= (stencil & mask).
*
* gl.ALWAYS: Always pass.
*
* default= gl.ALWAYS
*/
stencilFunc?: number;
/**
* default = 0xFF
*/
stencilMask?: number;
/**
*
*/
stencilRefValue?: number;
/**
* gl.keep gl.REPLACE
*
* default=gl.keep
*/
stencilPassZfail?: number;
/**
* gl.keep gl.REPLACE
*
* default=gl.keep
*/
stencilFaileZpass?: number;
/**
* gl.keep gl.REPLACE
*
* default=gl.keep
*/
stencilFail?: number;
/**
* r , g , b ,a
*
* default r=true ,g= true ,b= true, a=true
*/
colorMask?: [];
}
/**
* contain bassprogram(shader)、uniforms设参、states设参
*/
export interface IprogramInfo {
bassProgram: IbassProgramInfo;
uniforms?: {
[name: string]: any;
};
states?: IprogramState;
}
export interface IprogramOptions {
program: IbassProgramInfo | IbassProgramOption;
uniforms?: {
[name: string]: any;
};
states?: IprogramState;
}
export interface IgeometryOptions {
name?: string;
atts: {
[keyName: string]: IviewArr;
};
indices?: IviewArr;
primitiveType?: number;
}
export interface Iobject {
geometry: IgeometryInfo;
program: IprogramInfo;
}
export interface ItextureInfo {
texture: WebGLTexture;
texDes: ItextureDesInfo;
}
export interface ItextureDesInfo {
target?: number;
filterMax?: number;
filterMin?: number;
/**
* 为了uv滚动
*/
wrapS?: number;
wrapT?: number;
pixelFormat?: number;
enableMipMap?: boolean;
width?: number;
height?: number;
}
export interface ItexViewDataOption extends ItextureDesInfo {
viewData: ArrayBufferView;
/**
* when data is A Uint8Array , pixelDatatype can be gl.UNSIGNED_BYTE.
*
* when data is A Uint16Array , pixelDatatype can be gl.UNSIGNED_SHORT_5_6_5, gl.UNSIGNED_SHORT_4_4_4_4, gl.UNSIGNED_SHORT_5_5_5_1, gl.UNSIGNED_SHORT or ext.HALF_FLOAT_OES.
*
* when data is A Uint32Array , pixelDatatype can be is gl.UNSIGNED_INT or ext.UNSIGNED_INT_24_8_WEBGL.
*
* when data is A Float32Array , pixelDatatype can be gl.FLOAT.
*/
pixelDatatype?: number;
width: number;
height: number;
mipmaps?: {
width: number;
height: number;
viewData: ArrayBufferView;
}[];
}
export interface ItexImageDataOption extends ItextureDesInfo {
img: TexImageSource;
pixelDatatype?: number;
width?: number;
height?: number;
mipmaps?: {
img: TexImageSource;
}[];
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display