Graphical output canvas is affected by a separate kernel
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- computer-graphics
Línea de trabajo
Comienza ejecutando en Chrome la reproducción proporcionada de GPU.js en el navegador con WebGL2 habilitado, centrándote en createKernel, setGraphical, setOutput y la interacción con renderKernel.canvas. Compara las dimensiones del canvas después de que se ejecute imgKernel con la salida gráfica esperada de 32x32. Se considera terminado cuando el kernel de imagen independiente ya no afecta al tamaño del canvas renderizado, que debería ser de 32x32 y estar completamente cubierto por la salida roja.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción

What is wrong?
It seems as if one kernel's output size can affect the size of a canvas created by another. This means that the canvas created by a kernel is larger than should be expected.
Where does it happen?
GPU.js running in browser in Chrome on a Mac (WebGL2 enabled)
How do we replicate the issue?
const gpu = new GPU();
const img_width = 64;
const img_height = 64;
const imgKernel = gpu
.createKernel(function (_image) {
const pixel = _image[this.thread.y][this.thread.x];
return pixel[0];
})
.setOutput([img_width, img_height]);
const renderKernel = gpu
.createKernel(function () {
this.color(1, 0, 0, 1);
})
.setGraphical(true)
.setOutput([32, 32]);
const image = document.createElement("img");
image.src = "./test.png";
image.onload = () => {
console.log("image width x height", image.naturalWidth, image.naturalHeight);
const imgOut = imgKernel(image); // This is not used just run
document.body.appendChild(renderKernel.canvas);
renderKernel();
};
The output looks like this:

You can see that the canvas is 64x64 pixels, the size of the imgKernel but the red section is 32x32 inside that which is the output of renderKernel despite the two having no relationship other than both of them are called.
How important is this (1-5)?
5 This is a pretty limiting bug if you want to use multiple kernels.
Expected behavior (i.e. solution)
Should show a 32x32 red canvas as far as I can tell.
Other Comments
Thank you for your time looking at this.
- Lenguaje dominante
- JavaScript
- Estrellas
- 15.5k
- Forks
- 663
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de gpujs/gpu.js
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
-
WebGL backend silently returns all zeros for long-running kernels (no GL error, no context loss) Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Bitwise result not correct Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Todos los issues de gpujs/gpu.js
Issues similares
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
[quality] workflow-scripts guard reads test:unit:coverage as skipping the unit suite, blocking #632 Abiertoagent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
area-clientside-dartpad
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100