Paint on primitives #93

Open
opened 2026-05-14 07:52:53 +00:00 by utopiah · 5 comments
Owner

Now that #29 and #30 are implemented, allowing to draw freely in 3D, it would be useful to use similar mechanics to paint on primitives (and potentially models).

It could stay with painting on <a-plane> then generalize to faces of other primitives then models.

It's useful for annotations but also follow how powerful creating own assets is with OctoStudio. There are seeding assets but very quickly using the camera a lot is added with the World around the player.

Now that #29 and #30 are implemented, allowing to draw freely in 3D, it would be useful to use similar mechanics to paint on primitives (and potentially models). It could stay with painting on `<a-plane>` then generalize to faces of other primitives then models. It's useful for annotations but also follow how powerful creating own assets is with OctoStudio. There are seeding assets but very quickly using the camera a lot is added with the World around the player.
utopiah added the Beyond NLNet2025-04 label 2026-05-14 07:53:01 +00:00
Author
Owner

Well known toys like Spirograph https://en.wikipedia.org/wiki/Spirograph or basic 2D drawing (e.g. using SVG in https://home.benetou.fr/spirale.html or more generally canvas) can be use to teach geometrical concepts. This in turn can be used here.

Well known toys like Spirograph https://en.wikipedia.org/wiki/Spirograph or basic 2D drawing (e.g. using SVG in https://home.benetou.fr/spirale.html or more generally canvas) can be use to teach geometrical concepts. This in turn can be used here.
Author
Owner

See also #88

See also #88
utopiah added the Remixing label 2026-05-29 12:25:28 +00:00
Author
Owner
See also past work on drawing on canvas https://git.benetou.fr/utopiah/spasca-fot-sloan-q4/src/branch/main/data/index.html#L1162-L1211
utopiah removed the Beyond NLNet2025-04 label 2026-05-29 13:34:36 +00:00
Author
Owner

Can be used for #84

Can be used for #84
Author
Owner

Consider

elForCanvas.setAttribute("src", graphicscanvas.toDataURL() ) 
let m = elForCanvas.getObject3D('mesh').material
if (m.map) m.map.needsUpdate = true // does not work in VR
// optionally
Consider ``` elForCanvas.setAttribute("src", graphicscanvas.toDataURL() ) let m = elForCanvas.getObject3D('mesh').material if (m.map) m.map.needsUpdate = true // does not work in VR // optionally ```
Sign in to join this conversation.