Log inGet started
World

The Eighth Ketyl

Branchmain
Branchesmain
Commite99ff0a216

README.md

ColumnGeometry

The still's shapes, built as triangles.

Everything the column draws is a mesh this module assembles: surfaces of revolution for the shells, domes and bubble caps, a polar-grid deck that can carry a hole where a riser passes through it, boxes for bars and ribs, tubes and annuli for the rest. Parts accumulate into ONE builder and go to the GPU as a single mesh, which is what keeps eight plates of trays, weirs, skirts, ribs and a hundred and sixty bubble caps at a handful of draws.

local G = require("ColumnGeometry")

local b = G.builder()
G.revolve(b, { { r = 0.3, y = 0 }, { r = 0.7, y = 0.5 }, { r = 0, y = 0.9 } }, 16, x, z, 1, 0.6, false)
G.deck(b, 9.0, y, 0.42, 72, 12, { { x = 6.4, z = 0, r = 1.7 } })
local handle = G.upload(b)     -- hand it to a Model component

revolve derives its normals from the profile's own tangent, so a wall, a lip and a dome all shade correctly from one call; flip turns a shell inside out. deck omits the quads that fall inside a hole and leaves the rim open, because a riser's brass collar is what covers it. triangles reports what a builder is holding before it is uploaded.