* [9fans] Example for libgeometry @ 2025-12-15 2:02 Skip Tavakkolian 2025-12-15 12:47 ` Rodrigo G. López 0 siblings, 1 reply; 4+ messages in thread From: Skip Tavakkolian @ 2025-12-15 2:02 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs Hi all, In case anyone is interested, I've created an example [1] to display and manipulate 3D objects using libgeometry (i.e. arith3(2), matrix(2), qball(2)). If it is judged to be a good enough example, perhaps it should be in /sys/src/libgeometry. I wasn't able to find any example usage of the libary in any of the usual places, but I did find another implementation called moogle [2]. -Skip [1] https://github.com/9nut/plan9cmd/tree/main/examples [2] https://wiki.xxiivv.com/site/moogle.html ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tecc459ab350ef9bc-M7d37804a3e67f2aef9c676c2 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Example for libgeometry 2025-12-15 2:02 [9fans] Example for libgeometry Skip Tavakkolian @ 2025-12-15 12:47 ` Rodrigo G. López 2025-12-16 1:22 ` Skip Tavakkolian 0 siblings, 1 reply; 4+ messages in thread From: Rodrigo G. López @ 2025-12-15 12:47 UTC (permalink / raw) To: 9fans hi skip, we made improvements to the library for 9front some years ago, and i'm using it as the basis for some of my projects: - https://shithub.us/rodri/3dee/HEAD/info.html - https://shithub.us/rodri/libgraphics/HEAD/info.html it should have enough practical examples for many things. libgraphics implements a full 3d renderer, and on 3dee you'll find some tools to work with 3d files (OBJ, STL and the internal model(6) so far), along with a visualizer; it also includes a raymarching demo. notably, it's not the same interface as the old one, but we decided to make it more specific to geometry since the original one also embedded functionality related to graphics that would be better included in a different library. best regards, -rodri On Mon, Dec 15, 2025 at 3:23 AM Skip Tavakkolian <skip.tavakkolian@gmail.com> wrote: > > Hi all, > > In case anyone is interested, I've created an example [1] to display > and manipulate 3D objects using libgeometry (i.e. arith3(2), > matrix(2), qball(2)). If it is judged to be a good enough example, > perhaps it should be in /sys/src/libgeometry. > > I wasn't able to find any example usage of the libary in any of the > usual places, but I did find another implementation called moogle [2]. > > -Skip > > [1] https://github.com/9nut/plan9cmd/tree/main/examples > [2] https://wiki.xxiivv.com/site/moogle.html ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tecc459ab350ef9bc-M01592ba1b29e34c373bbd473 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Example for libgeometry 2025-12-15 12:47 ` Rodrigo G. López @ 2025-12-16 1:22 ` Skip Tavakkolian 2025-12-16 14:23 ` Rodrigo G. López 0 siblings, 1 reply; 4+ messages in thread From: Skip Tavakkolian @ 2025-12-16 1:22 UTC (permalink / raw) To: 9fans [-- Attachment #1: Type: text/plain, Size: 1851 bytes --] Thank you. That's good to know. I'll check it out. On Mon, Dec 15, 2025, 5:44 AM Rodrigo G. López <rodrigosloop@gmail.com> wrote: > hi skip, > > we made improvements to the library for 9front some years ago, and i'm > using it as the basis for some of my projects: > > - https://shithub.us/rodri/3dee/HEAD/info.html > - https://shithub.us/rodri/libgraphics/HEAD/info.html > > it should have enough practical examples for many things. libgraphics > implements a full 3d renderer, and on 3dee you'll find some tools to > work with 3d files (OBJ, STL and the internal model(6) so far), along > with a visualizer; it also includes a raymarching demo. > > notably, it's not the same interface as the old one, but we decided to > make it more specific to geometry since the original one also embedded > functionality related to graphics that would be better included in a > different library. > > > best regards, > > -rodri > > On Mon, Dec 15, 2025 at 3:23 AM Skip Tavakkolian > <skip.tavakkolian@gmail.com> wrote: > > > > Hi all, > > > > In case anyone is interested, I've created an example [1] to display > > and manipulate 3D objects using libgeometry (i.e. arith3(2), > > matrix(2), qball(2)). If it is judged to be a good enough example, > > perhaps it should be in /sys/src/libgeometry. > > > > I wasn't able to find any example usage of the libary in any of the > > usual places, but I did find another implementation called moogle [2]. > > > > -Skip > > > > [1] https://github.com/9nut/plan9cmd/tree/main/examples > > [2] https://wiki.xxiivv.com/site/moogle.html ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tecc459ab350ef9bc-Med8db9347f9196efe46e7588 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription [-- Attachment #2: Type: text/html, Size: 3980 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Example for libgeometry 2025-12-16 1:22 ` Skip Tavakkolian @ 2025-12-16 14:23 ` Rodrigo G. López 0 siblings, 0 replies; 4+ messages in thread From: Rodrigo G. López @ 2025-12-16 14:23 UTC (permalink / raw) To: 9fans if you are using it in your own projects and find yourself implementing some procedures often, or if there's any issue or you have ideas about how to improve it, please let me know; directly or through the list. there aren't that many users and it'd be good to get more feedback. one of the things we want to do next is turn the structs and the Matrix3? types into unions, for example replace typedef double Matrix[3][3]; with typedef union Matrix Matrix; union Matrix { double m[3][3]; struct { double m00, m01, m02; double m10, m11, m12; double m20, m21, m22; }; }; to provide more options or naming flexibility. in the case of the Matrix it also simplifies things, because it being an array makes it inconsistent and a pain to work with (you find yourself doing a lot of memmove(2), it hides the fact that it's a pointer when passed to routines, ...). the thing is that this breaks the ability to use compound literals for quick construction, which are very handy. it seems there has been talk about adding support for that to the compilers, but it will take a while. in the meantime it'd be great to hear about alternatives. another thing that would be neat to incorporate is some form of geometric algebra. is anybody working on that? best regards, -rodri On Tue, Dec 16, 2025 at 5:09 AM Skip Tavakkolian <skip.tavakkolian@gmail.com> wrote: > > Thank you. That's good to know. I'll check it out. > > > > On Mon, Dec 15, 2025, 5:44 AM Rodrigo G. López <rodrigosloop@gmail.com> wrote: >> >> hi skip, >> >> we made improvements to the library for 9front some years ago, and i'm >> using it as the basis for some of my projects: >> >> - https://shithub.us/rodri/3dee/HEAD/info.html >> - https://shithub.us/rodri/libgraphics/HEAD/info.html >> >> it should have enough practical examples for many things. libgraphics >> implements a full 3d renderer, and on 3dee you'll find some tools to >> work with 3d files (OBJ, STL and the internal model(6) so far), along >> with a visualizer; it also includes a raymarching demo. >> >> notably, it's not the same interface as the old one, but we decided to >> make it more specific to geometry since the original one also embedded >> functionality related to graphics that would be better included in a >> different library. >> >> >> best regards, >> >> -rodri >> >> On Mon, Dec 15, 2025 at 3:23 AM Skip Tavakkolian >> <skip.tavakkolian@gmail.com> wrote: >> > >> > Hi all, >> > >> > In case anyone is interested, I've created an example [1] to display >> > and manipulate 3D objects using libgeometry (i.e. arith3(2), >> > matrix(2), qball(2)). If it is judged to be a good enough example, >> > perhaps it should be in /sys/src/libgeometry. >> > >> > I wasn't able to find any example usage of the libary in any of the >> > usual places, but I did find another implementation called moogle [2]. >> > >> > -Skip >> > >> > [1] https://github.com/9nut/plan9cmd/tree/main/examples >> > [2] https://wiki.xxiivv.com/site/moogle.html > > 9fans / 9fans / see discussions + participants + delivery options Permalink ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tecc459ab350ef9bc-M349f2ab713d236f5dcbcabeb Delivery options: https://9fans.topicbox.com/groups/9fans/subscription ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-12-16 14:45 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-15 2:02 [9fans] Example for libgeometry Skip Tavakkolian 2025-12-15 12:47 ` Rodrigo G. López 2025-12-16 1:22 ` Skip Tavakkolian 2025-12-16 14:23 ` Rodrigo G. López
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).