BlazorExtensions / Canvas

HTML5 Canvas API implementation for Microsoft Blazor
MIT License
602 stars 145 forks source link

Parameter missing #96

Open aykay76 opened 3 years ago

aykay76 commented 3 years ago

https://github.com/BlazorExtensions/Canvas/blob/3d9b5e6eccb0a66d34172f07ceeb8b7f4d82aaec/src/Blazor.Extensions.Canvas/WebGL/WebGLContext.cs#L411

I believe this call is missing the "border" parameter which results in the following exception:

Microsoft.JSInterop.JSException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': Overload resolution failed.
TypeError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': Overload resolution failed.

According to the API documentation all overloads must have the border parameter (or shouldn't have the width and height): https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texImage2D

// WebGL1:
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, ArrayBufferView? pixels);
void gl.texImage2D(target, level, internalformat, format, type, ImageData? pixels);
void gl.texImage2D(target, level, internalformat, format, type, HTMLImageElement? pixels);
void gl.texImage2D(target, level, internalformat, format, type, HTMLCanvasElement? pixels);
void gl.texImage2D(target, level, internalformat, format, type, HTMLVideoElement? pixels);
void gl.texImage2D(target, level, internalformat, format, type, ImageBitmap? pixels);

// WebGL2:
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, GLintptr offset);
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, HTMLCanvasElement source);
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, HTMLImageElement source);
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, HTMLVideoElement source);
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, ImageBitmap source);
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, ImageData source);
void gl.texImage2D(target, level, internalformat, width, height, border, format, type, ArrayBufferView srcData, srcOffset);
jefflomax commented 3 years ago

Same issue here

dallas1287 commented 3 years ago

Seeing the same thing