9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] qball(2) bounced back
@ 2024-05-18 10:00 rgl
  2024-05-18 15:49 ` qwx
  0 siblings, 1 reply; 3+ messages in thread
From: rgl @ 2024-05-18 10:00 UTC (permalink / raw)
  To: 9front

hello everyone,

i recently fixed the qball, after almost a year and a half of me saying i would:

	http://git.antares-labs.eu/3dee/plain/qball.c

it is consistent with the conventions used in libgeometry, and it works by
default when looking at a model from the positive z-axis (just like Shoemake's).

the thing is, i've been thinking about it, and it doesn't make sense to
put it in there. it is actually a perfect fit for mouse.h with its menuhit(2)
and enter(2) routines; the problem is that this would make libdraw depend on
libgeometry, or require to keep a copy of the Quaternion procedures used for
the qball—and make sure they are in sync with libgeometry.

i don't know how many users of libgeometry are out there, even less so that
would be interested in a contraption like this, but if you have better ideas,
now is the time to speak up. :)

you can try it out with the visualizer from 3dee:

	% git/clone git://shithub.us/rodri/3dee
	% cd 3dee && mk pulldeps && mk all
	% 6.vis mdl/tribasis.obj
	# or better yet
	% 6.vis -t <{ <mdl/diablo3_diffuse.tga tga -9t} mdl/diablo3.obj

then use LMB to rotate the model.

if there's no interest in adding this to the system at the moment, i will
probably end up putting it on libgraphics, in a control.c file along with
other 3d control devices i might need over time.

also feel free to grab it and use it for your own projects.


thank you for your time, and have a good weekend!

-rodri

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9front] qball(2) bounced back
  2024-05-18 10:00 [9front] qball(2) bounced back rgl
@ 2024-05-18 15:49 ` qwx
  2024-05-18 18:43   ` Rodrigo G. López
  0 siblings, 1 reply; 3+ messages in thread
From: qwx @ 2024-05-18 15:49 UTC (permalink / raw)
  To: 9front

On Sat May 18 12:06:14 +0200 2024, rgl@antares-labs.eu wrote:
> hello everyone,
> 
> i recently fixed the qball, after almost a year and a half of me saying i would:
> 
> 	http://git.antares-labs.eu/3dee/plain/qball.c
> 
> it is consistent with the conventions used in libgeometry, and it works by
> default when looking at a model from the positive z-axis (just like Shoemake's).
> 
> the thing is, i've been thinking about it, and it doesn't make sense to
> put it in there. it is actually a perfect fit for mouse.h with its menuhit(2)
> and enter(2) routines; the problem is that this would make libdraw depend on
> libgeometry, or require to keep a copy of the Quaternion procedures used for
> the qball—and make sure they are in sync with libgeometry.

Awesome, 3dee is really cool :) Performance isn't great but it works
nicely.

Why not leave qball in libgeometry?  Isn't it implicit that you'd be
using both libgeometry and mouse+keyboard with qball anyway?  If so,
imho it's fine.  libdraw et al aren't as cleanly delineated as they
could be, so these sorts of dependencies are common.

I'd personally be happy to see all of this part of the distro, it's
very interesting and throrougly in plan9 style, but it's just my
opinion (minus some of the model files of course).

Cheers,
qwx

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9front] qball(2) bounced back
  2024-05-18 15:49 ` qwx
@ 2024-05-18 18:43   ` Rodrigo G. López
  0 siblings, 0 replies; 3+ messages in thread
From: Rodrigo G. López @ 2024-05-18 18:43 UTC (permalink / raw)
  To: 9front, qwx

i guess it's a matter of keeping it simple, i mean, ideally i would not put it in any of those places, but take the input devices/controls out of libdraw and into their own libui (or whatever we could call it) and add it there.

the qball is very much a graphics thing, and libgeometry's job is to focus on geometry, not visualization—related as they are. graphics libraries should depend on it, not the other way around.

…but maybe i'm being too pedantic.

i will add all of this eventually, as long as it's welcome (it's a lot of code), so i was thinking i put it in libgraphics, then merge it when the time comes. :)


-rodri

On May 18, 2024 3:49:02 PM UTC, qwx@sciops.net wrote:
>On Sat May 18 12:06:14 +0200 2024, rgl@antares-labs.eu wrote:
>> hello everyone,
>> 
>> i recently fixed the qball, after almost a year and a half of me saying i would:
>> 
>> 	http://git.antares-labs.eu/3dee/plain/qball.c
>> 
>> it is consistent with the conventions used in libgeometry, and it works by
>> default when looking at a model from the positive z-axis (just like Shoemake's).
>> 
>> the thing is, i've been thinking about it, and it doesn't make sense to
>> put it in there. it is actually a perfect fit for mouse.h with its menuhit(2)
>> and enter(2) routines; the problem is that this would make libdraw depend on
>> libgeometry, or require to keep a copy of the Quaternion procedures used for
>> the qball—and make sure they are in sync with libgeometry.
>
>Awesome, 3dee is really cool :) Performance isn't great but it works
>nicely.
>
>Why not leave qball in libgeometry?  Isn't it implicit that you'd be
>using both libgeometry and mouse+keyboard with qball anyway?  If so,
>imho it's fine.  libdraw et al aren't as cleanly delineated as they
>could be, so these sorts of dependencies are common.
>
>I'd personally be happy to see all of this part of the distro, it's
>very interesting and throrougly in plan9 style, but it's just my
>opinion (minus some of the model files of course).
>
>Cheers,
>qwx

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-18 18:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-18 10:00 [9front] qball(2) bounced back rgl
2024-05-18 15:49 ` qwx
2024-05-18 18:43   ` 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).