From 96f41ea6b310e7d5b3d108154817ca4c3838ac1f Mon Sep 17 00:00:00 2001 From: Gyuri Horak Date: Fri, 31 Mar 2023 18:42:12 +0200 Subject: [PATCH] 3d texture from image --- TODO.md | 4 ++++ demo/3dt.html | 2 +- demo/3dt.png | Bin 0 -> 4148 bytes src/repa-texture.js | 6 +++--- 4 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 demo/3dt.png diff --git a/TODO.md b/TODO.md index 3047747..ca8ceb1 100644 --- a/TODO.md +++ b/TODO.md @@ -1,2 +1,6 @@ - fix mouse, add button, drag +- 3d texture + - format + - inner format + - data from external script diff --git a/demo/3dt.html b/demo/3dt.html index 428ecb0..8bdf00a 100644 --- a/demo/3dt.html +++ b/demo/3dt.html @@ -25,7 +25,7 @@ - + void main() { vec2 uv = gl_FragCoord.xy / resolution.xy; vec3 col = texture(tex_avatar, uv).rgb; diff --git a/demo/3dt.png b/demo/3dt.png new file mode 100644 index 0000000000000000000000000000000000000000..c42bd6afa27cee094d1b621e8fdd2d20d933f055 GIT binary patch literal 4148 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 Wf9UYSp?8~jucvLK)u7?@{C@ysVfH-$ literal 0 HcmV?d00001 diff --git a/src/repa-texture.js b/src/repa-texture.js index ea65665..68ff306 100644 --- a/src/repa-texture.js +++ b/src/repa-texture.js @@ -352,15 +352,15 @@ class RepaTexture extends HTMLElement { } get width() { - return this._width || this.ref?.videoWidth || this.ref?.width || 0; + return +(this._width || this.getAttribute("width") || this.ref?.videoWidth || this.ref?.width || 0); } get height() { - return this._height || this.ref?.videoHeight || this.ref?.height || 0; + return +(this._height || this.getAttribute("height") || this.ref?.videoHeight || this.ref?.height || 0); } get depth() { - return this._depth || this.ref?.depth || 0; + return +(this._depth || this.getAttribute("depth") || this.ref?.depth || 0); } get magFilter() {