[fpc-pascal] pas2js Webgl unit committed
Ryan Joseph
ryan at thealchemistguild.com
Wed May 2 11:28:10 CEST 2018
> On May 2, 2018, at 2:08 PM, Michael Van Canneyt <michael at freepascal.org> wrote:
>
> Yes. the fpmkunit needs to be the latest version, for the AddLibrary call. I will see if I can work around it.
So I need to build the entire compiler and I get pas2js in the end? I didn’t realize it was built on the entire FPC compiler but I guess that makes sense.
Just for fun I made a PHP script to parse that .idl file. :) Not sure if it works on other files but it only took a few hours and seems to work ok. Should be easy to hack with.
https://github.com/genericptr/pas2js-IDL-parser
php pas2js_idl_parser.php /Users/ryanjoseph/Downloads/webgl.idl
========
unit webgl;
{$mode objfpc}
{$modeswitch externalclass}
interface
uses
JS, Web;
type GLenum = cardinal;
type GLboolean = boolean;
type GLbitfield = cardinal;
type GLbyte = shortint;
type GLshort = short;
type GLint = integer;
type GLsizei = integer;
type GLintptr = nativeint;
type GLsizeiptr = nativeint;
type GLubyte = byte;
type GLushort = word;
type GLuint = cardinal;
type GLfloat = double;
type GLclampf = double;
class TJSWebGLContextAttributes = external name 'WebGLContextAttributes' (TJSObject)
public
alpha: GLboolean;
depth: GLboolean;
stencil: GLboolean;
antialias: GLboolean;
premultipliedAlpha: GLboolean;
preserveDrawingBuffer: GLboolean;
powerPreference: WebGLPowerPreference;
failIfMajorPerformanceCaveat: GLboolean;
end;
class TJSWebGLObject = external name 'WebGLObject' (TJSObject);
class TJSWebGLBuffer = external name 'WebGLBuffer' (TJSWebGLObject);
class TJSWebGLFramebuffer = external name 'WebGLFramebuffer' (TJSWebGLObject);
class TJSWebGLProgram = external name 'WebGLProgram' (TJSWebGLObject);
class TJSWebGLRenderbuffer = external name 'WebGLRenderbuffer' (TJSWebGLObject);
class TJSWebGLShader = external name 'WebGLShader' (TJSWebGLObject);
class TJSWebGLTexture = external name 'WebGLTexture' (TJSWebGLObject);
class TJSWebGLUniformLocation = external name 'WebGLUniformLocation' (TJSObject);
class TJSWebGLActiveInfo = external name 'WebGLActiveInfo' (TJSObject)
private
Fsize: GLint; external name 'size';
Ftype: GLenum; external name 'type';
Fname: DOMString; external name 'name';
public
property size: GLint read Fsize;
property type: GLenum read Ftype;
property name: DOMString read Fname;
end;
class TJSWebGLShaderPrecisionFormat = external name 'WebGLShaderPrecisionFormat' (TJSObject)
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;
class TJSWebGLRenderingContextBase = external name 'WebGLRenderingContextBase' (TJSObject)
private
Fcanvas: HTMLCanvasElement; external name 'canvas';
FdrawingBufferWidth: GLsizei; external name 'drawingBufferWidth';
FdrawingBufferHeight: GLsizei; external name 'drawingBufferHeight';
public
const DEPTH_BUFFER_BIT: nativeint;
const STENCIL_BUFFER_BIT: nativeint;
const COLOR_BUFFER_BIT: nativeint;
const POINTS: nativeint;
const LINES: nativeint;
const LINE_LOOP: nativeint;
const LINE_STRIP: nativeint;
const TRIANGLES: nativeint;
const TRIANGLE_STRIP: nativeint;
const TRIANGLE_FAN: nativeint;
const ZERO: nativeint;
const ONE: nativeint;
const SRC_COLOR: nativeint;
const ONE_MINUS_SRC_COLOR: nativeint;
const SRC_ALPHA: nativeint;
const ONE_MINUS_SRC_ALPHA: nativeint;
const DST_ALPHA: nativeint;
const ONE_MINUS_DST_ALPHA: nativeint;
const DST_COLOR: nativeint;
const ONE_MINUS_DST_COLOR: nativeint;
const SRC_ALPHA_SATURATE: nativeint;
const FUNC_ADD: nativeint;
const BLEND_EQUATION: nativeint;
const BLEND_EQUATION_RGB: nativeint;
const BLEND_EQUATION_ALPHA: nativeint;
const FUNC_SUBTRACT: nativeint;
const FUNC_REVERSE_SUBTRACT: nativeint;
const BLEND_DST_RGB: nativeint;
const BLEND_SRC_RGB: nativeint;
const BLEND_DST_ALPHA: nativeint;
const BLEND_SRC_ALPHA: nativeint;
const CONSTANT_COLOR: nativeint;
const ONE_MINUS_CONSTANT_COLOR: nativeint;
const CONSTANT_ALPHA: nativeint;
const ONE_MINUS_CONSTANT_ALPHA: nativeint;
const BLEND_COLOR: nativeint;
const ARRAY_BUFFER: nativeint;
const ELEMENT_ARRAY_BUFFER: nativeint;
const ARRAY_BUFFER_BINDING: nativeint;
const ELEMENT_ARRAY_BUFFER_BINDING: nativeint;
const STREAM_DRAW: nativeint;
const STATIC_DRAW: nativeint;
const DYNAMIC_DRAW: nativeint;
const BUFFER_SIZE: nativeint;
const BUFFER_USAGE: nativeint;
const CURRENT_VERTEX_ATTRIB: nativeint;
const FRONT: nativeint;
const BACK: nativeint;
const FRONT_AND_BACK: nativeint;
const CULL_FACE: nativeint;
const BLEND: nativeint;
const DITHER: nativeint;
const STENCIL_TEST: nativeint;
const DEPTH_TEST: nativeint;
const SCISSOR_TEST: nativeint;
const POLYGON_OFFSET_FILL: nativeint;
const SAMPLE_ALPHA_TO_COVERAGE: nativeint;
const SAMPLE_COVERAGE: nativeint;
const NO_ERROR: nativeint;
const INVALID_ENUM: nativeint;
const INVALID_VALUE: nativeint;
const INVALID_OPERATION: nativeint;
const OUT_OF_MEMORY: nativeint;
const CW: nativeint;
const CCW: nativeint;
const LINE_WIDTH: nativeint;
const ALIASED_POINT_SIZE_RANGE: nativeint;
const ALIASED_LINE_WIDTH_RANGE: nativeint;
const CULL_FACE_MODE: nativeint;
const FRONT_FACE: nativeint;
const DEPTH_RANGE: nativeint;
const DEPTH_WRITEMASK: nativeint;
const DEPTH_CLEAR_VALUE: nativeint;
const DEPTH_FUNC: nativeint;
const STENCIL_CLEAR_VALUE: nativeint;
const STENCIL_FUNC: nativeint;
const STENCIL_FAIL: nativeint;
const STENCIL_PASS_DEPTH_FAIL: nativeint;
const STENCIL_PASS_DEPTH_PASS: nativeint;
const STENCIL_REF: nativeint;
const STENCIL_VALUE_MASK: nativeint;
const STENCIL_WRITEMASK: nativeint;
const STENCIL_BACK_FUNC: nativeint;
const STENCIL_BACK_FAIL: nativeint;
const STENCIL_BACK_PASS_DEPTH_FAIL: nativeint;
const STENCIL_BACK_PASS_DEPTH_PASS: nativeint;
const STENCIL_BACK_REF: nativeint;
const STENCIL_BACK_VALUE_MASK: nativeint;
const STENCIL_BACK_WRITEMASK: nativeint;
const VIEWPORT: nativeint;
const SCISSOR_BOX: nativeint;
const COLOR_CLEAR_VALUE: nativeint;
const COLOR_WRITEMASK: nativeint;
const UNPACK_ALIGNMENT: nativeint;
const PACK_ALIGNMENT: nativeint;
const MAX_TEXTURE_SIZE: nativeint;
const MAX_VIEWPORT_DIMS: nativeint;
const SUBPIXEL_BITS: nativeint;
const RED_BITS: nativeint;
const GREEN_BITS: nativeint;
const BLUE_BITS: nativeint;
const ALPHA_BITS: nativeint;
const DEPTH_BITS: nativeint;
const STENCIL_BITS: nativeint;
const POLYGON_OFFSET_UNITS: nativeint;
const POLYGON_OFFSET_FACTOR: nativeint;
const TEXTURE_BINDING_2D: nativeint;
const SAMPLE_BUFFERS: nativeint;
const SAMPLES: nativeint;
const SAMPLE_COVERAGE_VALUE: nativeint;
const SAMPLE_COVERAGE_INVERT: nativeint;
const COMPRESSED_TEXTURE_FORMATS: nativeint;
const DONT_CARE: nativeint;
const FASTEST: nativeint;
const NICEST: nativeint;
const GENERATE_MIPMAP_HINT: nativeint;
const BYTE: nativeint;
const UNSIGNED_BYTE: nativeint;
const SHORT: nativeint;
const UNSIGNED_SHORT: nativeint;
const INT: nativeint;
const UNSIGNED_INT: nativeint;
const FLOAT: nativeint;
const DEPTH_COMPONENT: nativeint;
const ALPHA: nativeint;
const RGB: nativeint;
const RGBA: nativeint;
const LUMINANCE: nativeint;
const LUMINANCE_ALPHA: nativeint;
const UNSIGNED_SHORT_4_4_4_4: nativeint;
const UNSIGNED_SHORT_5_5_5_1: nativeint;
const UNSIGNED_SHORT_5_6_5: nativeint;
const FRAGMENT_SHADER: nativeint;
const VERTEX_SHADER: nativeint;
const MAX_VERTEX_ATTRIBS: nativeint;
const MAX_VERTEX_UNIFORM_VECTORS: nativeint;
const MAX_VARYING_VECTORS: nativeint;
const MAX_COMBINED_TEXTURE_IMAGE_UNITS: nativeint;
const MAX_VERTEX_TEXTURE_IMAGE_UNITS: nativeint;
const MAX_TEXTURE_IMAGE_UNITS: nativeint;
const MAX_FRAGMENT_UNIFORM_VECTORS: nativeint;
const SHADER_TYPE: nativeint;
const DELETE_STATUS: nativeint;
const LINK_STATUS: nativeint;
const VALIDATE_STATUS: nativeint;
const ATTACHED_SHADERS: nativeint;
const ACTIVE_UNIFORMS: nativeint;
const ACTIVE_ATTRIBUTES: nativeint;
const SHADING_LANGUAGE_VERSION: nativeint;
const CURRENT_PROGRAM: nativeint;
const NEVER: nativeint;
const LESS: nativeint;
const EQUAL: nativeint;
const LEQUAL: nativeint;
const GREATER: nativeint;
const NOTEQUAL: nativeint;
const GEQUAL: nativeint;
const ALWAYS: nativeint;
const KEEP: nativeint;
const REPLACE: nativeint;
const INCR: nativeint;
const DECR: nativeint;
const INVERT: nativeint;
const INCR_WRAP: nativeint;
const DECR_WRAP: nativeint;
const VENDOR: nativeint;
const RENDERER: nativeint;
const VERSION: nativeint;
const NEAREST: nativeint;
const LINEAR: nativeint;
const NEAREST_MIPMAP_NEAREST: nativeint;
const LINEAR_MIPMAP_NEAREST: nativeint;
const NEAREST_MIPMAP_LINEAR: nativeint;
const LINEAR_MIPMAP_LINEAR: nativeint;
const TEXTURE_MAG_FILTER: nativeint;
const TEXTURE_MIN_FILTER: nativeint;
const TEXTURE_WRAP_S: nativeint;
const TEXTURE_WRAP_T: nativeint;
const TEXTURE_2D: nativeint;
const TEXTURE: nativeint;
const TEXTURE_CUBE_MAP: nativeint;
const TEXTURE_BINDING_CUBE_MAP: nativeint;
const TEXTURE_CUBE_MAP_POSITIVE_X: nativeint;
const TEXTURE_CUBE_MAP_NEGATIVE_X: nativeint;
const TEXTURE_CUBE_MAP_POSITIVE_Y: nativeint;
const TEXTURE_CUBE_MAP_NEGATIVE_Y: nativeint;
const TEXTURE_CUBE_MAP_POSITIVE_Z: nativeint;
const TEXTURE_CUBE_MAP_NEGATIVE_Z: nativeint;
const MAX_CUBE_MAP_TEXTURE_SIZE: nativeint;
const TEXTURE0: nativeint;
const TEXTURE1: nativeint;
const TEXTURE2: nativeint;
const TEXTURE3: nativeint;
const TEXTURE4: nativeint;
const TEXTURE5: nativeint;
const TEXTURE6: nativeint;
const TEXTURE7: nativeint;
const TEXTURE8: nativeint;
const TEXTURE9: nativeint;
const TEXTURE10: nativeint;
const TEXTURE11: nativeint;
const TEXTURE12: nativeint;
const TEXTURE13: nativeint;
const TEXTURE14: nativeint;
const TEXTURE15: nativeint;
const TEXTURE16: nativeint;
const TEXTURE17: nativeint;
const TEXTURE18: nativeint;
const TEXTURE19: nativeint;
const TEXTURE20: nativeint;
const TEXTURE21: nativeint;
const TEXTURE22: nativeint;
const TEXTURE23: nativeint;
const TEXTURE24: nativeint;
const TEXTURE25: nativeint;
const TEXTURE26: nativeint;
const TEXTURE27: nativeint;
const TEXTURE28: nativeint;
const TEXTURE29: nativeint;
const TEXTURE30: nativeint;
const TEXTURE31: nativeint;
const ACTIVE_TEXTURE: nativeint;
const REPEAT: nativeint;
const CLAMP_TO_EDGE: nativeint;
const MIRRORED_REPEAT: nativeint;
const FLOAT_VEC2: nativeint;
const FLOAT_VEC3: nativeint;
const FLOAT_VEC4: nativeint;
const INT_VEC2: nativeint;
const INT_VEC3: nativeint;
const INT_VEC4: nativeint;
const BOOL: nativeint;
const BOOL_VEC2: nativeint;
const BOOL_VEC3: nativeint;
const BOOL_VEC4: nativeint;
const FLOAT_MAT2: nativeint;
const FLOAT_MAT3: nativeint;
const FLOAT_MAT4: nativeint;
const SAMPLER_2D: nativeint;
const SAMPLER_CUBE: nativeint;
const VERTEX_ATTRIB_ARRAY_ENABLED: nativeint;
const VERTEX_ATTRIB_ARRAY_SIZE: nativeint;
const VERTEX_ATTRIB_ARRAY_STRIDE: nativeint;
const VERTEX_ATTRIB_ARRAY_TYPE: nativeint;
const VERTEX_ATTRIB_ARRAY_NORMALIZED: nativeint;
const VERTEX_ATTRIB_ARRAY_POINTER: nativeint;
const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: nativeint;
const IMPLEMENTATION_COLOR_READ_TYPE: nativeint;
const IMPLEMENTATION_COLOR_READ_FORMAT: nativeint;
const COMPILE_STATUS: nativeint;
const LOW_FLOAT: nativeint;
const MEDIUM_FLOAT: nativeint;
const HIGH_FLOAT: nativeint;
const LOW_INT: nativeint;
const MEDIUM_INT: nativeint;
const HIGH_INT: nativeint;
const FRAMEBUFFER: nativeint;
const RENDERBUFFER: nativeint;
const RGBA4: nativeint;
const RGB5_A1: nativeint;
const RGB565: nativeint;
const DEPTH_COMPONENT16: nativeint;
const STENCIL_INDEX8: nativeint;
const DEPTH_STENCIL: nativeint;
const RENDERBUFFER_WIDTH: nativeint;
const RENDERBUFFER_HEIGHT: nativeint;
const RENDERBUFFER_INTERNAL_FORMAT: nativeint;
const RENDERBUFFER_RED_SIZE: nativeint;
const RENDERBUFFER_GREEN_SIZE: nativeint;
const RENDERBUFFER_BLUE_SIZE: nativeint;
const RENDERBUFFER_ALPHA_SIZE: nativeint;
const RENDERBUFFER_DEPTH_SIZE: nativeint;
const RENDERBUFFER_STENCIL_SIZE: nativeint;
const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: nativeint;
const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: nativeint;
const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: nativeint;
const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: nativeint;
const COLOR_ATTACHMENT0: nativeint;
const DEPTH_ATTACHMENT: nativeint;
const STENCIL_ATTACHMENT: nativeint;
const DEPTH_STENCIL_ATTACHMENT: nativeint;
const NONE: nativeint;
const FRAMEBUFFER_COMPLETE: nativeint;
const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: nativeint;
const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: nativeint;
const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: nativeint;
const FRAMEBUFFER_UNSUPPORTED: nativeint;
const FRAMEBUFFER_BINDING: nativeint;
const RENDERBUFFER_BINDING: nativeint;
const MAX_RENDERBUFFER_SIZE: nativeint;
const INVALID_FRAMEBUFFER_OPERATION: nativeint;
const UNPACK_FLIP_Y_WEBGL: nativeint;
const UNPACK_PREMULTIPLY_ALPHA_WEBGL: nativeint;
const CONTEXT_LOST_WEBGL: nativeint;
const UNPACK_COLORSPACE_CONVERSION_WEBGL: nativeint;
const BROWSER_DEFAULT_WEBGL: nativeint;
property canvas: HTMLCanvasElement read Fcanvas;
property drawingBufferWidth: GLsizei read FdrawingBufferWidth;
property drawingBufferHeight: GLsizei read FdrawingBufferHeight;
function getContextAttributes: TJSWebGLContextAttributes;
function isContextLost: boolean;
function getSupportedExtensions: DOMStringDynArray;
function getExtension (name: DOMString): TJSobject;
procedure activeTexture (texture: GLenum);
procedure attachShader (program: WebGLProgram; shader: WebGLShader);
procedure bindAttribLocation (program: WebGLProgram; index: GLuint; name: DOMString);
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 bufferData (target: GLenum; size: GLsizeiptr; usage: GLenum);
procedure bufferData (target: GLenum; data: BufferSource; usage: GLenum);
procedure bufferSubData (target: GLenum; offset: GLintptr; data: BufferSource);
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: WebGLShader);
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: WebGLProgram; shader: WebGLShader);
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 frontFace (mode: GLenum);
procedure generateMipmap (target: GLenum);
function getActiveAttrib (program: WebGLProgram; index: GLuint): TJSWebGLActiveInfo;
function getActiveUniform (program: WebGLProgram; index: GLuint): TJSWebGLActiveInfo;
function getAttachedShaders (program: WebGLProgram): WebGLShaderDynArray;
function getAttribLocation (program: WebGLProgram; name: DOMString): GLint;
function getBufferParameter (target: GLenum; pname: GLenum): JSValue;
function getParameter (pname: GLenum): JSValue;
function getError: GLenum;
function getProgramParameter (program: WebGLProgram; pname: GLenum): JSValue;
function getProgramInfoLog (program: WebGLProgram): TJSDOMString;
function getRenderbufferParameter (target: GLenum; pname: GLenum): JSValue;
function getShaderParameter (shader: WebGLShader; pname: GLenum): JSValue;
function getShaderPrecisionFormat (shadertype: GLenum; precisiontype: GLenum): TJSWebGLShaderPrecisionFormat;
function getShaderInfoLog (shader: WebGLShader): TJSDOMString;
function getShaderSource (shader: WebGLShader): TJSDOMString;
function getTexParameter (target: GLenum; pname: GLenum): JSValue;
function getUniform (program: WebGLProgram; location: WebGLUniformLocation): JSValue;
function getUniformLocation (program: WebGLProgram; name: DOMString): 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: WebGLProgram);
procedure pixelStorei (pname: GLenum; param: GLint);
procedure polygonOffset (factor: GLfloat; units: GLfloat);
procedure sampleCoverage (value: GLclampf; invert: GLboolean);
procedure scissor (x: GLint; y: GLint; width: GLsizei; height: GLsizei);
procedure shaderSource (shader: WebGLShader; source: DOMString);
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 texParameterf (target: GLenum; pname: GLenum; param: GLfloat);
procedure texParameteri (target: GLenum; pname: GLenum; param: GLint);
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: WebGLProgram);
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 viewport (x: GLint; y: GLint; width: GLsizei; height: GLsizei);
end;
class TJSWebGLRenderingContext = external name 'WebGLRenderingContext' (TJSWebGLRenderingContextBase);
class TJSWebGLContextEvent = external name 'WebGLContextEvent' (TJSEvent)
private
FstatusMessage: DOMString; external name 'statusMessage';
public
property statusMessage: DOMString read FstatusMessage;
end;
class TJSWebGLContextEventInit = external name 'WebGLContextEventInit' (TJSEventInit)
public
statusMessage: DOMString;
end;
implementation
end;
Regards,
Ryan Joseph
More information about the fpc-pascal
mailing list