@@ -6,9 +6,21 @@ declare module "webgl-raub" {
6
6
name : string ;
7
7
} > ;
8
8
9
+ export type TContextAttributes = Readonly < {
10
+ alpha : boolean ,
11
+ antialias : boolean ,
12
+ depth : boolean ,
13
+ failIfMajorPerformanceCaveat : boolean ,
14
+ powerPreference : string ,
15
+ premultipliedAlpha : boolean ,
16
+ preserveDrawingBuffer : boolean ,
17
+ stencil : boolean ,
18
+ desynchronized : boolean ,
19
+ } > ;
20
+
9
21
export type TResourceId = number ;
10
22
11
- export type TSize = Readonly < { width : number ; height : number } > ;
23
+ export type TSize = Readonly < { width : number ; height : number } > ;
12
24
13
25
export type TImage = TSize & Readonly < {
14
26
data : Buffer ;
@@ -33,6 +45,7 @@ declare module "webgl-raub" {
33
45
export class WebGLRenderingContext extends TGLObject { }
34
46
export class WebGLProgram extends TGLObject { }
35
47
export class WebGLShader extends TGLObject { }
48
+ export class WebGLVertexArrayObject extends TGLObject { }
36
49
export class WebGLBuffer extends TGLObject { }
37
50
export class WebGLVertexArray extends TGLObject { }
38
51
export class WebGLFramebuffer extends TGLObject { }
@@ -42,10 +55,13 @@ declare module "webgl-raub" {
42
55
export class WebGLActiveInfo extends TGLActiveInfo { }
43
56
export class WebGLTransformFeedback extends TGLObject { }
44
57
45
- const webgl : WebGL
46
- export default webgl
58
+ const webgl : WebGL ;
59
+ export default webgl ;
60
+
47
61
export interface WebGL {
48
- init : ( ) => void ;
62
+ contextAttributes : TContextAttributes ;
63
+ getContextAttributes : ( ) => TContextAttributes ;
64
+
49
65
bindAttribLocation : ( program : WebGLProgram , index : number , name : string ) => void ;
50
66
disableVertexAttribArray : ( index : number ) => void ;
51
67
enableVertexAttribArray : ( id : number ) => void ;
@@ -100,9 +116,14 @@ declare module "webgl-raub" {
100
116
offset : number ,
101
117
size : number ,
102
118
) => void ;
119
+ bufferSubData : (
120
+ target : number ,
121
+ offset : number ,
122
+ v : number [ ] | Float32Array ,
123
+ ) => void ;
103
124
bufferData : (
104
125
target : number ,
105
- value : number | number [ ] | Float32Array | Uint16Array ,
126
+ value : number | number [ ] | Float32Array | Uint16Array ,
106
127
usage : number ,
107
128
srcOffset ?: number ,
108
129
length ?: number ,
@@ -129,6 +150,7 @@ declare module "webgl-raub" {
129
150
getBufferParameter : ( target : number , name : number ) => number ;
130
151
createFramebuffer : ( ) => WebGLFramebuffer ;
131
152
deleteFramebuffer : ( frameBuffer : WebGLFramebuffer ) => void ;
153
+ invalidateFramebuffer : ( target : number , attachments : number [ ] ) => void ;
132
154
isFramebuffer : ( frameBuffer : WebGLFramebuffer ) => boolean ;
133
155
bindFramebuffer : ( target : number , buffer ?: WebGLFramebuffer ) => void ;
134
156
blitFramebuffer : (
@@ -157,6 +179,13 @@ declare module "webgl-raub" {
157
179
texture : WebGLTexture ,
158
180
level : number ,
159
181
) => void ;
182
+ framebufferTextureLayer : (
183
+ target : number ,
184
+ attachment : number ,
185
+ texture : WebGLTexture ,
186
+ level : number ,
187
+ layer : number ,
188
+ ) => void ;
160
189
getFramebufferAttachmentParameter : (
161
190
target : number ,
162
191
attachment : number ,
@@ -181,6 +210,13 @@ declare module "webgl-raub" {
181
210
width : number ,
182
211
height : number ,
183
212
) => void ;
213
+ renderbufferStorageMultisample : (
214
+ target : number ,
215
+ samples : number ,
216
+ internalformat : number ,
217
+ width : number ,
218
+ height : number ,
219
+ ) => void ;
184
220
createShader : ( type : number ) => WebGLShader ;
185
221
deleteShader : ( shader : WebGLShader ) => void ;
186
222
isShader : ( shader : WebGLShader ) => boolean ;
@@ -191,6 +227,7 @@ declare module "webgl-raub" {
191
227
getShaderInfoLog : ( shader : WebGLShader ) => string ;
192
228
getShaderParameter : ( shader : WebGLShader , pname : number ) => ( number | boolean ) ;
193
229
getShaderSource : ( shader : WebGLShader ) => string ;
230
+ getShaderPrecisionFormat : ( shaderType : number , precisionType : number ) => string ;
194
231
shaderSource : ( shader : WebGLShader , code : string ) => void ;
195
232
clearStencil : ( index : number ) => void ;
196
233
stencilFunc : (
@@ -255,6 +292,18 @@ declare module "webgl-raub" {
255
292
type : number ,
256
293
ptr ?: TImage | number ,
257
294
) => void ;
295
+ texImage3D : (
296
+ target : number ,
297
+ level : number ,
298
+ internalformat : number ,
299
+ width : number ,
300
+ height : number ,
301
+ depth : number ,
302
+ border : number ,
303
+ format : number ,
304
+ type : number ,
305
+ ptr ?: TImage ,
306
+ ) => void ;
258
307
texParameterf : (
259
308
target : number ,
260
309
name : number ,
@@ -276,6 +325,16 @@ declare module "webgl-raub" {
276
325
type : number ,
277
326
image ?: TImage ,
278
327
) => void ;
328
+ compressedTexSubImage2D : (
329
+ target : number ,
330
+ level : number ,
331
+ xoffset : number ,
332
+ yoffset : number ,
333
+ width : number ,
334
+ height : number ,
335
+ format : number ,
336
+ image ?: TImage ,
337
+ ) => void ;
279
338
texStorage2D : (
280
339
target : number ,
281
340
levels : number ,
@@ -345,6 +404,10 @@ declare module "webgl-raub" {
345
404
alpha : number ,
346
405
) => void ;
347
406
clearDepth : ( depth : number ) => void ;
407
+ clearBufferfv : ( buffer : number , drawBuffer : number , value : number [ ] ) => void ;
408
+ clearBufferiv : ( buffer : number , drawBuffer : number , value : number [ ] ) => void ;
409
+ clearBufferuiv : ( buffer : number , drawBuffer : number , value : number [ ] ) => void ;
410
+ clearBufferfi : ( buffer : number , drawBuffer : number , depth : number , stencil : number ) => void ;
348
411
colorMask : (
349
412
red : boolean ,
350
413
green : boolean ,
@@ -374,6 +437,11 @@ declare module "webgl-raub" {
374
437
frontFace : ( id : number ) => void ;
375
438
getError : ( ) => number ;
376
439
getParameter : ( name : number ) => ( number | boolean | number [ ] | string | boolean [ ] ) ;
440
+ getInternalformatParameter : (
441
+ target : number ,
442
+ internalformat : number ,
443
+ name : number ,
444
+ ) => ( Int32Array | null ) ;
377
445
getRenderTarget : (
378
446
width : number ,
379
447
height : number ,
@@ -464,6 +532,8 @@ declare module "webgl-raub" {
464
532
BACK : number ;
465
533
FRONT_AND_BACK : number ;
466
534
TEXTURE_2D : number ;
535
+ TEXTURE_2D_ARRAY : number ;
536
+ TEXTURE_3D : number ;
467
537
CULL_FACE : number ;
468
538
BLEND : number ;
469
539
DITHER : number ;
@@ -538,6 +608,7 @@ declare module "webgl-raub" {
538
608
UNSIGNED_SHORT : number ;
539
609
INT : number ;
540
610
UNSIGNED_INT : number ;
611
+ UNSIGNED_INT_24_8 : number ;
541
612
FLOAT : number ;
542
613
FIXED : number ;
543
614
DEPTH_COMPONENT : number ;
@@ -546,6 +617,29 @@ declare module "webgl-raub" {
546
617
RGBA : number ;
547
618
LUMINANCE : number ;
548
619
LUMINANCE_ALPHA : number ;
620
+ RGBA4 : number ;
621
+ RGB5_A1 : number ;
622
+ R16F : number ;
623
+ R16I : number ;
624
+ R16UI : number ;
625
+ R32F : number ;
626
+ R32I : number ;
627
+ R32UI : number ;
628
+ R8 : number ;
629
+ R8I : number ;
630
+ R8UI : number ;
631
+ RED : number ;
632
+ RED_INTEGER : number ;
633
+ RG : number ;
634
+ RG_INTEGER : number ;
635
+ RG16F : number ;
636
+ RG32F : number ;
637
+ RG8 : number ;
638
+ RGBA_INTEGER : number ;
639
+ RGBA16F : number ;
640
+ RGBA32F : number ;
641
+ RGBA8 : number ;
642
+ SRGB8_ALPHA8 : number ;
549
643
UNSIGNED_SHORT_4_4_4_4 : number ;
550
644
UNSIGNED_SHORT_5_5_5_1 : number ;
551
645
UNSIGNED_SHORT_5_6_5 : number ;
@@ -569,6 +663,7 @@ declare module "webgl-raub" {
569
663
ACTIVE_ATTRIBUTE_MAX_LENGTH : number ;
570
664
SHADING_LANGUAGE_VERSION : number ;
571
665
CURRENT_PROGRAM : number ;
666
+ UNIFORM_BUFFER : number ;
572
667
NEVER : number ;
573
668
LESS : number ;
574
669
EQUAL : number ;
@@ -600,6 +695,7 @@ declare module "webgl-raub" {
600
695
TEXTURE_MIN_FILTER : number ;
601
696
TEXTURE_WRAP_S : number ;
602
697
TEXTURE_WRAP_T : number ;
698
+ TEXTURE_WRAP_R : number ;
603
699
TEXTURE : number ;
604
700
TEXTURE_CUBE_MAP : number ;
605
701
TEXTURE_BINDING_CUBE_MAP : number ;
@@ -680,16 +776,17 @@ declare module "webgl-raub" {
680
776
NUM_SHADER_BINARY_FORMATS : number ;
681
777
LOW_FLOAT : number ;
682
778
MEDIUM_FLOAT : number ;
779
+ HALF_FLOAT : number ;
683
780
HIGH_FLOAT : number ;
684
781
LOW_INT : number ;
685
782
MEDIUM_INT : number ;
686
783
HIGH_INT : number ;
687
784
FRAMEBUFFER : number ;
688
785
RENDERBUFFER : number ;
689
- RGBA4 : number ;
690
- RGB5_A1 : number ;
691
786
RGB565 : number ;
692
787
DEPTH_COMPONENT16 : number ;
788
+ DEPTH_COMPONENT24 : number ;
789
+ DEPTH_COMPONENT32F : number ;
693
790
STENCIL_INDEX : number ;
694
791
STENCIL_INDEX8 : number ;
695
792
DEPTH_STENCIL : number ;
@@ -707,6 +804,7 @@ declare module "webgl-raub" {
707
804
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME : number ;
708
805
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL : number ;
709
806
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE : number ;
807
+ COLOR : number ;
710
808
COLOR_ATTACHMENT0 : number ;
711
809
DEPTH_ATTACHMENT : number ;
712
810
STENCIL_ATTACHMENT : number ;
@@ -719,6 +817,9 @@ declare module "webgl-raub" {
719
817
FRAMEBUFFER_INCOMPLETE_DIMENSIONS : number ;
720
818
FRAMEBUFFER_UNSUPPORTED : number ;
721
819
FRAMEBUFFER_BINDING : number ;
820
+ DRAW_FRAMEBUFFER_BINDING : number ;
821
+ DRAW_FRAMEBUFFER : number ;
822
+ READ_FRAMEBUFFER : number ;
722
823
RENDERBUFFER_BINDING : number ;
723
824
MAX_RENDERBUFFER_SIZE : number ;
724
825
INVALID_FRAMEBUFFER_OPERATION : number ;
@@ -738,11 +839,21 @@ declare module "webgl-raub" {
738
839
TRANSFORM_FEEDBACK_PAUSED : number ;
739
840
TRANSFORM_FEEDBACK_ACTIVE : number ;
740
841
TRANSFORM_FEEDBACK_BINDING : number ;
842
+ UNPACK_IMAGE_HEIGHT : number ;
843
+ UNPACK_SKIP_IMAGES : number ;
844
+ UNPACK_SKIP_PIXELS : number ;
845
+ UNPACK_SKIP_ROWS : number ;
846
+ TEXTURE_COMPARE_FUNC : number ;
847
+ TEXTURE_COMPARE_MODE : number ;
848
+ COMPARE_REF_TO_TEXTURE : number ;
741
849
UNPACK_FLIP_Y_WEBGL : number ;
742
850
UNPACK_PREMULTIPLY_ALPHA_WEBGL : number ;
743
851
CONTEXT_LOST_WEBGL : number ;
744
852
UNPACK_COLORSPACE_CONVERSION_WEBGL : number ;
745
853
BROWSER_DEFAULT_WEBGL : number ;
854
+ MAX : number ;
855
+ MIN : number ;
856
+ UNPACK_ROW_LENGTH : number ;
746
857
PIXEL_PACK_BUFFER : number ;
747
858
PIXEL_UNPACK_BUFFER : number ;
748
859
PIXEL_PACK_BUFFER_BINDING : number ;
0 commit comments