123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698 |
- Unit webgl;
- {$MODE ObjFPC}
- {$H+}
- {$modeswitch externalclass}
- interface
- uses JS, Web;
- {
- Automatically generated file by TWebIDLToPas on 2018-06-23 15:31:57
-
- Used command-line options :
- -i
- webgl.idl
- -v
- v2
- -t
- EventTarget=TJSEventTarget,DOMHighResTimeStamp=TJSDOMHighResTimeStamp,HTMLMediaElement=TJSElement,MediaStream=JSValue,MediaStreamTrack=JSValue,EventHandler=TJSEVentHandler,Promise=TJSPromise,Event=TJSEvent,Worklet=TJSOBject,WorkletGlobalScope=TJSObject,VoidFunction=TProcedure,MessagePort=TJSMessagePort,HTMLCanvasElement=TJSHTMLCanvasElement,BufferSource=TJSBufferSource,ArrayBufferView=TJSTypedArray
- -x
- web,types
- -d
- -p
-
- Command-line options translate to:
-
- Options : [coDictionaryAsClass,coaddOptionsToheader]
- Keyword prefix :
- Keyword suffix : _
- Class prefix : TJS
- Class suffix :
- Field prefix : F
- WEBIDLversion : v2
- Type aliases:
- EventTarget=TJSEventTarget
- DOMHighResTimeStamp=TJSDOMHighResTimeStamp
- HTMLMediaElement=TJSElement
- MediaStream=JSValue
- MediaStreamTrack=JSValue
- EventHandler=TJSEVentHandler
- Promise=TJSPromise
- Event=TJSEvent
- Worklet=TJSOBject
- WorkletGlobalScope=TJSObject
- VoidFunction=TProcedure
- MessagePort=TJSMessagePort
- HTMLCanvasElement=TJSHTMLCanvasElement
- BufferSource=TJSBufferSource
- ArrayBufferView=TJSTypedArray
- }
- Type
- // Forward class definitions
- TJSWebGLObject = Class;
- TJSWebGLBuffer = Class;
- TJSWebGLFramebuffer = Class;
- TJSWebGLProgram = Class;
- TJSWebGLRenderbuffer = Class;
- TJSWebGLShader = Class;
- TJSWebGLTexture = Class;
- TJSWebGLUniformLocation = Class;
- TJSWebGLActiveInfo = Class;
- TJSWebGLShaderPrecisionFormat = Class;
- TJSWebGLRenderingContextBase = Class;
- TJSWebGLRenderingContext = Class;
- TJSWebGLContextEvent = Class;
- TJSWebGLContextAttributes = Class;
- TJSWebGLContextEventInit = Class;
- WebGLPowerPreference = String;
- GLenum = NativeInt;
- GLboolean = boolean;
- GLbitfield = NativeInt;
- GLbyte = byte;
- GLshort = Integer;
- GLint = Integer;
- GLsizei = Integer;
- GLintptr = NativeInt;
- GLsizeiptr = NativeInt;
- GLubyte = Byte;
- GLushort = Cardinal;
- GLuint = NativeInt;
- GLfloat = Double;
- GLclampf = Double;
- // Union of ImageBitmap, ImageData, HTMLImageElement, HTMLCanvasElement, HTMLVideoElement
- TexImageSource = JSValue;
- // Union of Float32Array, sequence
- Float32List = JSValue;
- // Union of Int32Array, sequence
- Int32List = JSValue;
-
- { --------------------------------------------------------------------
- TJSWebGLContextAttributes
- --------------------------------------------------------------------}
-
- TJSWebGLContextAttributes = class(TJSObject)
- alpha : GLboolean;
- depth : GLboolean;
- stencil : GLboolean;
- antialias : GLboolean;
- premultipliedAlpha : GLboolean;
- preserveDrawingBuffer : GLboolean;
- powerPreference : WebGLPowerPreference;
- failIfMajorPerformanceCaveat : GLboolean;
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLContextEventInit
- --------------------------------------------------------------------}
-
- TJSWebGLContextEventInit = class(TJSObject)
- statusMessage : String;
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLObject
- --------------------------------------------------------------------}
-
- TJSWebGLObject = class external name 'WebGLObject'
- Private
- Public
-
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLBuffer
- --------------------------------------------------------------------}
-
- TJSWebGLBuffer = class external name 'WebGLBuffer' (TJSWebGLObject)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLFramebuffer
- --------------------------------------------------------------------}
-
- TJSWebGLFramebuffer = class external name 'WebGLFramebuffer' (TJSWebGLObject)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLProgram
- --------------------------------------------------------------------}
-
- TJSWebGLProgram = class external name 'WebGLProgram' (TJSWebGLObject)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLRenderbuffer
- --------------------------------------------------------------------}
-
- TJSWebGLRenderbuffer = class external name 'WebGLRenderbuffer' (TJSWebGLObject)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLShader
- --------------------------------------------------------------------}
-
- TJSWebGLShader = class external name 'WebGLShader' (TJSWebGLObject)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLTexture
- --------------------------------------------------------------------}
-
- TJSWebGLTexture = class external name 'WebGLTexture' (TJSWebGLObject)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLUniformLocation
- --------------------------------------------------------------------}
-
- TJSWebGLUniformLocation = class external name 'WebGLUniformLocation'
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLActiveInfo
- --------------------------------------------------------------------}
-
- TJSWebGLActiveInfo = class external name 'WebGLActiveInfo'
- Private
- Fsize : GLint; external name 'size';
- Ftype_ : GLenum; external name 'type';
- Fname : String; external name 'name';
- Public
- Property size : GLint Read Fsize;
- Property type_ : GLenum Read Ftype_;
- Property name : String Read Fname;
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLShaderPrecisionFormat
- --------------------------------------------------------------------}
-
- TJSWebGLShaderPrecisionFormat = class external name 'WebGLShaderPrecisionFormat'
- Private
- FrangeMin : GLint; external name 'rangeMin';
- FrangeMax : GLint; external name 'rangeMax';
- Fprecision : GLint; external name 'precision';
- Public
- Property rangeMin : GLint Read FrangeMin;
- Property rangeMax : GLint Read FrangeMax;
- Property precision : GLint Read Fprecision;
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLRenderingContextBase
- --------------------------------------------------------------------}
-
- TStringDynArray = Array of String;
- TTJSWebGLShaderDynArray = Array of TJSWebGLShader;
- TGLfloatDynArray = Array of GLfloat;
- TGLintDynArray = Array of GLint;
- // MG: added ancestor (TJSObject), issue 34745
- TJSWebGLRenderingContextBase = class external name 'WebGLRenderingContextBase' (TJSObject)
- Private
- Fcanvas : TJSHTMLCanvasElement; external name 'canvas';
- FdrawingBufferWidth : GLsizei; external name 'drawingBufferWidth';
- FdrawingBufferHeight : GLsizei; external name 'drawingBufferHeight';
- Public
- Const
- DEPTH_BUFFER_BIT = $00000100;
- STENCIL_BUFFER_BIT = $00000400;
- COLOR_BUFFER_BIT = $00004000;
- POINTS = $0000;
- LINES = $0001;
- LINE_LOOP = $0002;
- LINE_STRIP = $0003;
- TRIANGLES = $0004;
- TRIANGLE_STRIP = $0005;
- TRIANGLE_FAN = $0006;
- ZERO = 0;
- ONE = 1;
- SRC_COLOR = $0300;
- ONE_MINUS_SRC_COLOR = $0301;
- SRC_ALPHA = $0302;
- ONE_MINUS_SRC_ALPHA = $0303;
- DST_ALPHA = $0304;
- ONE_MINUS_DST_ALPHA = $0305;
- DST_COLOR = $0306;
- ONE_MINUS_DST_COLOR = $0307;
- SRC_ALPHA_SATURATE = $0308;
- FUNC_ADD = $8006;
- BLEND_EQUATION = $8009;
- BLEND_EQUATION_RGB = $8009;
- BLEND_EQUATION_ALPHA = $883D;
- FUNC_SUBTRACT = $800A;
- FUNC_REVERSE_SUBTRACT = $800B;
- BLEND_DST_RGB = $80C8;
- BLEND_SRC_RGB = $80C9;
- BLEND_DST_ALPHA = $80CA;
- BLEND_SRC_ALPHA = $80CB;
- CONSTANT_COLOR = $8001;
- ONE_MINUS_CONSTANT_COLOR = $8002;
- CONSTANT_ALPHA = $8003;
- ONE_MINUS_CONSTANT_ALPHA = $8004;
- BLEND_COLOR = $8005;
- ARRAY_BUFFER = $8892;
- ELEMENT_ARRAY_BUFFER = $8893;
- ARRAY_BUFFER_BINDING = $8894;
- ELEMENT_ARRAY_BUFFER_BINDING = $8895;
- STREAM_DRAW = $88E0;
- STATIC_DRAW = $88E4;
- DYNAMIC_DRAW = $88E8;
- BUFFER_SIZE = $8764;
- BUFFER_USAGE = $8765;
- CURRENT_VERTEX_ATTRIB = $8626;
- FRONT = $0404;
- BACK = $0405;
- FRONT_AND_BACK = $0408;
- CULL_FACE = $0B44;
- BLEND = $0BE2;
- DITHER = $0BD0;
- STENCIL_TEST = $0B90;
- DEPTH_TEST = $0B71;
- SCISSOR_TEST = $0C11;
- POLYGON_OFFSET_FILL = $8037;
- SAMPLE_ALPHA_TO_COVERAGE = $809E;
- SAMPLE_COVERAGE = $80A0;
- NO_ERROR = 0;
- INVALID_ENUM = $0500;
- INVALID_VALUE = $0501;
- INVALID_OPERATION = $0502;
- OUT_OF_MEMORY = $0505;
- CW = $0900;
- CCW = $0901;
- LINE_WIDTH = $0B21;
- ALIASED_POINT_SIZE_RANGE = $846D;
- ALIASED_LINE_WIDTH_RANGE = $846E;
- CULL_FACE_MODE = $0B45;
- FRONT_FACE = $0B46;
- DEPTH_RANGE = $0B70;
- DEPTH_WRITEMASK = $0B72;
- DEPTH_CLEAR_VALUE = $0B73;
- DEPTH_FUNC = $0B74;
- STENCIL_CLEAR_VALUE = $0B91;
- STENCIL_FUNC = $0B92;
- STENCIL_FAIL = $0B94;
- STENCIL_PASS_DEPTH_FAIL = $0B95;
- STENCIL_PASS_DEPTH_PASS = $0B96;
- STENCIL_REF = $0B97;
- STENCIL_VALUE_MASK = $0B93;
- STENCIL_WRITEMASK = $0B98;
- STENCIL_BACK_FUNC = $8800;
- STENCIL_BACK_FAIL = $8801;
- STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
- STENCIL_BACK_PASS_DEPTH_PASS = $8803;
- STENCIL_BACK_REF = $8CA3;
- STENCIL_BACK_VALUE_MASK = $8CA4;
- STENCIL_BACK_WRITEMASK = $8CA5;
- VIEWPORT_ = $0BA2;
- SCISSOR_BOX = $0C10;
- COLOR_CLEAR_VALUE = $0C22;
- COLOR_WRITEMASK = $0C23;
- UNPACK_ALIGNMENT = $0CF5;
- PACK_ALIGNMENT = $0D05;
- MAX_TEXTURE_SIZE = $0D33;
- MAX_VIEWPORT_DIMS = $0D3A;
- SUBPIXEL_BITS = $0D50;
- RED_BITS = $0D52;
- GREEN_BITS = $0D53;
- BLUE_BITS = $0D54;
- ALPHA_BITS = $0D55;
- DEPTH_BITS = $0D56;
- STENCIL_BITS = $0D57;
- POLYGON_OFFSET_UNITS = $2A00;
- POLYGON_OFFSET_FACTOR = $8038;
- TEXTURE_BINDING_2D = $8069;
- SAMPLE_BUFFERS = $80A8;
- SAMPLES = $80A9;
- SAMPLE_COVERAGE_VALUE = $80AA;
- SAMPLE_COVERAGE_INVERT = $80AB;
- COMPRESSED_TEXTURE_FORMATS = $86A3;
- DONT_CARE = $1100;
- FASTEST = $1101;
- NICEST = $1102;
- GENERATE_MIPMAP_HINT = $8192;
- BYTE = $1400;
- UNSIGNED_BYTE = $1401;
- SHORT = $1402;
- UNSIGNED_SHORT = $1403;
- INT = $1404;
- UNSIGNED_INT = $1405;
- FLOAT = $1406;
- DEPTH_COMPONENT = $1902;
- ALPHA = $1906;
- RGB = $1907;
- RGBA = $1908;
- LUMINANCE = $1909;
- LUMINANCE_ALPHA = $190A;
- UNSIGNED_SHORT_4_4_4_4 = $8033;
- UNSIGNED_SHORT_5_5_5_1 = $8034;
- UNSIGNED_SHORT_5_6_5 = $8363;
- FRAGMENT_SHADER = $8B30;
- VERTEX_SHADER = $8B31;
- MAX_VERTEX_ATTRIBS = $8869;
- MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
- MAX_VARYING_VECTORS = $8DFC;
- MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
- MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
- MAX_TEXTURE_IMAGE_UNITS = $8872;
- MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
- SHADER_TYPE = $8B4F;
- DELETE_STATUS = $8B80;
- LINK_STATUS = $8B82;
- VALIDATE_STATUS = $8B83;
- ATTACHED_SHADERS = $8B85;
- ACTIVE_UNIFORMS = $8B86;
- ACTIVE_ATTRIBUTES = $8B89;
- SHADING_LANGUAGE_VERSION = $8B8C;
- CURRENT_PROGRAM = $8B8D;
- NEVER = $0200;
- LESS = $0201;
- EQUAL = $0202;
- LEQUAL = $0203;
- GREATER = $0204;
- NOTEQUAL = $0205;
- GEQUAL = $0206;
- ALWAYS = $0207;
- KEEP = $1E00;
- REPLACE = $1E01;
- INCR = $1E02;
- DECR = $1E03;
- INVERT = $150A;
- INCR_WRAP = $8507;
- DECR_WRAP = $8508;
- VENDOR = $1F00;
- RENDERER = $1F01;
- VERSION = $1F02;
- NEAREST = $2600;
- LINEAR = $2601;
- NEAREST_MIPMAP_NEAREST = $2700;
- LINEAR_MIPMAP_NEAREST = $2701;
- NEAREST_MIPMAP_LINEAR = $2702;
- LINEAR_MIPMAP_LINEAR = $2703;
- TEXTURE_MAG_FILTER = $2800;
- TEXTURE_MIN_FILTER = $2801;
- TEXTURE_WRAP_S = $2802;
- TEXTURE_WRAP_T = $2803;
- TEXTURE_2D = $0DE1;
- TEXTURE = $1702;
- TEXTURE_CUBE_MAP = $8513;
- TEXTURE_BINDING_CUBE_MAP = $8514;
- TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
- TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
- TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
- TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
- TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
- TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
- MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
- TEXTURE0 = $84C0;
- TEXTURE1 = $84C1;
- TEXTURE2 = $84C2;
- TEXTURE3 = $84C3;
- TEXTURE4 = $84C4;
- TEXTURE5 = $84C5;
- TEXTURE6 = $84C6;
- TEXTURE7 = $84C7;
- TEXTURE8 = $84C8;
- TEXTURE9 = $84C9;
- TEXTURE10 = $84CA;
- TEXTURE11 = $84CB;
- TEXTURE12 = $84CC;
- TEXTURE13 = $84CD;
- TEXTURE14 = $84CE;
- TEXTURE15 = $84CF;
- TEXTURE16 = $84D0;
- TEXTURE17 = $84D1;
- TEXTURE18 = $84D2;
- TEXTURE19 = $84D3;
- TEXTURE20 = $84D4;
- TEXTURE21 = $84D5;
- TEXTURE22 = $84D6;
- TEXTURE23 = $84D7;
- TEXTURE24 = $84D8;
- TEXTURE25 = $84D9;
- TEXTURE26 = $84DA;
- TEXTURE27 = $84DB;
- TEXTURE28 = $84DC;
- TEXTURE29 = $84DD;
- TEXTURE30 = $84DE;
- TEXTURE31 = $84DF;
- ACTIVE_TEXTURE = $84E0;
- REPEAT_ = $2901;
- CLAMP_TO_EDGE = $812F;
- MIRRORED_REPEAT = $8370;
- FLOAT_VEC2 = $8B50;
- FLOAT_VEC3 = $8B51;
- FLOAT_VEC4 = $8B52;
- INT_VEC2 = $8B53;
- INT_VEC3 = $8B54;
- INT_VEC4 = $8B55;
- BOOL = $8B56;
- BOOL_VEC2 = $8B57;
- BOOL_VEC3 = $8B58;
- BOOL_VEC4 = $8B59;
- FLOAT_MAT2 = $8B5A;
- FLOAT_MAT3 = $8B5B;
- FLOAT_MAT4 = $8B5C;
- SAMPLER_2D = $8B5E;
- SAMPLER_CUBE = $8B60;
- VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
- VERTEX_ATTRIB_ARRAY_SIZE = $8623;
- VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
- VERTEX_ATTRIB_ARRAY_TYPE = $8625;
- VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
- VERTEX_ATTRIB_ARRAY_POINTER = $8645;
- VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
- IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
- IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
- COMPILE_STATUS = $8B81;
- LOW_FLOAT = $8DF0;
- MEDIUM_FLOAT = $8DF1;
- HIGH_FLOAT = $8DF2;
- LOW_INT = $8DF3;
- MEDIUM_INT = $8DF4;
- HIGH_INT = $8DF5;
- FRAMEBUFFER = $8D40;
- RENDERBUFFER = $8D41;
- RGBA4 = $8056;
- RGB5_A1 = $8057;
- RGB565 = $8D62;
- DEPTH_COMPONENT16 = $81A5;
- STENCIL_INDEX8 = $8D48;
- DEPTH_STENCIL = $84F9;
- RENDERBUFFER_WIDTH = $8D42;
- RENDERBUFFER_HEIGHT = $8D43;
- RENDERBUFFER_INTERNAL_FORMAT = $8D44;
- RENDERBUFFER_RED_SIZE = $8D50;
- RENDERBUFFER_GREEN_SIZE = $8D51;
- RENDERBUFFER_BLUE_SIZE = $8D52;
- RENDERBUFFER_ALPHA_SIZE = $8D53;
- RENDERBUFFER_DEPTH_SIZE = $8D54;
- RENDERBUFFER_STENCIL_SIZE = $8D55;
- FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
- FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
- FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
- FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
- COLOR_ATTACHMENT0 = $8CE0;
- DEPTH_ATTACHMENT = $8D00;
- STENCIL_ATTACHMENT = $8D20;
- DEPTH_STENCIL_ATTACHMENT = $821A;
- NONE = 0;
- FRAMEBUFFER_COMPLETE = $8CD5;
- FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
- FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
- FRAMEBUFFER_INCOMPLETE_DIMENSIONS = $8CD9;
- FRAMEBUFFER_UNSUPPORTED = $8CDD;
- FRAMEBUFFER_BINDING = $8CA6;
- RENDERBUFFER_BINDING = $8CA7;
- MAX_RENDERBUFFER_SIZE = $84E8;
- INVALID_FRAMEBUFFER_OPERATION = $0506;
- UNPACK_FLIP_Y_WEBGL = $9240;
- UNPACK_PREMULTIPLY_ALPHA_WEBGL = $9241;
- CONTEXT_LOST_WEBGL = $9242;
- UNPACK_COLORSPACE_CONVERSION_WEBGL = $9243;
- BROWSER_DEFAULT_WEBGL = $9244;
- Public
- function getContextAttributes: TJSWebGLContextAttributes;
- function isContextLost: boolean;
- function getSupportedExtensions: TStringDynArray;
- function getExtension(name : String): TJSObject;
- Procedure activeTexture(texture : GLenum);
- Procedure attachShader(program_ : TJSWebGLProgram; shader : TJSWebGLShader);
- Procedure bindAttribLocation(program_ : TJSWebGLProgram; index : GLuint; name : String);
- Procedure bindBuffer(target : GLenum; buffer : TJSWebGLBuffer);
- Procedure bindFramebuffer(target : GLenum; framebuffer : TJSWebGLFramebuffer);
- Procedure bindRenderbuffer(target : GLenum; renderbuffer : TJSWebGLRenderbuffer);
- Procedure bindTexture(target : GLenum; texture : TJSWebGLTexture);
- Procedure blendColor(red : GLclampf; green : GLclampf; blue : GLclampf; alpha : GLclampf);
- Procedure blendEquation(mode : GLenum);
- Procedure blendEquationSeparate(modeRGB : GLenum; modeAlpha : GLenum);
- Procedure blendFunc(sfactor : GLenum; dfactor : GLenum);
- Procedure blendFuncSeparate(srcRGB : GLenum; dstRGB : GLenum; srcAlpha : GLenum; dstAlpha : GLenum);
- Procedure bufferData(target : GLenum; size : GLsizeiptr; usage : GLenum); overload;
- Procedure bufferData(target : GLenum; data : TJSBufferSource; usage : GLenum); overload;
- Procedure bufferSubData(target : GLenum; offset : GLintptr; data : TJSBufferSource);
- function checkFramebufferStatus(target : GLenum): GLenum;
- Procedure clear(mask : GLbitfield);
- Procedure clearColor(red : GLclampf; green : GLclampf; blue : GLclampf; alpha : GLclampf);
- Procedure clearDepth(depth : GLclampf);
- Procedure clearStencil(s : GLint);
- Procedure colorMask(red : GLboolean; green : GLboolean; blue : GLboolean; alpha : GLboolean);
- Procedure compileShader(shader : TJSWebGLShader);
- Procedure compressedTexImage2D(target : GLenum; level : GLint; internalformat : GLenum; width : GLsizei; height : GLsizei; border : GLint; data : TJSTypedArray);
- Procedure compressedTexSubImage2D(target : GLenum; level : GLint; xoffset : GLint; yoffset : GLint; width : GLsizei; height : GLsizei; format : GLenum; data : TJSTypedArray);
- Procedure copyTexImage2D(target : GLenum; level : GLint; internalformat : GLenum; x : GLint; y : GLint; width : GLsizei; height : GLsizei; border : GLint);
- Procedure copyTexSubImage2D(target : GLenum; level : GLint; xoffset : GLint; yoffset : GLint; x : GLint; y : GLint; width : GLsizei; height : GLsizei);
- function createBuffer: TJSWebGLBuffer;
- function createFramebuffer: TJSWebGLFramebuffer;
- function createProgram: TJSWebGLProgram;
- function createRenderbuffer: TJSWebGLRenderbuffer;
- function createShader(type_ : GLenum): TJSWebGLShader;
- function createTexture: TJSWebGLTexture;
- Procedure cullFace(mode : GLenum);
- Procedure deleteBuffer(buffer : TJSWebGLBuffer);
- Procedure deleteFramebuffer(framebuffer : TJSWebGLFramebuffer);
- Procedure deleteProgram(program_ : TJSWebGLProgram);
- Procedure deleteRenderbuffer(renderbuffer : TJSWebGLRenderbuffer);
- Procedure deleteShader(shader : TJSWebGLShader);
- Procedure deleteTexture(texture : TJSWebGLTexture);
- Procedure depthFunc(func : GLenum);
- Procedure depthMask(flag : GLboolean);
- Procedure depthRange(zNear : GLclampf; zFar : GLclampf);
- Procedure detachShader(program_ : TJSWebGLProgram; shader : TJSWebGLShader);
- Procedure disable(cap : GLenum);
- Procedure disableVertexAttribArray(index : GLuint);
- Procedure drawArrays(mode : GLenum; first : GLint; count : GLsizei);
- Procedure drawElements(mode : GLenum; count : GLsizei; type_ : GLenum; offset : GLintptr);
- Procedure enable(cap : GLenum);
- Procedure enableVertexAttribArray(index : GLuint);
- Procedure finish;
- Procedure flush;
- Procedure framebufferRenderbuffer(target : GLenum; attachment : GLenum; renderbuffertarget : GLenum; renderbuffer : TJSWebGLRenderbuffer);
- Procedure framebufferTexture2D(target : GLenum; attachment : GLenum; textarget : GLenum; texture : TJSWebGLTexture; level : GLint);
- Procedure frontFace(mode : GLenum);
- Procedure generateMipmap(target : GLenum);
- function getActiveAttrib(program_ : TJSWebGLProgram; index : GLuint): TJSWebGLActiveInfo;
- function getActiveUniform(program_ : TJSWebGLProgram; index : GLuint): TJSWebGLActiveInfo;
- function getAttachedShaders(program_ : TJSWebGLProgram): TTJSWebGLShaderDynArray;
- function getAttribLocation(program_ : TJSWebGLProgram; name : String): GLint;
- function getBufferParameter(target : GLenum; pname : GLenum): JSValue;
- function getParameter(pname : GLenum): JSValue;
- function getError: GLenum;
- function getFramebufferAttachmentParameter(target : GLenum; attachment : GLenum; pname : GLenum): JSValue;
- function getProgramParameter(program_ : TJSWebGLProgram; pname : GLenum): JSValue;
- function getProgramInfoLog(program_ : TJSWebGLProgram): String;
- function getRenderbufferParameter(target : GLenum; pname : GLenum): JSValue;
- function getShaderParameter(shader : TJSWebGLShader; pname : GLenum): JSValue;
- function getShaderPrecisionFormat(shadertype : GLenum; precisiontype : GLenum): TJSWebGLShaderPrecisionFormat;
- function getShaderInfoLog(shader : TJSWebGLShader): String;
- function getShaderSource(shader : TJSWebGLShader): String;
- function getTexParameter(target : GLenum; pname : GLenum): JSValue;
- function getUniform(program_ : TJSWebGLProgram; location : TJSWebGLUniformLocation): JSValue;
- function getUniformLocation(program_ : TJSWebGLProgram; name : String): TJSWebGLUniformLocation;
- function getVertexAttrib(index : GLuint; pname : GLenum): JSValue;
- function getVertexAttribOffset(index : GLuint; pname : GLenum): GLintptr;
- Procedure hint(target : GLenum; mode : GLenum);
- function isBuffer(buffer : TJSWebGLBuffer): GLboolean;
- function isEnabled(cap : GLenum): GLboolean;
- function isFramebuffer(framebuffer : TJSWebGLFramebuffer): GLboolean;
- function isProgram(program_ : TJSWebGLProgram): GLboolean;
- function isRenderbuffer(renderbuffer : TJSWebGLRenderbuffer): GLboolean;
- function isShader(shader : TJSWebGLShader): GLboolean;
- function isTexture(texture : TJSWebGLTexture): GLboolean;
- Procedure lineWidth(width : GLfloat);
- Procedure linkProgram(program_ : TJSWebGLProgram);
- Procedure pixelStorei(pname : GLenum; param : GLint);
- Procedure polygonOffset(factor : GLfloat; units : GLfloat);
- Procedure readPixels(x : GLint; y : GLint; width : GLsizei; height : GLsizei; format : GLenum; type_ : GLenum; pixels : TJSTypedArray);
- Procedure renderbufferStorage(target : GLenum; internalformat : GLenum; width : GLsizei; height : GLsizei);
- Procedure sampleCoverage(value : GLclampf; invert : GLboolean);
- Procedure scissor(x : GLint; y : GLint; width : GLsizei; height : GLsizei);
- Procedure shaderSource(shader : TJSWebGLShader; source : String);
- Procedure stencilFunc(func : GLenum; ref : GLint; mask : GLuint);
- Procedure stencilFuncSeparate(face : GLenum; func : GLenum; ref : GLint; mask : GLuint);
- Procedure stencilMask(mask : GLuint);
- Procedure stencilMaskSeparate(face : GLenum; mask : GLuint);
- Procedure stencilOp(fail : GLenum; zfail : GLenum; zpass : GLenum);
- Procedure stencilOpSeparate(face : GLenum; fail : GLenum; zfail : GLenum; zpass : GLenum);
- Procedure texImage2D(target : GLenum; level : GLint; internalformat : GLint; width : GLsizei; height : GLsizei; border : GLint; format : GLenum; type_ : GLenum; pixels : TJSTypedArray);
- Procedure texImage2D(target : GLenum; level : GLint; internalformat : GLint; format : GLenum; type_ : GLenum; source : TexImageSource);
- Procedure texParameterf(target : GLenum; pname : GLenum; param : GLfloat);
- Procedure texParameteri(target : GLenum; pname : GLenum; param : GLint);
- Procedure texSubImage2D(target : GLenum; level : GLint; xoffset : GLint; yoffset : GLint; width : GLsizei; height : GLsizei; format : GLenum; type_ : GLenum; pixels : TJSTypedArray);
- Procedure texSubImage2D(target : GLenum; level : GLint; xoffset : GLint; yoffset : GLint; format : GLenum; type_ : GLenum; source : TexImageSource);
- Procedure uniform1f(location : TJSWebGLUniformLocation; x : GLfloat);
- Procedure uniform2f(location : TJSWebGLUniformLocation; x : GLfloat; y : GLfloat);
- Procedure uniform3f(location : TJSWebGLUniformLocation; x : GLfloat; y : GLfloat; z : GLfloat);
- Procedure uniform4f(location : TJSWebGLUniformLocation; x : GLfloat; y : GLfloat; z : GLfloat; w : GLfloat);
- Procedure uniform1i(location : TJSWebGLUniformLocation; x : GLint);
- Procedure uniform2i(location : TJSWebGLUniformLocation; x : GLint; y : GLint);
- Procedure uniform3i(location : TJSWebGLUniformLocation; x : GLint; y : GLint; z : GLint);
- Procedure uniform4i(location : TJSWebGLUniformLocation; x : GLint; y : GLint; z : GLint; w : GLint);
- Procedure uniform1fv(location : TJSWebGLUniformLocation; v : Float32List);
- Procedure uniform2fv(location : TJSWebGLUniformLocation; v : Float32List);
- Procedure uniform3fv(location : TJSWebGLUniformLocation; v : Float32List);
- Procedure uniform4fv(location : TJSWebGLUniformLocation; v : Float32List);
- Procedure uniform1iv(location : TJSWebGLUniformLocation; v : Int32List);
- Procedure uniform2iv(location : TJSWebGLUniformLocation; v : Int32List);
- Procedure uniform3iv(location : TJSWebGLUniformLocation; v : Int32List);
- Procedure uniform4iv(location : TJSWebGLUniformLocation; v : Int32List);
- Procedure uniformMatrix2fv(location : TJSWebGLUniformLocation; transpose : GLboolean; value : Float32List);
- Procedure uniformMatrix3fv(location : TJSWebGLUniformLocation; transpose : GLboolean; value : Float32List);
- Procedure uniformMatrix4fv(location : TJSWebGLUniformLocation; transpose : GLboolean; value : Float32List);
- Procedure useProgram(program_ : TJSWebGLProgram);
- Procedure validateProgram(program_ : TJSWebGLProgram);
- Procedure vertexAttrib1f(index : GLuint; x : GLfloat);
- Procedure vertexAttrib2f(index : GLuint; x : GLfloat; y : GLfloat);
- Procedure vertexAttrib3f(index : GLuint; x : GLfloat; y : GLfloat; z : GLfloat);
- Procedure vertexAttrib4f(index : GLuint; x : GLfloat; y : GLfloat; z : GLfloat; w : GLfloat);
- Procedure vertexAttrib1fv(index : GLuint; values : Float32List);
- Procedure vertexAttrib2fv(index : GLuint; values : Float32List);
- Procedure vertexAttrib3fv(index : GLuint; values : Float32List);
- Procedure vertexAttrib4fv(index : GLuint; values : Float32List);
- Procedure vertexAttribPointer(index : GLuint; size : GLint; type_ : GLenum; normalized : GLboolean; stride : GLsizei; offset : GLintptr);
- Procedure viewport(x : GLint; y : GLint; width : GLsizei; height : GLsizei);
- Property canvas : TJSHTMLCanvasElement Read Fcanvas;
- Property drawingBufferWidth : GLsizei Read FdrawingBufferWidth;
- Property drawingBufferHeight : GLsizei Read FdrawingBufferHeight;
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLRenderingContext
- --------------------------------------------------------------------}
-
- TJSWebGLRenderingContext = class external name 'WebGLRenderingContext' (TJSWebGLRenderingContextBase)
- Private
- Public
- end;
-
- { --------------------------------------------------------------------
- TJSWebGLContextEvent
- --------------------------------------------------------------------}
-
- TJSWebGLContextEvent = class external name 'WebGLContextEvent' (TJSEvent)
- Private
- FstatusMessage : String; external name 'statusMessage';
- Public
- Property statusMessage : String Read FstatusMessage;
- end;
- implementation
- end.
|