Implement WebGL extensions.

This commit is contained in:
Imanol Fernandez 2017-05-16 11:14:23 +02:00
parent ac99a48aea
commit 32e23c4db4
40 changed files with 1346 additions and 86 deletions

View file

@ -0,0 +1,11 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* WebGL IDL definitions from the Khronos specification:
* https://www.khronos.org/registry/webgl/extensions/OES_texture_float/
*/
[NoInterfaceObject]
interface OESTextureFloat {
};

View file

@ -0,0 +1,11 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* WebGL IDL definitions from the Khronos specification:
* https://www.khronos.org/registry/webgl/extensions/OES_texture_float_linear/
*/
[NoInterfaceObject]
interface OESTextureFloatLinear {
};

View file

@ -0,0 +1,12 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* WebGL IDL definitions from the Khronos specification:
* https://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/
*/
[NoInterfaceObject]
interface OESTextureHalfFloat {
const GLenum HALF_FLOAT_OES = 0x8D61;
};

View file

@ -0,0 +1,11 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* WebGL IDL definitions from the Khronos specification:
* https://www.khronos.org/registry/webgl/extensions/OES_texture_half_float_linear/
*/
[NoInterfaceObject]
interface OESTextureHalfFloatLinear {
};

View file

@ -0,0 +1,17 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* WebGL IDL definitions from the Khronos specification:
* https://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/
*/
[NoInterfaceObject]
interface OESVertexArrayObject {
const unsigned long VERTEX_ARRAY_BINDING_OES = 0x85B5;
WebGLVertexArrayObjectOES? createVertexArrayOES();
void deleteVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject);
boolean isVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject);
void bindVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject);
};

View file

@ -608,7 +608,7 @@ interface WebGLRenderingContextBase
any getVertexAttrib(GLuint index, GLenum pname);
//[WebGLHandlesContextLoss] GLsizeiptr getVertexAttribOffset(GLuint index, GLenum pname);
[WebGLHandlesContextLoss] GLsizeiptr getVertexAttribOffset(GLuint index, GLenum pname);
void hint(GLenum target, GLenum mode);
[WebGLHandlesContextLoss] GLboolean isBuffer(WebGLBuffer? buffer);

View file

@ -0,0 +1,11 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* WebGL IDL definitions scraped from the Khronos specification:
* https://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/
*/
[NoInterfaceObject]
interface WebGLVertexArrayObjectOES: WebGLObject {
};