3d/README.md
2024-04-30 20:27:39 -04:00

1.7 KiB

noeidelon

Foxes dream of electron beams.

noe + eidelon (n. a thing, an image, a reflection)

https://art.mekanoe.com

Artworks

Development

nix to install bun... or do it globally.

bun run . to generate HTMLs

bun serve to serve them locally

bun dev if you're developing the templates for auto-generation.

Infrastructure

  • Output generation

    • Bun renders TypeScript and GLSL to html/
    • src/public/ is copied to html/
      • This doubles as an "archival" system to preserve scuffedness
    • .ply files are converted to JS typed arrays and Mesh objects
    • .html files (and README.md) are generated from rendered TypeScript main.ts files.
  • Platform

    • WebGLApp provides render loop, canvas, and other stuff
    • Behavior provides automatic registration of WebGLApp events (like Unity MonoBehaviors)
    • Shader provides GLSL shader tooling
    • Mesh is a DTO with vertex position, color, UVs, and faces
    • MeshRenderer sends WebGL instructions for rendering a Mesh object with a Shader object.
    • Renderable is a container of a Transform and Renderer (like a Unity GameObject)
    • Transform is a tuplet of a position vec3, rotation quat, and scale vec3; to be used anywhere needed.
    • Scene is a group of Renderables

License

Code and images are licensed under the AGPLv3 license. See LICENSE for more information.