Job is now finished, thanks for your interest
Hi Sagar, I built a small proof against your spec before applying: [demo link]
It’s a one-chunk three.js viewer with per-vertex AO computed on a half-block occupancy grid. Every block is two stacked half-cells, so slabs (and by extension stairs) shade correctly with no special-casing, which I understood to be the hard part of your task. AO is baked as a vertex attribute with strength as a shader uniform, so the slider never re-meshes. Quad diagonals flip toward the darker pair to avoid interpolation artifacts. Mesh time is shown live in the HUD (about 10 ms for 2k quads, hand-rolled mesher).
Honest scope note: I haven’t written Minecraft shader packs. My background is three.js application work (scene editing, cameras, collision) and heavy TypeScript, and the demo above is me closing that gap against your actual requirements. Chunk-boundary probing and pane/door self-shading exclusion are mesher-level extensions of the same probe, and I’m comfortable working against your Vitest suite and reference renders.
Availability: as needed
Hi, sagar, Thanks for reaching out. I’m interested in helping with the WBuilds ambient occlusion implementation.I’m a Senior 3D WebGL Developer with 7+ years of experience building real-time browser-based 3D applications using WebGL, Three.js, GLSL, TypeScript, and performance-focused rendering pipelines. I’ve worked on projects involving custom shaders, geometry optimization, GPU performance tuning, and maintaining smooth 3D experiences across desktop and mobile devices.
One relevant piece of work: Built and optimized interactive WebGL 3D platforms using Three.js/React Three Fiber, including custom rendering solutions, asset optimization, and shader/performance improvements. For the voxel AO approach, I would calculate per-vertex AO by sampling nearby cells in the half-block occupancy grid around each vertex, checking side and corner occlusion values. Each vertex would receive an AO factor stored as a vertex attribute, which the shader can use to blend the final lighting while handling special cases like transparent blocks and chunk borders. I’m available to start soon and can dedicate focused time to completing the task. I’d be happy to review the codebase and reference renders. Best regards
Hi Sagar,
Two sentences, as asked: I track occupancy at half-cell resolution (every block is two stacked half-cells), so each face vertex probes its two edge neighbours and the corner with the classic 0-3 rule, and stairs, slabs and creases fall out of one uniform probe with no special-casing. AO is baked as a vertex attribute with strength as a shader uniform so the slider never re-meshes; panes and doors are flagged non-occluding, and each chunk meshes with a 1-cell halo from its neighbours, which keeps AO seamless across chunk borders.
Relevant work: I built a small live demo against your spec before applying - stairs, slabs, fences, glass panes and a door; a Regenerate button rebuilds a random terrain and re-meshes both chunks on every click; the border between the two independently meshed chunks stays seamless (dashed line); quad diagonals flip toward the darker pair; mesh time in the HUD. I’d lock the rest in against your Vitest suite and reference renders, on a branch of your private repo.
Available now, comfortable delivering inside your window. Happy to continue in DM.
Steve