> On May 2, 2018, at 11:36 PM, Sven Barth via fpc-pascal > <fpc-pascal@lists.freepascal.org> wrote: > > It's "Typename = class external name 'foobar' (Basetype)", not "class > Typename = external name 'foobar' (Basetype)". We're not in C++ after all :P > > public > const READ_BUFFER: nativeint; > const UNPACK_ROW_LENGTH: nativeint; > > Just in case you aren't aware of it: "const", "type" and "var" start > sections, even inside classes/records, so you don't need to repeat the > "const". Instead it is common to write "public const" and then write all > constant members. >
Not paying attention at all yesterday going from PHP to Pascal. It’s fixed now and looks better but the formatting is not standard perhaps. The .idls still had those lines I wasn’t sure what to do with so I ignored them. I think enums should be string types followed by constants (if that’s allowed by the parser). enum WebGLPowerPreference should probably be: type TWebGLPowerPreference = string; const TWebGLPowerPreferenceDefault = ‘default’; etc… Who knows about or’d typedefs though. better to do those by hand or dump them as comments. enum WebGLPowerPreference { "default", "low-power", "high-performance" }; typedef (ImageBitmap or ImageData or HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) TexImageSource; typedef ([AllowShared] Float32Array or sequence<GLfloat>) Float32List; typedef ([AllowShared] Int32Array or sequence<GLint>) Int32List; ========== unit webgl2; {$mode objfpc} {$modeswitch externalclass} interface uses JS, Web; type GLint64 = nativeint; GLuint64 = longword; type TJSWebGLQuery = class external name 'WebGLQuery' (TJSWebGLObject); TJSWebGLSampler = class external name 'WebGLSampler' (TJSWebGLObject); TJSWebGLSync = class external name 'WebGLSync' (TJSWebGLObject); TJSWebGLTransformFeedback = class external name 'WebGLTransformFeedback' (TJSWebGLObject); TJSWebGLVertexArrayObject = class external name 'WebGLVertexArrayObject' (TJSWebGLObject); type TJSWebGL2RenderingContextBase = class external name 'WebGL2RenderingContextBase' (TJSObject) public const READ_BUFFER: nativeint; UNPACK_ROW_LENGTH: nativeint; UNPACK_SKIP_ROWS: nativeint; UNPACK_SKIP_PIXELS: nativeint; PACK_ROW_LENGTH: nativeint; PACK_SKIP_ROWS: nativeint; PACK_SKIP_PIXELS: nativeint; COLOR: nativeint; DEPTH: nativeint; STENCIL: nativeint; RED: nativeint; RGB8: nativeint; RGBA8: nativeint; RGB10_A2: nativeint; TEXTURE_BINDING_3D: nativeint; UNPACK_SKIP_IMAGES: nativeint; UNPACK_IMAGE_HEIGHT: nativeint; TEXTURE_3D: nativeint; TEXTURE_WRAP_R: nativeint; MAX_3D_TEXTURE_SIZE: nativeint; UNSIGNED_INT_2_10_10_10_REV: nativeint; MAX_ELEMENTS_VERTICES: nativeint; MAX_ELEMENTS_INDICES: nativeint; TEXTURE_MIN_LOD: nativeint; TEXTURE_MAX_LOD: nativeint; TEXTURE_BASE_LEVEL: nativeint; TEXTURE_MAX_LEVEL: nativeint; MIN: nativeint; MAX: nativeint; DEPTH_COMPONENT24: nativeint; MAX_TEXTURE_LOD_BIAS: nativeint; TEXTURE_COMPARE_MODE: nativeint; TEXTURE_COMPARE_FUNC: nativeint; CURRENT_QUERY: nativeint; QUERY_RESULT: nativeint; QUERY_RESULT_AVAILABLE: nativeint; STREAM_READ: nativeint; STREAM_COPY: nativeint; STATIC_READ: nativeint; STATIC_COPY: nativeint; DYNAMIC_READ: nativeint; DYNAMIC_COPY: nativeint; MAX_DRAW_BUFFERS: nativeint; DRAW_BUFFER0: nativeint; DRAW_BUFFER1: nativeint; DRAW_BUFFER2: nativeint; DRAW_BUFFER3: nativeint; DRAW_BUFFER4: nativeint; DRAW_BUFFER5: nativeint; DRAW_BUFFER6: nativeint; DRAW_BUFFER7: nativeint; DRAW_BUFFER8: nativeint; DRAW_BUFFER9: nativeint; DRAW_BUFFER10: nativeint; DRAW_BUFFER11: nativeint; DRAW_BUFFER12: nativeint; DRAW_BUFFER13: nativeint; DRAW_BUFFER14: nativeint; DRAW_BUFFER15: nativeint; MAX_FRAGMENT_UNIFORM_COMPONENTS: nativeint; MAX_VERTEX_UNIFORM_COMPONENTS: nativeint; SAMPLER_3D: nativeint; SAMPLER_2D_SHADOW: nativeint; FRAGMENT_SHADER_DERIVATIVE_HINT: nativeint; PIXEL_PACK_BUFFER: nativeint; PIXEL_UNPACK_BUFFER: nativeint; PIXEL_PACK_BUFFER_BINDING: nativeint; PIXEL_UNPACK_BUFFER_BINDING: nativeint; FLOAT_MAT2x3: nativeint; FLOAT_MAT2x4: nativeint; FLOAT_MAT3x2: nativeint; FLOAT_MAT3x4: nativeint; FLOAT_MAT4x2: nativeint; FLOAT_MAT4x3: nativeint; SRGB: nativeint; SRGB8: nativeint; SRGB8_ALPHA8: nativeint; COMPARE_REF_TO_TEXTURE: nativeint; RGBA32F: nativeint; RGB32F: nativeint; RGBA16F: nativeint; RGB16F: nativeint; VERTEX_ATTRIB_ARRAY_INTEGER: nativeint; MAX_ARRAY_TEXTURE_LAYERS: nativeint; MIN_PROGRAM_TEXEL_OFFSET: nativeint; MAX_PROGRAM_TEXEL_OFFSET: nativeint; MAX_VARYING_COMPONENTS: nativeint; TEXTURE_2D_ARRAY: nativeint; TEXTURE_BINDING_2D_ARRAY: nativeint; R11F_G11F_B10F: nativeint; UNSIGNED_INT_10F_11F_11F_REV: nativeint; RGB9_E5: nativeint; UNSIGNED_INT_5_9_9_9_REV: nativeint; TRANSFORM_FEEDBACK_BUFFER_MODE: nativeint; MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: nativeint; TRANSFORM_FEEDBACK_VARYINGS: nativeint; TRANSFORM_FEEDBACK_BUFFER_START: nativeint; TRANSFORM_FEEDBACK_BUFFER_SIZE: nativeint; TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: nativeint; RASTERIZER_DISCARD: nativeint; MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: nativeint; MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: nativeint; INTERLEAVED_ATTRIBS: nativeint; SEPARATE_ATTRIBS: nativeint; TRANSFORM_FEEDBACK_BUFFER: nativeint; TRANSFORM_FEEDBACK_BUFFER_BINDING: nativeint; RGBA32UI: nativeint; RGB32UI: nativeint; RGBA16UI: nativeint; RGB16UI: nativeint; RGBA8UI: nativeint; RGB8UI: nativeint; RGBA32I: nativeint; RGB32I: nativeint; RGBA16I: nativeint; RGB16I: nativeint; RGBA8I: nativeint; RGB8I: nativeint; RED_INTEGER: nativeint; RGB_INTEGER: nativeint; RGBA_INTEGER: nativeint; SAMPLER_2D_ARRAY: nativeint; SAMPLER_2D_ARRAY_SHADOW: nativeint; SAMPLER_CUBE_SHADOW: nativeint; UNSIGNED_INT_VEC2: nativeint; UNSIGNED_INT_VEC3: nativeint; UNSIGNED_INT_VEC4: nativeint; INT_SAMPLER_2D: nativeint; INT_SAMPLER_3D: nativeint; INT_SAMPLER_CUBE: nativeint; INT_SAMPLER_2D_ARRAY: nativeint; UNSIGNED_INT_SAMPLER_2D: nativeint; UNSIGNED_INT_SAMPLER_3D: nativeint; UNSIGNED_INT_SAMPLER_CUBE: nativeint; UNSIGNED_INT_SAMPLER_2D_ARRAY: nativeint; DEPTH_COMPONENT32F: nativeint; DEPTH32F_STENCIL8: nativeint; FLOAT_32_UNSIGNED_INT_24_8_REV: nativeint; FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: nativeint; FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: nativeint; FRAMEBUFFER_ATTACHMENT_RED_SIZE: nativeint; FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: nativeint; FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: nativeint; FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: nativeint; FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: nativeint; FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: nativeint; FRAMEBUFFER_DEFAULT: nativeint; DEPTH_STENCIL_ATTACHMENT: nativeint; DEPTH_STENCIL: nativeint; UNSIGNED_INT_24_8: nativeint; DEPTH24_STENCIL8: nativeint; UNSIGNED_NORMALIZED: nativeint; DRAW_FRAMEBUFFER_BINDING: nativeint; READ_FRAMEBUFFER: nativeint; DRAW_FRAMEBUFFER: nativeint; READ_FRAMEBUFFER_BINDING: nativeint; RENDERBUFFER_SAMPLES: nativeint; FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: nativeint; MAX_COLOR_ATTACHMENTS: nativeint; COLOR_ATTACHMENT1: nativeint; COLOR_ATTACHMENT2: nativeint; COLOR_ATTACHMENT3: nativeint; COLOR_ATTACHMENT4: nativeint; COLOR_ATTACHMENT5: nativeint; COLOR_ATTACHMENT6: nativeint; COLOR_ATTACHMENT7: nativeint; COLOR_ATTACHMENT8: nativeint; COLOR_ATTACHMENT9: nativeint; COLOR_ATTACHMENT10: nativeint; COLOR_ATTACHMENT11: nativeint; COLOR_ATTACHMENT12: nativeint; COLOR_ATTACHMENT13: nativeint; COLOR_ATTACHMENT14: nativeint; COLOR_ATTACHMENT15: nativeint; FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: nativeint; MAX_SAMPLES: nativeint; HALF_FLOAT: nativeint; RG: nativeint; RG_INTEGER: nativeint; R8: nativeint; RG8: nativeint; R16F: nativeint; R32F: nativeint; RG16F: nativeint; RG32F: nativeint; R8I: nativeint; R8UI: nativeint; R16I: nativeint; R16UI: nativeint; R32I: nativeint; R32UI: nativeint; RG8I: nativeint; RG8UI: nativeint; RG16I: nativeint; RG16UI: nativeint; RG32I: nativeint; RG32UI: nativeint; VERTEX_ARRAY_BINDING: nativeint; R8_SNORM: nativeint; RG8_SNORM: nativeint; RGB8_SNORM: nativeint; RGBA8_SNORM: nativeint; SIGNED_NORMALIZED: nativeint; COPY_READ_BUFFER: nativeint; COPY_WRITE_BUFFER: nativeint; COPY_READ_BUFFER_BINDING: nativeint; COPY_WRITE_BUFFER_BINDING: nativeint; UNIFORM_BUFFER: nativeint; UNIFORM_BUFFER_BINDING: nativeint; UNIFORM_BUFFER_START: nativeint; UNIFORM_BUFFER_SIZE: nativeint; MAX_VERTEX_UNIFORM_BLOCKS: nativeint; MAX_FRAGMENT_UNIFORM_BLOCKS: nativeint; MAX_COMBINED_UNIFORM_BLOCKS: nativeint; MAX_UNIFORM_BUFFER_BINDINGS: nativeint; MAX_UNIFORM_BLOCK_SIZE: nativeint; MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: nativeint; MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: nativeint; UNIFORM_BUFFER_OFFSET_ALIGNMENT: nativeint; ACTIVE_UNIFORM_BLOCKS: nativeint; UNIFORM_TYPE: nativeint; UNIFORM_SIZE: nativeint; UNIFORM_BLOCK_INDEX: nativeint; UNIFORM_OFFSET: nativeint; UNIFORM_ARRAY_STRIDE: nativeint; UNIFORM_MATRIX_STRIDE: nativeint; UNIFORM_IS_ROW_MAJOR: nativeint; UNIFORM_BLOCK_BINDING: nativeint; UNIFORM_BLOCK_DATA_SIZE: nativeint; UNIFORM_BLOCK_ACTIVE_UNIFORMS: nativeint; UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: nativeint; UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: nativeint; UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: nativeint; INVALID_INDEX: nativeint; MAX_VERTEX_OUTPUT_COMPONENTS: nativeint; MAX_FRAGMENT_INPUT_COMPONENTS: nativeint; MAX_SERVER_WAIT_TIMEOUT: nativeint; OBJECT_TYPE: nativeint; SYNC_CONDITION: nativeint; SYNC_STATUS: nativeint; SYNC_FLAGS: nativeint; SYNC_FENCE: nativeint; SYNC_GPU_COMMANDS_COMPLETE: nativeint; UNSIGNALED: nativeint; SIGNALED: nativeint; ALREADY_SIGNALED: nativeint; TIMEOUT_EXPIRED: nativeint; CONDITION_SATISFIED: nativeint; WAIT_FAILED: nativeint; SYNC_FLUSH_COMMANDS_BIT: nativeint; VERTEX_ATTRIB_ARRAY_DIVISOR: nativeint; ANY_SAMPLES_PASSED: nativeint; ANY_SAMPLES_PASSED_CONSERVATIVE: nativeint; SAMPLER_BINDING: nativeint; RGB10_A2UI: nativeint; INT_2_10_10_10_REV: nativeint; TRANSFORM_FEEDBACK: nativeint; TRANSFORM_FEEDBACK_PAUSED: nativeint; TRANSFORM_FEEDBACK_ACTIVE: nativeint; TRANSFORM_FEEDBACK_BINDING: nativeint; TEXTURE_IMMUTABLE_FORMAT: nativeint; MAX_ELEMENT_INDEX: nativeint; TEXTURE_IMMUTABLE_LEVELS: nativeint; MAX_CLIENT_WAIT_TIMEOUT_WEBGL: nativeint; public procedure bufferData (target: GLenum; size: GLsizeiptr; usage: GLenum); procedure bufferData (target: GLenum; srcData: BufferSource; usage: GLenum); procedure bufferSubData (target: GLenum; dstByteOffset: GLintptr; srcData: BufferSource); procedure bufferData (target: GLenum; srcData: ArrayBufferView; usage: GLenum; srcOffset: GLuint; length: GLuint); procedure bufferSubData (target: GLenum; dstByteOffset: GLintptr; srcData: ArrayBufferView; length: GLuint); procedure copyBufferSubData (readTarget: GLenum; writeTarget: GLenum; readOffset: GLintptr; size: GLsizeiptr); procedure getBufferSubData (target: GLenum; srcByteOffset: GLintptr; dstBuffer: ArrayBufferView; dstOffset: GLuint; length: GLuint); procedure blitFramebuffer (srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); procedure framebufferTextureLayer (target: GLenum; attachment: GLenum; texture: TJSWebGLTexture; level: GLint); procedure invalidateFramebuffer (target: GLenum; attachments: GLenumDynArray); procedure invalidateSubFramebuffer (target: GLenum; attachments: GLenumDynArray; y: GLint; width: GLsizei; height: GLsizei); procedure readBuffer (src: GLenum); function getInternalformatParameter (target: GLenum; internalformat: GLenum; pname: GLenum): JSValue; procedure renderbufferStorageMultisample (target: GLenum; samples: GLsizei; internalformat: GLenum; height: GLsizei); procedure texStorage2D (target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei); procedure texStorage3D (target: GLenum; levels: GLsizei; internalformat: GLenum; width: GLsizei; depth: GLsizei); procedure texImage2D (target: GLenum; level: GLint; internalformat: GLint; height: GLsizei; border: GLint; format: GLenum; pixels: ArrayBufferView); procedure texImage2D (target: GLenum; level: GLint; internalformat: GLint; type: GLenum; source: TexImageSource); procedure texSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; height: GLsizei; type: GLenum; pixels: ArrayBufferView); procedure texSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; type: GLenum; source: TexImageSource); procedure texImage2D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; format: GLenum; type: GLenum; pboOffset: GLintptr); procedure texImage2D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; format: GLenum; type: GLenum); procedure texImage2D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; format: GLenum; type: GLenum; srcData: ArrayBufferView); procedure texImage3D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type: GLenum; pboOffset: GLintptr); procedure texImage3D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type: GLenum); procedure texImage3D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type: GLenum; srcData: ArrayBufferView); procedure texImage3D (target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type: GLenum; srcData: ArrayBufferView); procedure texSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; format: GLenum; type: GLenum; pboOffset: GLintptr); procedure texSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; format: GLenum; type: GLenum); procedure texSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; format: GLenum; type: GLenum; srcData: ArrayBufferView); procedure texSubImage3D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; height: GLsizei; depth: GLsizei; format: GLenum; type: GLenum); procedure texSubImage3D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; height: GLsizei; depth: GLsizei; format: GLenum; type: GLenum); procedure texSubImage3D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; height: GLsizei; depth: GLsizei; format: GLenum; type: GLenum; srcOffset: GLuint); procedure copyTexSubImage3D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; y: GLint; width: GLsizei; height: GLsizei); procedure compressedTexImage2D (target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; offset: GLintptr); procedure compressedTexImage2D (target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; srcData: ArrayBufferView; srcOffset: GLuint; srcLengthOverride: GLuint); procedure compressedTexImage3D (target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; offset: GLintptr); procedure compressedTexImage3D (target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; depth: GLsizei; border: GLint; srcData: ArrayBufferView; srcOffset: GLuint; srcLengthOverride: GLuint); procedure compressedTexSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; height: GLsizei; format: GLenum; imageSize: GLsizei; offset: GLintptr); procedure compressedTexSubImage2D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; height: GLsizei; format: GLenum; srcOffset: GLuint; srcLengthOverride: GLuint); procedure compressedTexSubImage3D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; imageSize: GLsizei; offset: GLintptr); procedure compressedTexSubImage3D (target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; srcData: ArrayBufferView; srcOffset: GLuint; srcLengthOverride: GLuint); function getFragDataLocation (program: WebGLProgram; name: DOMString): GLint; procedure uniform1ui (location: TJSWebGLUniformLocation; v0: GLuint); procedure uniform2ui (location: TJSWebGLUniformLocation; v0: GLuint; v1: GLuint); procedure uniform3ui (location: TJSWebGLUniformLocation; v0: GLuint; v1: GLuint; v2: GLuint); procedure uniform4ui (location: TJSWebGLUniformLocation; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); procedure uniform1fv (location: TJSWebGLUniformLocation; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform2fv (location: TJSWebGLUniformLocation; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform3fv (location: TJSWebGLUniformLocation; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform4fv (location: TJSWebGLUniformLocation; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform1iv (location: TJSWebGLUniformLocation; data: Int32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform2iv (location: TJSWebGLUniformLocation; data: Int32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform3iv (location: TJSWebGLUniformLocation; data: Int32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform4iv (location: TJSWebGLUniformLocation; data: Int32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform1uiv (location: TJSWebGLUniformLocation; data: Uint32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform2uiv (location: TJSWebGLUniformLocation; data: Uint32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform3uiv (location: TJSWebGLUniformLocation; data: Uint32List; srcOffset: GLuint; srcLength: GLuint); procedure uniform4uiv (location: TJSWebGLUniformLocation; data: Uint32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix2fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix3x2fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix4x2fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix2x3fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix3fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix4x3fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix2x4fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix3x4fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure uniformMatrix4fv (location: TJSWebGLUniformLocation; transpose: GLboolean; data: Float32List; srcOffset: GLuint; srcLength: GLuint); procedure vertexAttribI4i (index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); procedure vertexAttribI4iv (index: GLuint; values: Int32List); procedure vertexAttribI4ui (index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); procedure vertexAttribI4uiv (index: GLuint; values: Uint32List); procedure vertexAttribIPointer (index: GLuint; size: GLint; type: GLenum; stride: GLsizei; offset: GLintptr); procedure vertexAttribDivisor (index: GLuint; divisor: GLuint); procedure drawArraysInstanced (mode: GLenum; first: GLint; count: GLsizei; instanceCount: GLsizei); procedure drawElementsInstanced (mode: GLenum; count: GLsizei; type: GLenum; offset: GLintptr; instanceCount: GLsizei); procedure drawRangeElements (mode: GLenum; start: GLuint; end: GLuint; count: GLsizei; type: GLenum; offset: GLintptr); procedure readPixels (x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; type: GLenum); procedure readPixels (x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; type: GLenum); procedure readPixels (x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; type: GLenum; dstOffset: GLuint); procedure drawBuffers (buffers: GLenumDynArray); procedure clearBufferfv (buffer: GLenum; drawbuffer: GLint; values: Float32List; srcOffset: GLuint); procedure clearBufferiv (buffer: GLenum; drawbuffer: GLint; values: Int32List; srcOffset: GLuint); procedure clearBufferuiv (buffer: GLenum; drawbuffer: GLint; values: Uint32List; srcOffset: GLuint); procedure clearBufferfi (buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); function createQuery: TJSWebGLQuery; procedure deleteQuery (query: TJSWebGLQuery); function isQuery (query: TJSWebGLQuery): GLboolean; procedure beginQuery (target: GLenum; query: WebGLQuery); procedure endQuery (target: GLenum); function getQuery (target: GLenum; pname: GLenum): TJSWebGLQuery; function getQueryParameter (query: WebGLQuery; pname: GLenum): JSValue; function createSampler: TJSWebGLSampler; procedure deleteSampler (sampler: TJSWebGLSampler); function isSampler (sampler: TJSWebGLSampler): GLboolean; procedure bindSampler (unit: GLuint; sampler: TJSWebGLSampler); procedure samplerParameteri (sampler: WebGLSampler; pname: GLenum; param: GLint); procedure samplerParameterf (sampler: WebGLSampler; pname: GLenum; param: GLfloat); function getSamplerParameter (sampler: WebGLSampler; pname: GLenum): JSValue; function fenceSync (condition: GLenum; flags: GLbitfield): TJSWebGLSync; function isSync (sync: TJSWebGLSync): GLboolean; procedure deleteSync (sync: TJSWebGLSync); function clientWaitSync (sync: WebGLSync; flags: GLbitfield; timeout: GLuint64): GLenum; procedure waitSync (sync: WebGLSync; flags: GLbitfield; timeout: GLint64); function getSyncParameter (sync: WebGLSync; pname: GLenum): JSValue; function createTransformFeedback: TJSWebGLTransformFeedback; procedure deleteTransformFeedback (tf: TJSWebGLTransformFeedback); function isTransformFeedback (tf: TJSWebGLTransformFeedback): GLboolean; procedure bindTransformFeedback (target: GLenum; tf: TJSWebGLTransformFeedback); procedure beginTransformFeedback (primitiveMode: GLenum); procedure endTransformFeedback; procedure transformFeedbackVaryings (program: WebGLProgram; varyings: DOMStringDynArray; bufferMode: GLenum); function getTransformFeedbackVarying (program: WebGLProgram; index: GLuint): TJSWebGLActiveInfo; procedure pauseTransformFeedback; procedure resumeTransformFeedback; procedure bindBufferBase (target: GLenum; index: GLuint; buffer: TJSWebGLBuffer); procedure bindBufferRange (target: GLenum; index: GLuint; buffer: TJSWebGLBuffer; offset: GLintptr; size: GLsizeiptr); function getIndexedParameter (target: GLenum; index: GLuint): JSValue; function getUniformIndices (program: WebGLProgram; uniformNames: DOMStringDynArray): GLuintDynArray; function getActiveUniforms (program: WebGLProgram; uniformIndices: GLuintDynArray; pname: GLenum): JSValue; function getUniformBlockIndex (program: WebGLProgram; uniformBlockName: DOMString): GLuint; function getActiveUniformBlockParameter (program: WebGLProgram; uniformBlockIndex: GLuint; pname: GLenum): JSValue; function getActiveUniformBlockName (program: WebGLProgram; uniformBlockIndex: GLuint): TJSDOMString; procedure uniformBlockBinding (program: WebGLProgram; uniformBlockIndex: GLuint; uniformBlockBinding: GLuint); function createVertexArray: TJSWebGLVertexArrayObject; procedure deleteVertexArray (vertexArray: TJSWebGLVertexArrayObject); function isVertexArray (vertexArray: TJSWebGLVertexArrayObject): GLboolean; procedure bindVertexArray (array: TJSWebGLVertexArrayObject); end; TJSWebGL2RenderingContext = class external name 'WebGL2RenderingContext' (TJSWebGL2RenderingContextBase); implementation end; Regards, Ryan Joseph _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal