# yawn yet another webgl ngine ## accepted plans - most of the logic in service workers - ts / webgl based - as declarative as possible - no backwards compatibility until v1.0 - as much geometric algebra as reasonable ## planned milestone - connect events from main thread to service worker - share canvas b/w sw - render triangle ## Goal: All the good algorithms What algorithms are we planning to have, - gpu picking? - HZB occlusion + frustum/portal culling? - deferred + forward lighting? - hair/fur support? - splines? - good auto lod (how?) - auto billboarding? - selective raytracing? (maybe to bake static lighting on init?) - Global Illumination? (how?) - postprocesses? - physics? - simulations? (fluid, cloth, rigid body, wind) - g-splats? - volumetrics? (openvdb?) - edge detection? - SDFs? - animation/bones? - spatial audio? - particles? - instancing? - procedural gen? (providing noise textures, perlin, voronoi) - mesh edits/CSG? - glass/refraction? - nanites? - caching? - streaming mesh data? (for progressive loading/nanites/volumetrics/sectors/occlusion-optimised loading) - server components? (websockets for mesh streaming) - collision sounds? ## are we gon use ogl or start from scratch? ## we need to decide architecture - ECS? - babylon-like - threejs-like - message passing? - observables? - events? - runnable on a server? - worker/main thread adaptable? or just worker?