Tom Gale
MModular
•Created by Tom Gale on 9/9/2024 in #community-showcase
mo3d: 3D library for Mojo
Ok, this all makes sense (but is scary in terms of amount of work!). In some cases we might want to try and integrate with 3rd party tools e.g. for the BREP stuff we would need to polygonise them from an open format such as STEP to trianges before rendererd (e.g. use a library like OCCT: https://dev.opencascade.org/doc/overview/html/). However, if we want to maintain selection functionally, then we will have the slightly tricky job of keeping the render triangles in sync with the underlying representation (I think this can be quite a lot of work).
As a side note, if I could re-summarise where my current interest is drawing me:
- Basic (somewhat efficient) direct/indirect light renderer.
- Reasonably sane scene representation (basic ECS but not as opinionated/integral as say Bevy) - with support for BVH/Octree and SDF for primitives (including triangles)
- Integrate a basic rigid/soft-body simulator (physics)
- Hook in agentic systems to drive systems in the ECS.
- Experiment with differentiable rendering from various viewports.
However, given what you're interested in, selecting things like polygons should be possible (e.g. by shooting out rays at the control points attached to more geometric entities). I'll have a think about this and see if this can be integrated into my fuzzy mental roadmap!
23 replies
MModular
•Created by Tom Gale on 9/9/2024 in #community-showcase
mo3d: 3D library for Mojo
Ah right, yeah I'm afraid this project is a bit more primitive at the moment. I'm just learning and building a scene representation (ECS) and renderer (Path Tracer) from the ground up in mojo. I think folks are working on bindings to libraries like
wgpu
if you look around in #community-showcase . I guess in that case you could write a more conventional shader pipeline.23 replies
MModular
•Created by Tom Gale on 9/9/2024 in #community-showcase
mo3d: 3D library for Mojo
Sure, go for it! It might take a while as I'm a bit slow! However, thank you for your interest! Can you roughly outline what you're trying to achieve? I'm assuming you might want something like direct lighting to ensure you get interactive/real-time performance? The indirect lighting solution is still naïve and slow, I'm planning on attempting to speed it up with MIS/Metropolis in the future. Long term (multi-year goals), we have powerful enough hardware and a good enough renderer implementation that we can always use indirect lighting.
23 replies
MModular
•Created by Tom Gale on 9/9/2024 in #community-showcase
mo3d: 3D library for Mojo
Great shout, the sparse stuff in openvdb is very interesting. I definitely need to add it to my reading list. Thanks.
I also like the way sparse concepts are handled in taichi https://docs.taichi-lang.org/docs/sparse
23 replies
MModular
•Created by Tom Gale on 9/9/2024 in #community-showcase
mo3d: 3D library for Mojo
Oh nice, right now it's in a very basic/exploratory stage while I slowly learn things. It's just rendering basic signed distance fields, and that's limited to just spheres! I'm assuming you'd want a height map / mesh renderer for your geo data? I've played a bit with this sort of thing in the past, you can do nice things like accelerating hit calculations on those triangles by placing them in a bvh/octree structure.
Thanks for the interest!
23 replies
MModular
•Created by Tom Gale on 9/9/2024 in #community-showcase
mo3d: 3D library for Mojo
Oh sure, that would be great!
23 replies