Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

205
Views
p5.js — "Error: [argumentos de objeto] no es una representación de color válida" solo cuando se trabaja con WEBGL

Estoy tratando de dibujar un campo de estrellas (entre otras cosas) usando p5.js.

Recibo este error cuando creo mi lienzo usando WEBGL, pero el error desaparece cuando no lo uso. Sin embargo, necesito el lienzo para usar WEBGL para otros aspectos del proyecto. Claramente me estoy perdiendo algo aquí.

 var CANVAS_SIZE = 600; var starfield; function setup() { createCanvas(CANVAS_SIZE, CANVAS_SIZE, WEBGL); noStroke(); buildStarfield(); // noprotect } function buildStarfield() { starfield = createImage(CANVAS_SIZE,CANVAS_SIZE); starfield.loadPixels(); var starThreshold = 205; //threshold to weed out "less bright" stars for (var i = 0; i < CANVAS_SIZE; i++) { for (var j = 0; j < CANVAS_SIZE; j++) { // generate a noise map on which to base the starfield var c = 255 * noise(0.1 * i, 0.1 * j, random(0,1)); // if c > starThreshold the draw a star else draw empty space if (c>starThreshold) { starfield.set(i, j, color(255,255,255,1)); } else { starfield.set(i, j, color(0,0,0,10)); } } } starfield.updatePixels(); } function draw() { background(starfield); }

Aquí es donde estoy probando, si importa:

https://editor.p5js.org/

Cualquier idea de por qué esto createCanvas(CANVAS_SIZE, CANVAS_SIZE); trabajo, pero no createCanvas(CANVAS_SIZE, CANVAS_SIZE, WEBGL); ¿este?

¿Cómo puedo hacer que funcione usando WEBGL?

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Puede ser un error temporal con background() y WEBGL .

Mientras eso se arregla, puedes usar:

 image(starfield,-starfield.width / 2, -starfield.height / 2);

en lugar de background(starfield) para obtener el mismo resultado visual usando WEBGL (funcionará como image(startfield, 0, 0); si no está usando WEBGL )

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!