00:18.03 |
brlcad |
that's the best place to start |
00:18.42 |
brlcad |
in particular, the intro to mged and the quick
reference, followed by principles of effective modeling |
00:19.19 |
dli |
brlcad, thanks |
04:00.51 |
*** join/#brlcad digitalfredy
(n=digitalf@200.71.62.161) |
04:52.11 |
*** join/#brlcad IriX64
(n=IriX64@toronto-HSE-ppp4303658.sympatico.ca) |
04:52.34 |
IriX64 |
so have you adopted my_free yet? |
04:59.18 |
brlcad |
heh |
04:59.40 |
brlcad |
already have it, it's called bu_free()
;) |
05:04.31 |
IriX64 |
i said round, but thanks ;) |
05:25.25 |
*** join/#brlcad PKMOBILE
(n=Apathy@c-24-13-128-35.hsd1.il.comcast.net) |
05:55.54 |
*** join/#brlcad
haywood_giablomi
(n=John_K@c-71-56-97-21.hsd1.ga.comcast.net) |
06:32.59 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/configure.ac:
xosdefs.h? how about searching for X11/Xosdefs.h instead |
06:34.18 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/src/libdm/
(dm-X.c dm-glx.c dm-ogl.c dm-pex.c dm-tk.c): HAVE_XOSDEFS_H was a
conf.h fictional, update to new configure check for
HAVE_X11_XOSDEFS_H and clean up header foo some. |
06:43.04 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/src/libdm/dm-X.c:
oops .. they are x_vars, not dm_xvars |
06:46.58 |
*** join/#brlcad clock_
(i=clock@84-72-62-41.dclient.hispeed.ch) |
08:21.15 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/BUGS: several of
the max screen size values were increased or reworked, revisit
bug |
08:27.01 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/TODO: intel
compiler was tested, it's pretty sweet. still need to add the
configure detection, though. also most warnings are quelled
finally, time to move on to the verbose warnings soon.. |
08:31.02 |
*** join/#brlcad clock_
(n=clock@zux221-122-143.adsl.green.ch) |
08:56.14 |
*** join/#brlcad clock__
(n=clock@zux221-122-143.adsl.green.ch) |
09:17.44 |
*** join/#brlcad clock_
(n=clock@zux221-122-143.adsl.green.ch) |
12:10.08 |
brlcad |
hmm |
12:16.39 |
clock_ |
brlcad: hi |
12:20.10 |
ValarQ |
hello clock and mr Cad |
12:25.07 |
brlcad |
ciao ciao clock_ ValarQ |
12:27.24 |
clock_ |
brlcad: yesterday we weree waxing down our
surfboards with Sex Wax :) |
12:54.56 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/src/mged/ged.c:
disable logging for now until it can be tied to OPTIMIZED
too |
13:04.09 |
*** join/#brlcad digitalfredy
(n=digitalf@200.71.62.161) |
13:18.26 |
*** join/#brlcad digitalfredy
(n=digitalf@200.71.62.161) |
13:26.59 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/BUGS: fbhelp
sends some of the output to stdout and some to stderr |
13:28.16 |
CIA-9 |
BRL-CAD: 03d_rossberg *
10brlcad/misc/win32-msvc/Dll/brlcad.def: expand exported symbols
list |
13:33.17 |
*** join/#brlcad rossberg
(n=rossberg@bz.bzflag.bz) |
14:29.47 |
*** join/#brlcad dli
(n=dli@nsit-dhcp-035-180.uchicago.edu) |
14:30.24 |
dli |
how do I select prim? |
14:31.00 |
dli |
the Edit menu entry is gray, and the command "
draw <obj>" does nothing |
14:39.45 |
*** join/#brlcad SWPadnos
(n=Me@dsl245.esjtvtli.sover.net) |
15:14.14 |
brlcad |
dli: you have to specify what geometry you
want it to draw |
15:14.49 |
brlcad |
then when you've drawn/loaded geometry, you
can specify a selection for edit or other operation |
15:15.30 |
brlcad |
dli: the n00b docs cover this in one of the
first lessons too fwiw ;) |
15:16.56 |
brlcad |
in short .. you can 1) run the geometry
browser and use it to display geometry or 2) use tops, get a list
of objects, run "e some_object" to display that object, use Edit
menu or sed 'some_oject' to edit a primitve |
15:17.14 |
brlcad |
just two of several ways to do that as
well |
15:21.22 |
dli |
brlcad, thanks |
15:24.36 |
dli |
brlcad, the 2nd way, in Edit menu, the "Prim
Selection" is gray, " sed " gives Error: Unable to do <keyboard
solid edit start> from SOL EDIT state. |
15:30.59 |
brlcad |
dli: oh, it sounds like you're already in
solid edit mode on some object? is there a reject/apply/accept
option? |
15:32.11 |
dli |
brlcad, got it, after rejection, it works
now |
15:32.34 |
brlcad |
yeah, helps to not be in edit mode
;) |
15:32.46 |
brlcad |
hooray for modality errors |
15:33.57 |
dli |
brlcad, can I get 2D drawing finally? the
classical ones, with dimensions |
15:34.31 |
dli |
brlcad, I can see there are Front/Top/Side
views, but I don't see a way to get dimensions on them |
15:36.20 |
``Erik |
heh, 'draft' mode seems to be getting a lot of
requests o.O :) |
15:36.25 |
clock_ |
dli: no support yet |
15:37.09 |
dli |
clock_, then, I have to work with bugs of
qcad |
15:49.04 |
clock_ |
dli: I have to work with bugs of qcad
too |
15:49.14 |
clock_ |
dli: especially the one that it cannot be
compiled on OpenBSD ;-) |
15:51.58 |
dli |
clock_, it compiles :( but it has serious font
problem, also, dashed ellipse shown as solid lines, it can not trim
ellipse arc |
15:53.19 |
clock_ |
dli: how did you compile it? |
15:53.23 |
clock_ |
What version are you using? |
15:54.04 |
dli |
clock_, 2.0.4.0-r1 in gentoo |
15:54.15 |
clock_ |
dli: ah Gentoo I said on OpenBSD |
15:54.33 |
dli |
clock_, I mean it compiles here :( |
16:16.04 |
*** join/#brlcad IriX64
(n=mario_du@toronto-HSE-ppp4303658.sympatico.ca) |
16:51.25 |
CIA-9 |
BRL-CAD: 03erikgreenwald *
10brlcad/src/librt/g_metaball.c: minor clean, and changed some
logic in shot to fix a memory leak. |
16:54.09 |
*** part/#brlcad IriX64
(n=mario_du@toronto-HSE-ppp4303658.sympatico.ca) |
16:54.44 |
*** join/#brlcad IriX64
(n=IriX64@toronto-HSE-ppp4303658.sympatico.ca) |
17:17.50 |
*** join/#brlcad IriX64
(n=IriX64@toronto-HSE-ppp4303658.sympatico.ca) |
17:27.59 |
*** join/#brlcad IriX64
(n=Who@toronto-HSE-ppp4303658.sympatico.ca) |
17:38.14 |
*** join/#brlcad DTRemenak
(n=DTRemena@c-24-23-59-104.hsd1.ca.comcast.net) |
17:52.26 |
brlcad |
ahh, ``Erik found it? |
17:54.01 |
``Erik |
yeah |
17:54.26 |
``Erik |
some fishy logic had an RT_GET_SEG that never
got to a BU_LIST_INSERT |
17:56.20 |
``Erik |
<-- special |
17:58.52 |
``Erik |
msot of this morning was getting a fresh debug
version on a single proc machine, heh :) |
18:05.06 |
brlcad |
so, compiling on your O2 again,eh?
:) |
18:06.53 |
``Erik |
hah, no, the 1.8ghz fbsd thingie |
18:06.55 |
``Erik |
my mp3 player |
19:12.52 |
*** join/#brlcad dli
(n=dli@nsit-dhcp-035-180.uchicago.edu) |
19:43.33 |
``Erik |
10293 vgr's, not too shabby |
19:45.24 |
brlcad |
not too shabby |
19:49.25 |
brlcad |
that's optimized I hope? |
19:49.42 |
brlcad |
curious how well --disable-runtime-debug
improves that score |
19:49.46 |
``Erik |
um, yeah, but still with debugging |
19:50.07 |
brlcad |
debugging isn't really much but cache
coherency related, maybe 1-2% at best |
19:50.17 |
brlcad |
running strip and you have the same |
19:50.32 |
``Erik |
yeah |
19:50.44 |
``Erik |
bah, you bastard |
19:50.46 |
brlcad |
--disable-runtime-debug, however, is
completely different |
19:50.59 |
``Erik |
$ sh autogen.sh |
19:50.59 |
``Erik |
INTERNAL ERROR: dirname/basename
inconsistency: autogen.sh != ./autogen.sh |
19:51.04 |
brlcad |
it disabled the plethora of run-time validity
checks that just bomb |
19:51.09 |
brlcad |
heh |
19:51.52 |
brlcad |
comment it out |
19:52.01 |
brlcad |
or fix it :) |
19:52.21 |
``Erik |
meh, I ran it as ./autogen.sh |
19:54.47 |
brlcad |
yep, that's denoted in the BUGS file ..
noticed that over a year ago |
19:55.19 |
brlcad |
no biggie, you can run it installed from
anywhere and just point RT to the one just compiled |
19:55.29 |
brlcad |
RT=path/to/RT benchmark |
19:56.11 |
brlcad |
or even: RT=path/to/rt make
benchmark |
19:58.14 |
brlcad |
interesting.. "dirname autogen.sh" reports
"." |
19:59.14 |
brlcad |
heh, sh ./autogen.sh would have worked
too |
20:04.53 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/autogen.sh: if
autogen.sh exists, consider it good enough. otherwise then print
error cruftage. |
20:09.44 |
``Erik |
11555 vgr's |
20:10.44 |
``Erik |
like 12.2% gain |
20:13.17 |
*** join/#brlcad clock_
(i=clock@84-72-61-250.dclient.hispeed.ch) |
20:22.56 |
dtidrow_work |
11555 - nice :-) |
20:27.30 |
dtidrow_work |
best I've gotten on this box is 2335 |
20:29.35 |
brlcad |
dtidrow_work: did you try
--disable-runtime-deubg ? |
20:30.43 |
dtidrow_work |
nope, wasn't aware of it |
20:30.50 |
dtidrow_work |
just did 'make benchmark' |
20:31.24 |
dtidrow_work |
'--disable-runtime-deubg' - is that a
configure option? |
20:48.03 |
brlcad |
ahhh |
20:48.15 |
brlcad |
yes, it's a configure option |
20:48.28 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/configure.ac:
check for the sys/prctl.h header .. it declares sproc() |
20:48.30 |
brlcad |
helps to not repeat my typo too :) ..
"debug" |
20:49.04 |
brlcad |
./configure --enable-optimized --disable-debug
--disable-runtime-debug should give a fairly optimal run-time
result |
20:49.47 |
dtidrow_work |
heh - back in 40min then ;-) |
20:51.13 |
brlcad |
after a make clean of course to clear out the
proevious build |
20:51.25 |
dtidrow_work |
yep - compiling now |
20:51.32 |
brlcad |
that should pretty much double your
performance unless the previous was already
--enable-optimized |
20:51.46 |
dtidrow_work |
which it was |
20:52.02 |
dtidrow_work |
that boosted it from ~1700 to 2335 |
20:52.04 |
brlcad |
so then you might get anywhere from 10-30%
from disabling run-time debug |
20:52.18 |
brlcad |
surprisingly low boost actually |
20:52.37 |
dtidrow_work |
this is a 4-year-old box :-\ |
20:52.41 |
brlcad |
commodity platform? |
20:52.53 |
dtidrow_work |
Dell 670 from '02 |
20:53.04 |
dtidrow_work |
530, rather |
20:53.19 |
brlcad |
implies either the compiler is doing a pretty
good job optimizing at -O0 or is doing a horrible job at
-O3 |
20:53.22 |
dtidrow_work |
dual 2GHz Xeons with HT turned on |
20:53.47 |
brlcad |
or a little bit of both probably more
likely |
20:53.48 |
dtidrow_work |
running FC4 |
20:54.25 |
dtidrow_work |
gcc 4.0.2 |
20:55.24 |
``Erik |
<PROTECTED> |
21:14.53 |
dtidrow_work |
brlcad: getting an error in the compilation,
though it seems weird |
21:14.57 |
dtidrow_work |
make[1]: Entering directory
`/home/dtidrow/src/brlcad-7.8.2/pix' |
21:14.57 |
dtidrow_work |
make[1]: *** No rule to make target
`bldg391.pix', needed by `all-am'. Stop. |
21:14.57 |
dtidrow_work |
make[1]: Leaving directory
`/home/dtidrow/src/brlcad-7.8.2/pix' |
21:15.16 |
dtidrow_work |
why would it be making stuff in the 'pix'
dir? |
21:19.10 |
brlcad |
hrm, that is odd |
21:19.52 |
brlcad |
sounds like file(s) have been
deleted |
21:20.07 |
dtidrow_work |
yeah, something got screwed |
21:20.10 |
brlcad |
ooh |
21:20.25 |
brlcad |
you said you did make benchmark? |
21:20.29 |
dtidrow_work |
yeah |
21:20.43 |
brlcad |
did you also run configure with
--enable-only-benchmark? |
21:20.49 |
dtidrow_work |
nope |
21:20.52 |
brlcad |
hrmph |
21:21.06 |
brlcad |
is that pix file in the pix/ dir? |
21:21.24 |
dtidrow_work |
don't see it there |
21:21.37 |
dtidrow_work |
wait a minute, let me check again |
21:22.16 |
dtidrow_work |
there's a "bldg391.pix.22980" |
21:22.41 |
brlcad |
ahh, sounds like you maybe deleted the
reference images at some point |
21:22.44 |
dtidrow_work |
looks like a process-id added onto the end,
like from a previous benchmark run |
21:22.52 |
dtidrow_work |
hmmm |
21:23.09 |
dtidrow_work |
maybe I should just nuke the whole thing and
start fresh from the tarball |
21:23.20 |
brlcad |
when you run benchmark, it dumps out a lot of
pix files, backing up existing as .PID files |
21:24.29 |
brlcad |
yeah, starting fresh is probably
best |
21:25.11 |
dtidrow_work |
easy enough |
21:27.32 |
*** join/#brlcad IriX64
(n=Who@toronto-HSE-ppp4303658.sympatico.ca) |
21:28.05 |
CIA-9 |
BRL-CAD: 03brlcad *
10brlcad/src/canon/canon.h: use the newly added HAVE_SYS_PRCTL_H so
we can check whether PR_SALL and PR_SFDS are provided by the sproc
interface for working with dslib. |
21:31.10 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/src/canon/
(canonlib.c ipuscan.c ipustat.c pix-ipu.c png-ipu.c): header
cleanup |
21:31.23 |
brlcad |
dtidrow_work: do you happen to have any
experience with mosix? |
21:31.39 |
dtidrow_work |
nope, what is it? |
21:31.54 |
brlcad |
it's a cluster operating system |
21:32.16 |
brlcad |
provides virtual shared memory, automatic
process migration among nodes, load balancing, etc |
21:32.18 |
dtidrow_work |
ah, that's why it sounds vaguely
familiar |
21:32.35 |
IriX64 |
obviously not a vax cluster. :) |
21:32.38 |
brlcad |
SMP style, not the distributed independent
MPI/PVM style |
21:34.19 |
IriX64 |
Qnix? |
21:34.23 |
IriX64 |
:) |
21:34.45 |
IriX64 |
your comeback should be *nix ;) |
21:44.01 |
IriX64 |
would pay for a screen shot of your system
brlcad, if thats what you're running. |
21:52.20 |
CIA-9 |
BRL-CAD: 03brlcad * 10brlcad/src/librt/tree.c:
quell 64bit warning |
21:56.07 |
dtidrow_work |
I'd love to see what the benchmark on this
monster comes out as: http://www.boxxtech.com/products/apexx8.asp |
21:58.16 |
brlcad |
ooh, sweet hardware |
21:58.59 |
dtidrow_work |
indeed :-) |
21:59.17 |
dtidrow_work |
think they had a demo system of that
@SIGGRAPH |
21:59.18 |
brlcad |
I'd bet/hope something on the order of 30k vgr
if not better |
21:59.33 |
dtidrow_work |
I never did get a good look in that
booth |
21:59.35 |
brlcad |
rough quote? |
21:59.50 |
dtidrow_work |
guessing around $30k |
22:01.16 |
dtidrow_work |
k, the latest bench run came out at
2556 |
22:01.42 |
brlcad |
hm, so about 10% too |
22:01.55 |
dtidrow_work |
something like that |
22:02.13 |
dtidrow_work |
I just need a new box ;-) |
22:02.34 |
dtidrow_work |
the rambus memory probably isn't helping,
either |
22:03.00 |
brlcad |
seems reasonable.. the higher end 30% numbers
are mostly on much older hardware, especially systems like irix 5
that can get branch predictions wrong a lot |
22:04.03 |
brlcad |
nice to see almost every test more than a
million rays/sec :) |
22:04.04 |
dtidrow_work |
which altix system? |
22:04.11 |
brlcad |
it's a 12 node |
22:04.19 |
dtidrow_work |
nice |
22:04.29 |
brlcad |
1.4 |
22:04.40 |
dtidrow_work |
too bad it's from S_I |
22:11.00 |
brlcad |
13574 vgr |
22:13.26 |
``Erik |
that the 12 or the 16? |
22:13.58 |
brlcad |
the 12 |
22:14.17 |
``Erik |
1131 vgr's per core, opposed to the amd64's
2889 vgrs per core :) |
22:14.25 |
brlcad |
yup |
22:14.29 |
``Erik |
*stomp* hehehe |
22:14.46 |
brlcad |
considerably more spensive too.. though way
better on I/O |
22:14.56 |
``Erik |
*nod* |
22:15.21 |
``Erik |
if the amd had the same class of disk, it'd be
smokin' too, though |
22:17.46 |
brlcad |
not just disk, their cray interconnect stuff
is just nice |
22:18.06 |
brlcad |
i think that more than anything is what gets
the compile down so fast |
22:18.56 |
brlcad |
mind you that vgr is also on a machine that is
probably about 3-4 years old, cluster is at least 6-12 months
newer |
22:19.30 |
brlcad |
i mean, the new macbooks are almost 5k
.. |
22:20.21 |
brlcad |
that puts one single xserve in the ballpark of
that altix |
22:20.31 |
brlcad |
and the cluster |
22:21.46 |
brlcad |
that boxx apex system is sweet though.. if the
specs match up, that really could be as much as 20-30k
vgrs |
22:22.11 |
IriX64 |
you people are spoled rotten :) |
22:22.24 |
IriX64 |
spoiled too. |
22:22.35 |
dtidrow_work |
what's the new 'vgr'? |
22:22.47 |
brlcad |
though at $30k, you'd get more bang per buck
with 8 xserves.. should be about 80k vgrs |
22:22.47 |
dtidrow_work |
is that the altix? |
22:23.12 |
dtidrow_work |
that $30k was just a guess |
22:23.13 |
brlcad |
no no.. vgr baseline is unchanged |
22:23.16 |
IriX64 |
reguts.c line 58 NDEBUG redefined
guys. |
22:23.29 |
dtidrow_work |
still the ancient VAX? |
22:23.42 |
brlcad |
IriX64: there is no reguts.c |
22:23.50 |
IriX64 |
eh? |
22:24.05 |
IriX64 |
my mistake :( |
22:24.18 |
IriX64 |
must be mine. |
22:24.27 |
IriX64 |
it is. |
22:24.36 |
brlcad |
dtidrow_work: the physical hardware for VGR
was decommissioned about 5 years ago iirc, but we still have the
performance metrics |
22:24.57 |
dtidrow_work |
that's what I thought |
22:25.06 |
brlcad |
i've been looking at using vax running in simh
to keep it maintainable indefinitely |
22:25.39 |
brlcad |
i set up the vax in there and got netbsd
installed with not too much hassle, few source edits, some kernel
trickery to get data in the machine |
22:25.41 |
dtidrow_work |
Chris Johnson was messing around with that at
one time |
22:25.54 |
brlcad |
yeah, we were talking about that a year or two
ago |
22:26.42 |
brlcad |
wouldn't take too much work (one would
imagine) to throttle simh so that it consistently computes an exact
1.0 vgr |
22:26.49 |
IriX64 |
regguts.h sorry. |
22:27.02 |
``Erik |
heh |
22:27.08 |
brlcad |
IriX64: that's tcl, not our code |
22:27.33 |
brlcad |
any warnings in src/other are "not our
problem" |
22:27.42 |
IriX64 |
never mind its legit i disable debug and
symbols. |
22:27.47 |
``Erik |
but netbsd instead of bsd4.3? you're not
afraid of library differences or kernel differences skewing things?
:) |
22:27.48 |
brlcad |
I only care fix code in there if it
fails |
22:27.50 |
IriX64 |
disabled too. |
22:28.05 |
``Erik |
or are you gonna try to redefine the vgr
o.O |
22:28.15 |
brlcad |
you have a copy of 4.3 lying around?
:) |
22:28.23 |
``Erik |
I bet kermit has the tapes |
22:28.24 |
brlcad |
i would have gone for anything |
22:28.30 |
brlcad |
but open crapped on it |
22:28.38 |
brlcad |
and wasn't even going to attempt
free |
22:28.48 |
``Erik |
old fbsd might've |
22:28.50 |
brlcad |
net was seamless |
22:29.19 |
``Erik |
be interesting seeing how many vgr's a vgr
class machine gets with a different(ish) os |
22:29.23 |
dtidrow_work |
http://www.creativemac.com/articles/viewarticle.jsp?id=39966
- says that a maxed one would be around $80k |
22:29.23 |
brlcad |
yeah, maybe old, but net was clean and very
simple |
22:29.31 |
brlcad |
eek |
22:29.58 |
dtidrow_work |
likely fully loaded with memory and
disks |
22:30.26 |
dtidrow_work |
which means 128GB RAM and 7-10TB of
disk |
22:30.26 |
brlcad |
that's like 16 xserves loaded .. different
architecture of course, but if the vgr count was primae fascia
importance.. |
22:30.40 |
dtidrow_work |
and one system image |
22:30.41 |
brlcad |
makes for a beautiful deskside SMP station,
though, gotta admit |
22:31.11 |
dtidrow_work |
the new BFM9000 ;-) |
22:31.25 |
brlcad |
pretty much :) |
22:32.05 |
dtidrow_work |
brlcad: when did you start up there at
ARL? |
22:32.11 |
brlcad |
if I had the new cad website up with the
benchmark database.. I'd certainly be working on getting simh going
with some stable setup |
22:32.28 |
brlcad |
dtidrow_work: about 7 years ago |
22:32.30 |
brlcad |
thereabouts |
22:32.38 |
dtidrow_work |
did you ever make it down to NVL? |
22:32.44 |
brlcad |
NO! |
22:32.47 |
brlcad |
i wish i had |
22:32.48 |
dtidrow_work |
heh |
22:33.33 |
brlcad |
that's a connection that unfortunately was
lost with the loss oD[D[D[D[D[D[D[D[D[Df m.m. |
22:33.43 |
brlcad |
er, that was wierd |
22:34.11 |
dtidrow_work |
glitch in the matrix? ;-) |
22:34.20 |
brlcad |
i think so |
22:34.35 |
dtidrow_work |
lol |
22:34.39 |
``Erik |
mr anderson... |
22:35.14 |
brlcad |
so.. ``Erik .. the freebsd ports
thing |
22:35.29 |
``Erik |
um, hrm? |
22:35.41 |
brlcad |
assuming it's all worky worky now for using a
system tcl/tk |
22:35.49 |
``Erik |
no |
22:36.01 |
brlcad |
i'm playing with the idea of having multiple
independent projects |
22:36.14 |
``Erik |
when it starts up, it look for tcl paths and
only gets the brlcad/crap path, since it only search for one
path |
22:36.23 |
``Erik |
or, it did last I looked |
22:36.31 |
brlcad |
yeah, I mean aside from that.. still have to
fix that ;) |
22:36.53 |
``Erik |
well, asking it to use the system tcl and tk
si trivial, I've tried it a few times |
22:36.59 |
``Erik |
but until that is fixed, it's
unusable |
22:37.17 |
brlcad |
how much work you think it'll be to support
having multiple ports packages as well as the main kitchen sink
one? |
22:37.24 |
``Erik |
uh |
22:37.29 |
``Erik |
why would it be multiple ports
packages? |
22:37.44 |
brlcad |
18:36 <@brlcad> i'm playing with the
idea of having multiple independent projects |
22:37.57 |
``Erik |
ah, heh |
22:37.57 |
brlcad |
so that if I only wanted some piece.. i could
install just that |
22:37.59 |
``Erik |
well |
22:38.01 |
brlcad |
e.g. libpkg |
22:38.06 |
brlcad |
or the raytrace library |
22:38.10 |
brlcad |
or just mged |
22:38.13 |
brlcad |
or just the converters, etc |
22:38.27 |
``Erik |
um, if it's broken into like 30 projects, that
would be difficult to get flying with the comitters and
core |
22:38.28 |
brlcad |
(see doc/PROJECTS for what'd probably be the
list) |
22:38.39 |
brlcad |
more like 10 |
22:39.01 |
brlcad |
howso? I've seen other ports that are broken
up that way |
22:39.10 |
``Erik |
into 2 or 3 |
22:39.13 |
brlcad |
especially the big ones, gtk is a prime
example |
22:39.15 |
``Erik |
... |
22:39.27 |
``Erik |
heh, gtk is broken into gtk and glib |
22:39.29 |
``Erik |
... |
22:39.43 |
``Erik |
and lots of other programs started using glib
without gdk and gtk, so it was broken up |
22:39.55 |
brlcad |
it works, though |
22:40.06 |
brlcad |
there are several projects in brl-cad that
really stand on their own |
22:40.23 |
brlcad |
some are already in ports as a separate
project even :) (ttcp) |
22:40.53 |
``Erik |
yeah, ttcp, jove, ... |
22:41.14 |
``Erik |
if you do it, I could try to create a bunch of
ports and see if they fly |
22:41.31 |
brlcad |
we don't "own" jove, but we technically do
ttcp even if there are "patched versions" out there now that have
more features |
22:41.45 |
``Erik |
heh |
22:41.50 |
``Erik |
about as much as we own ping... |
22:41.57 |
brlcad |
i'm just wondering how much trouble it'd
be |
22:42.06 |
brlcad |
nah, ttcp hasn't changed nearly as much as
ping has ;) |
22:42.23 |
``Erik |
a day or so of work to get the ports built and
stuff, then antoher week or so to get 'em reviewed and committed,
I'd imagine |
22:42.30 |
``Erik |
ping is a little more used than ttcp |
22:42.32 |
brlcad |
i looked into bringing in his original ping
source as a utility |
22:43.06 |
brlcad |
would have too, cept he initially wrote the
sockets using privileged socket options |
22:43.12 |
brlcad |
so you have to run it as root :) |
22:43.33 |
``Erik |
heh |
22:44.03 |
brlcad |
was tempting, though.. I could actually use
that in the new modeler as a plugin had it not |
22:47.00 |
IriX64 |
heh ;) |
22:48.16 |
IriX64 |
#ifdef #ifndef whats an n more or less
:) |
22:54.38 |
IriX64 |
while((ptr=strchr(string,'\0x0d')));ptr+1=0x00; |
22:54.48 |
IriX64 |
whats wrong with that? |
22:55.28 |
brlcad |
heh, this is right up your alley ``Erik:
http://www.hermann-uwe.de/files/images/programmer_hierarchy.png |
22:57.21 |
IriX64 |
brlcad:should rename to required education for
any programmer. :) |
22:57.58 |
IriX64 |
ahrrrgggghhhh *ptr+1 |
22:58.15 |
IriX64 |
*(ptr+1) |
23:00.13 |
brlcad |
hm .. depends entirely on the intent, no?
:) |
23:00.22 |
IriX64 |
yah. :) |
23:00.55 |
IriX64 |
intent is to null terminated a bunch of non
nullterminated strings. |
23:01.14 |
IriX64 |
but the do have 0d oa in them. |
23:01.21 |
IriX64 |
0a too |
23:02.25 |
*** join/#brlcad Twingy
(n=justin@c-69-250-236-111.hsd1.md.comcast.net) |
23:12.44 |
b0ef |
brlcad: it's really great to break up the
project like that;) |
23:14.26 |
Twingy |
Smoking is bad for your lungs. |
23:14.49 |
b0ef |
, but it sure is good |
23:16.20 |
Twingy |
it's a waste of time |
23:16.33 |
IriX64 |
thats why i do it ;) |
23:16.52 |
Twingy |
are you religious? |
23:16.57 |
b0ef |
Twingy: so you claim |
23:17.04 |
IriX64 |
yes the one true religion. |
23:17.08 |
brlcad |
beer? |
23:17.16 |
IriX64 |
beleiving. |
23:17.33 |
IriX64 |
catholicism the rest just ways of
beiliving. |
23:17.50 |
brlcad |
i've seen it, even tasted |
23:17.52 |
IriX64 |
thats a cult :) |
23:19.03 |
IriX64 |
twingy is suppsed to do cpr. |
23:19.09 |
IriX64 |
supposed too. |
23:19.19 |
brlcad |
i don't think that'd be a good idea
:) |
23:19.34 |
IriX64 |
leave me dead would you ? |
23:19.40 |
IriX64 |
medi |
23:19.44 |
IriX64 |
medic too. |
23:21.12 |
IriX64 |
better a hippie than a yuppie don't you
think? |
23:22.09 |
brlcad |
hey Twingy.. you know of a good means to
compute an OBB that's aligned with the view frustum? |
23:22.25 |
brlcad |
(of implicit prims, not just polys) |
23:22.33 |
Twingy |
isn't that an oxymoron? |
23:22.56 |
brlcad |
er, not afaik |
23:23.09 |
Twingy |
is the OBB AA? |
23:23.27 |
brlcad |
it'd be an aabb if I consider the view frustum
as creating some global coordinate system i suppose |
23:24.03 |
brlcad |
but even then.. i have that transformation,
and not clear how to make a nice tight fitting bb |
23:24.29 |
brlcad |
end result that I'm trying to get is a rect on
pixel image where an object possibly intersects |
23:24.31 |
Twingy |
you have an arbitrary view and a frustum that
goes with it |
23:25.02 |
IriX64 |
do pixel math :) |
23:25.04 |
brlcad |
s/intersects/exists or is otherwise going to
get rendered for some rays) |
23:25.40 |
Twingy |
what is the OBB encapsulating? |
23:26.36 |
brlcad |
i got a torus being looked at 35 25 or
something, going to render 512x512.. want to know which ray-pixels
are definitely NOT possibly intersecting the torus |
23:26.54 |
brlcad |
idea was to create an obb aligned with the
view to get that box |
23:27.22 |
Twingy |
a scene graph would be able to tell you that
with the same amount of instructions as your proposed algorithm
would |
23:28.09 |
Twingy |
but given how coupled everything is to
BSP's... |
23:28.32 |
brlcad |
okay, but even the scene graph would be
testing rays against planes or aabbs or obb's or some other
bvh |
23:29.00 |
Twingy |
they would be, but the number of instructions
is like in the tens, just ask alexis |
23:29.01 |
brlcad |
i don't really want to test rays
(yet) |
23:29.43 |
Twingy |
the cross products alone will eat up that many
instructions |
23:30.15 |
brlcad |
still.. you say walk the scene graph which is
all good.. but a scene graph of what? just a bsp? |
23:30.37 |
IriX64 |
Twingy: not if you encapsulate the algorithm
in a repetitive loop with a way out. |
23:30.50 |
Twingy |
a graph of nodes with pointers to neighbors
like alexis has, I'm not sure how detailed I can get without his
permission though |
23:31.11 |
Twingy |
it becomes a breshenham stepping
problem |
23:31.21 |
brlcad |
so he's using aabbs basically |
23:31.26 |
Twingy |
yes, exactly |
23:31.31 |
brlcad |
or at least you're suggesting using
aabbs |
23:31.31 |
Twingy |
but not a tree |
23:31.49 |
Twingy |
yea, if aabb's get used as a tree like I did
in adrt then it's already non-optimal |
23:31.49 |
brlcad |
sure |
23:32.16 |
brlcad |
basically a variant of grid
traversal |
23:32.21 |
Twingy |
exactly |
23:32.29 |
brlcad |
ingo actually talked a fair bit about his work
on that this past year.. |
23:32.31 |
Twingy |
but not in any research papers |
23:32.36 |
Twingy |
atleast as of yet afaik |
23:32.49 |
Twingy |
ah, so he's catching up to alexis's work then
:) |
23:32.54 |
brlcad |
perhaps |
23:33.09 |
brlcad |
you'll have to take a look at the course
video |
23:33.36 |
Twingy |
ok, but getting back to reality |
23:33.42 |
brlcad |
still wasn't close to russian dude's first-hit
tracer |
23:33.46 |
Twingy |
implementing a scene graph is not practical
right now |
23:33.59 |
Twingy |
reschetov's is clever, but still not entirely
optimal |
23:33.59 |
brlcad |
but then nobody is still |
23:34.35 |
brlcad |
not practical, howso? |
23:34.45 |
Twingy |
I think he's trying to use kd-tree's in ways
that no longer make them kd-tree's... |
23:35.14 |
Twingy |
it's not a textbook tree if you have leaf
nodes pointing to other leaf nodes |
23:35.44 |
brlcad |
it's just an inbred tree ;) |
23:35.45 |
Twingy |
it's closer to a scene graph than
anything |
23:36.05 |
Twingy |
I think reschetov will be the first to call it
a scene graph |
23:36.19 |
Twingy |
but ingo might too, anybody's guess |
23:36.58 |
Twingy |
so back to the torus |
23:37.15 |
brlcad |
getting back to my problem, though.. at least
one of my many problems.. say I wanted to draw a box, light up the
pixels, around some rendered object |
23:37.24 |
Twingy |
you're doing 2 matrix multiplies right now I
take it? |
23:37.51 |
Twingy |
what if you steal some rasterization
codes |
23:37.59 |
brlcad |
right now, nothing.. i'm trying to sort out
what I need to implement |
23:38.02 |
Twingy |
reasterize the torus |
23:38.05 |
Twingy |
*rasterize |
23:38.14 |
brlcad |
that's the trick though, without rendering the
box contents |
23:38.23 |
brlcad |
otherwise it's just trivial pixel
walking |
23:38.25 |
Twingy |
but rasterization is cheap |
23:38.52 |
Twingy |
ok, don't rasterize |
23:38.54 |
brlcad |
not in this particular usage.. i just want to
know a basic projection box around the object |
23:38.59 |
Twingy |
nod |
23:39.21 |
brlcad |
i can take the bounding sphere and quickly
compute a bounding box around that.. but that's rarely going to be
tight fitting |
23:40.11 |
Twingy |
so are you going to do ray/box
testing? |
23:40.27 |
brlcad |
i was hoping to avoid any ray testing, but if
necessary sure |
23:40.40 |
dtidrow_work |
brlcad: what are you trying to do
again? |
23:40.42 |
brlcad |
it seems just conceptually that I should be
able to compute that box |
23:40.48 |
brlcad |
directly |
23:41.28 |
brlcad |
dtidrow_work: determine a bounding square on a
rendered image around some given object in 3-space |
23:41.33 |
Twingy |
that box is already a function in each
primitive |
23:41.51 |
brlcad |
so if I rendered a tank, for example, this
would be the tightest fitting square outline in the image if I were
to crop the image |
23:42.05 |
brlcad |
the box is aligned to global coordinates in
each prim |
23:42.10 |
brlcad |
not the view |
23:42.25 |
brlcad |
I could do the same projection like for the
sphere, but that'll also not be tight fitting |
23:42.42 |
Twingy |
is this just to speed up rendering images with
empty pixels or in general, like in a forest |
23:43.00 |
brlcad |
which is why I was thinking of how to compute
an obb directly on some given prim, and provide an orientation that
was aligned with the view |
23:43.39 |
brlcad |
neither and both really.. it's for an idea I
have for fast csg evaluation |
23:43.46 |
Twingy |
that box is a function of the projection
matrix AND modelview matrix |
23:44.09 |
Twingy |
if we're talking opengl lingo |
23:44.27 |
brlcad |
it's an idea that would effectively make
boolweave and the bsp traversal go away in librt
potentially |
23:44.44 |
brlcad |
or at least get computed in a radically
different manner |
23:45.30 |
Twingy |
is the box you're getting aligned with the
view? horizontal and vertical lines |
23:45.31 |
brlcad |
yeah, it is .. so how do I go from those two
matrices to that projection? |
23:45.42 |
brlcad |
yeah, purely horizontal and vertical |
23:46.01 |
Twingy |
oh, I know |
23:46.05 |
brlcad |
basically I want to categorize pixels bunches
sort of into the postage stamp sections |
23:46.21 |
Twingy |
the mesa source code has the GLU Project
utility |
23:46.22 |
brlcad |
where know this square of pixels needs to be
tested |
23:46.44 |
Twingy |
take the 8 projected points of the box, min
max them |
23:46.45 |
Twingy |
done |
23:46.46 |
brlcad |
against some primitive |
23:46.58 |
Twingy |
you already have a bounding box for the
primitive |
23:47.13 |
brlcad |
that's what i meant though.. that's projecting
the aabb onto the view |
23:47.16 |
brlcad |
it's not tight fitting |
23:47.18 |
Twingy |
so you project the 8 points (might be an
optimization in there to do less) and grab the min max |
23:47.40 |
Twingy |
oh, the aabb |
23:47.47 |
Twingy |
well, you could always add a new type of
box |
23:48.00 |
Twingy |
that is the aabb * transformation
matrix |
23:48.14 |
Twingy |
err some function of that |
23:48.20 |
Twingy |
6 floats... |
23:48.28 |
brlcad |
which would be a function that effectively
computes an obb :) |
23:48.46 |
brlcad |
which i don't see how to directly evaluate on
a given implicit :) |
23:48.50 |
Twingy |
yea, but I just listed the puzzle
pieces |
23:48.57 |
Twingy |
well the code will simplify |
23:49.35 |
Twingy |
I know that with the projection code from
mesa, transformation matrix for the primitive, and perhaps an extra
6 floats in each primitive I could hash something out then optimize
it |
23:49.42 |
Twingy |
atleast that is what my approach would
be |
23:49.53 |
brlcad |
hm |
23:50.02 |
brlcad |
i'll take a look there then |
23:50.24 |
Twingy |
I ripped the mesa projection code and put it
in nurbana for selecting control points on a mesh |
23:50.42 |
Twingy |
the code documents are in french I
think |
23:50.50 |
Twingy |
but it's easy to follow |
23:51.03 |
brlcad |
heh |
23:52.52 |
Twingy |
http://js.cx/~justin/ProjectUtility.cpp |
23:53.50 |
Twingy |
you want UnProject |
23:54.17 |
Twingy |
all the way at the bottom |
23:55.48 |
Twingy |
the trick will be finding the optimizations
after you merge it into the other code to project the 8
pts |
23:56.13 |
Twingy |
my gut feeling is you can simplify alot of
that cruft |
23:56.18 |
brlcad |
hm |
23:56.39 |
Twingy |
output of UnProject is x,y screen
coordinate |
23:56.44 |
brlcad |
i think i follow, but still don't have a good
way to determine those 8 points |
23:56.57 |
brlcad |
in model space |
23:57.04 |
Twingy |
before the primitive gets a transformation
applied to it |
23:57.15 |
Twingy |
it's AABB is tight fitting no? |
23:57.25 |
brlcad |
yeah, should be |
23:57.27 |
brlcad |
ahhh |
23:57.35 |
brlcad |
so it's rotating |
23:57.37 |
Twingy |
k, stargate time |
23:58.11 |
brlcad |
calculating the box using the aabb, then
unprojecting those points back up through the modelview and
projection matrix |
23:58.14 |
brlcad |
coolness |
23:58.20 |
brlcad |
thanks, that might just work! :) |
23:58.44 |
brlcad |
mm.. stargate.. yay for dvr.. but time to go
home :) |