00:14.15 |
*** join/#brlcad iraytrace
(n=iraytrac@cocoa.sci.utah.edu) |
01:02.04 |
*** join/#brlcad andrecastelo
(n=chatzill@189.71.41.1) |
01:03.06 |
andrecastelo |
good evening everyone ;) |
01:06.47 |
hippieindamakin8 |
good morning andrecastelo |
01:25.12 |
brlcad |
ahhh, waht a day |
01:31.10 |
spike_ |
waves at
everyone |
01:38.12 |
andrecastelo |
hey brlcad |
01:38.28 |
andrecastelo |
is there a problem if i change my mind from
implementing MLT in C++ to implement it in C ??? :) |
01:41.45 |
brlcad |
andrecastelo: heh |
01:41.51 |
brlcad |
what's the reasoning? |
01:41.57 |
andrecastelo |
well |
01:42.33 |
andrecastelo |
originally i thought encapsulation,
abstraction and operator overloading would benefit the whole
algorithm |
01:42.40 |
*** join/#brlcad DaytonaJohn
(n=jra@c-68-55-36-65.hsd1.md.comcast.net) |
01:43.14 |
brlcad |
andrecastelo: yeah, I don't see that as being
a good reason to go with it -- I presumed you were merely
justifying what is familiar to you ;) |
01:43.19 |
andrecastelo |
but some parts of the code written would
eventually be incompatible with existing code.. part of the code
written in C++ wouldn't be usable in other C code |
01:43.30 |
brlcad |
do you have a stronger basis in OO or
procedural? |
01:43.41 |
andrecastelo |
and there is no need to rewrite basic
structures |
01:43.48 |
andrecastelo |
in OO |
01:43.48 |
brlcad |
it just would have to be isolated as
c++ |
01:44.33 |
brlcad |
yeah, rewriting basic structures would be
frowned -- you'd still be expected to write classes that reuse
libbu/libbn/librt as needed |
01:45.21 |
andrecastelo |
the requirement for a patch is a great thing
indeed |
01:46.04 |
andrecastelo |
i'll update my application
accordingly |
01:48.30 |
brlcad |
great |
01:54.54 |
brlcad |
for what it's worth, erik doesn't like OO
(unless it's pure), procedural is probably a step up for him but
still below functional ... he's a schemer ;) |
01:55.09 |
hippieindamakin8 |
brlcad i posted a reply |
01:55.14 |
brlcad |
hippieindamakin8: ok |
01:55.15 |
brlcad |
thanks |
01:55.28 |
hippieindamakin8 |
hey can we discuss it rt now ? |
01:56.24 |
andrecastelo |
brlcad: like ruby ? |
01:56.57 |
brlcad |
like smalltalk, can't speak for him re:
ruby |
01:57.21 |
brlcad |
likes ruby .. about as
impractical as smalltalk, but a nice language |
01:58.20 |
andrecastelo |
(is Ada OO ?) |
01:58.22 |
brlcad |
andrecastelo: either way, you still just need
to be able to justify your design decisions regardless of the
mentor's preference ;) |
01:58.48 |
andrecastelo |
brlcad: i justified it and i hope it's
acceptable |
01:59.18 |
brlcad |
though I would heavily argue against a
functional impl for integration/maintainability reasons
:) |
01:59.46 |
brlcad |
hippieindamakin8: i'm not sure what you'd like
to discuss |
02:00.08 |
andrecastelo |
brlcad: you are pro C++ ? |
02:00.39 |
brlcad |
in general or for your project? |
02:00.52 |
brlcad |
I could see going either way for your
project |
02:01.37 |
brlcad |
if it is C++, there are a slew of stipulations
like still reusing existing libs as much possible and not mixing
C++ into any existing C facilities |
02:03.27 |
andrecastelo |
i see.. |
02:03.46 |
brlcad |
andrecastelo: your app is probably at the
point that it should start moving to the wiki too if you haven't
started already |
02:04.31 |
andrecastelo |
yeah, it's too big ehhehe |
02:05.21 |
andrecastelo |
on a related note - i'm having some weird
issues trying to compile some of the code i've written |
02:05.41 |
andrecastelo |
this is the compile log -> http://pastebin.com/d5eb121ff
and this is the code -> http://pastebin.com/d1b8b3aee |
02:07.02 |
andrecastelo |
what you think is wrong ? |
02:07.24 |
brlcad |
"inconsistent dll linkage" .. sounds like
you're trying to compile a file as both C and C++ |
02:07.55 |
brlcad |
or both imported and exported |
02:08.45 |
andrecastelo |
actually i haven't compile the version i'm
with, i'm guessing that's the problem |
02:09.30 |
andrecastelo |
(i had that warning before and could compile
rtarea) |
02:09.44 |
andrecastelo |
i'll build everything and get back to you
after hehehe |
02:09.45 |
brlcad |
andrecastelo: OOh.. tsk tsk |
02:10.00 |
brlcad |
http://pastebin.com/d1b8b3aee
<-- bad :) |
02:10.17 |
brlcad |
you're compiling C code, not C++ |
02:10.25 |
brlcad |
remember your scoping declaration rules for
C |
02:13.18 |
andrecastelo |
bad code?? |
02:13.25 |
andrecastelo |
why exactly ? |
02:17.12 |
brlcad |
that hilighted line is an error .. think about
why :) |
02:21.47 |
andrecastelo |
ehhe ok ok |
02:21.56 |
pacman87 |
brlcad: http://brlcad.org/wiki/Revolve_Primitive |
02:24.58 |
brlcad |
pacman87: I read it :) |
02:25.05 |
brlcad |
well, skimmed it for now :) |
02:25.59 |
brlcad |
i'm very dubious as to how you intend to get
the profile curve of a given/arbitrary primitive or (even harder)
that of a combination |
02:26.36 |
brlcad |
you don't have a reliable method to project
the outline onto 2D |
02:32.18 |
pacman87 |
yeah, that's the hardest part |
02:32.50 |
brlcad |
heh, "hardest" is an understatement |
02:33.13 |
brlcad |
makes the shot() routine for sweeps seem like
bubble sort |
02:33.40 |
pacman87 |
well, i could calculate it
numerically |
02:33.57 |
pacman87 |
it only has to be done once |
02:33.59 |
pacman87 |
then stored |
02:36.10 |
pacman87 |
once the outline is found for each shape,
combinations aren't that much more work than getting the outline in
the first place |
02:37.28 |
hippieindamakin8 |
ya brlcad i wish not to mix C++ into existinc
C facilities but use the existing header and dependancies as it is
in the first phase of refactoring the code |
02:38.56 |
pacman87 |
since each shape has a bounding volume, i
could do a grid over the plane, and check each point for
in/out |
02:39.04 |
pacman87 |
and keep refining the border |
02:39.08 |
pacman87 |
until it meets the tolerance |
02:40.53 |
brlcad |
andrecastelo: hint: search for "declaring
variables mid-function" |
02:41.03 |
pacman87 |
for the simpler primitives, it may be possible
to solve analytically |
02:41.19 |
pacman87 |
but that's in the 'optimization' phase of my
timelime |
02:41.25 |
andrecastelo |
brlcad: oooooohhh |
02:41.27 |
brlcad |
pacman87: yes, but how do you "calculate it
numerically" |
02:41.53 |
pacman87 |
given a primitive, get the bounding
volume |
02:42.16 |
pacman87 |
intersect that volume with the plane specified
for the 2D revolve outline |
02:42.20 |
brlcad |
basically you'd end up point-sampling (i.e.
ray-tracing) to find the contour.. :) |
02:42.28 |
pacman87 |
essentially |
02:42.35 |
andrecastelo |
brlcad: i'm building the project i'll try
something in a sec |
02:42.36 |
brlcad |
hehe |
02:42.41 |
pacman87 |
but i can ignore everything that's clearly
outside or clearly inside |
02:43.17 |
brlcad |
pacman87: well I suppose that will give an
approximation -- you'd also then have to derive and fit a series of
splines to the contour .. that's not easy |
02:43.44 |
pacman87 |
i never said it'd be easy |
02:43.46 |
brlcad |
just take the case of a projected cube rotated
45 degrees |
02:43.49 |
pacman87 |
just that it's possible |
02:44.23 |
pacman87 |
cutting it somewhere down the
middle? |
02:44.39 |
brlcad |
actually finding the four piecewise linear
segments would be really hard |
02:45.24 |
brlcad |
especially at each corner .. |
02:45.26 |
pacman87 |
it depends on how the 2D outline is actually
stored |
02:46.55 |
pacman87 |
if it's stored as a series of (r,z)
points |
02:49.50 |
pacman87 |
check the midpoint of each segment to make
sure it's within the tolerance |
02:49.56 |
pacman87 |
if not, add a new point in the
middle |
02:50.28 |
brlcad |
hm |
02:50.49 |
pacman87 |
also specify a maximum distance between
points |
02:51.05 |
brlcad |
I think there's another way that doesn't
require sampling |
02:51.08 |
pacman87 |
to avoid getting (un)lucky on a segment who's
midpoint happens to be right |
02:51.24 |
pacman87 |
please share :) |
02:51.46 |
brlcad |
don't know why I didn't think of it |
02:52.12 |
brlcad |
you have the right idea with thinking about it
from the perspective of considering the plane |
02:53.00 |
brlcad |
you're already evaluating a given ray during
shot() against some contour |
02:54.04 |
pacman87 |
shot() for the revolve? |
02:54.49 |
brlcad |
there's no reason you couldn't just evaluate
that same ray against the actual primitive/combination being
revolved and just using it's hit/miss characteristic as the
inside/outside result |
02:55.59 |
brlcad |
the trick is that you'll have to figure out
where the primitivies/combinations are situated in order to
evaluate them |
02:56.00 |
pacman87 |
what if that ray is rotated away from the
original primitive, such that the ray misses the original, but
should hit the revolved part |
02:56.07 |
brlcad |
which is the same problem you have with
sweeps |
02:57.49 |
brlcad |
you'd probably have to perform some sort of
newtonian iteration to find the extents .. arg, that'd really be
slow as hell |
02:58.34 |
andrecastelo |
(compiled perfectly |
02:58.36 |
andrecastelo |
) |
02:59.32 |
*** join/#brlcad justin__
(n=justin@74.92.144.217) |
02:59.51 |
pacman87 |
for rev shot(), you're getting the segment
intersected with the base shape, and checking it agianst the
outline plane? |
03:01.04 |
brlcad |
sort of |
03:01.37 |
brlcad |
consider a ray being shot at a shape that is
centered on the axis of rotation |
03:01.50 |
pacman87 |
symmetric shape or not? |
03:01.57 |
brlcad |
doesn't matter |
03:02.07 |
pacman87 |
ok |
03:02.44 |
brlcad |
what you end up doing is solving the min/max
rotation of that shape to find the closest and farthest entry/exit
spans |
03:03.21 |
*** join/#brlcad SWPadnos_
(n=Me@dsl107.esjtvtli.sover.net) |
03:04.00 |
yukonbob |
1 note while pacman87 is here -- in the into
to your posting today... did you mean start and end surfaces will
be "flat plates", or "flat planes" (or does it matter? typo/grammar
editing is the best I can offer on that posting :) |
03:04.11 |
brlcad |
that's the newtonian iteration I was thinking
of, you have to solve the aligned rotations that give you maximal
extents .. and that basically amounts to shooting the same ray at
that shape with different rotations |
03:04.53 |
pacman87 |
right, that method does a lot of calculation
for each shot9) |
03:04.55 |
pacman87 |
shot() |
03:05.36 |
pacman87 |
yukonbob: should probably be planes, thanks
for the feedback |
03:05.44 |
yukonbob |
laughs |
03:05.52 |
yukonbob |
yw |
03:06.05 |
brlcad |
pacman87: this is all interesting and
something to keep thinking about ... BUT ... I have to admit that
I'm lacking faith in finding a "useful" solution in reasonable time
-- I'd probably say stick with classic 2D sketches being revolved
first and proposing in your timeline to revisit with 3D shapes
later as time permits :) |
03:06.31 |
pacman87 |
if you find the outline once per shape, then
the ray intersection is a 2D problem |
03:06.34 |
brlcad |
pacman87: no more than sampling to find an
outline :) .. should be less if the solver can converge fast enough
:) |
03:06.51 |
pacman87 |
right, but the outline only happens once per
shape |
03:06.57 |
pacman87 |
not once per ray |
03:06.58 |
brlcad |
except like I said earlier, that approach
results in sampling and shape extraction problems |
03:07.42 |
brlcad |
the "real solution" is to complete brep
support for all of the primitives, then you'd just project the 3D
brep curves onto the 2D plan and have your exact curve |
03:07.42 |
pacman87 |
you dont need to extract the shape if you keep
the outline as a set of points |
03:07.54 |
brlcad |
brep support, however, is incomplete |
03:08.32 |
pacman87 |
but yeah, i'll move the 3D shapes to the end
under 'additional features' |
03:09.13 |
*** join/#brlcad
hippieindamakin8 (n=hippiein@210.212.55.3) |
03:15.01 |
andrecastelo |
hey brlcad.. i'll keep on working on the patch
tomorrow |
03:15.09 |
andrecastelo |
i'm too tired, i'm going to get some
sleep |
03:15.16 |
brlcad |
the real question is how you intend to solve
sweeps as they're a similar problem |
03:15.21 |
andrecastelo |
cya tomorrow |
03:15.27 |
brlcad |
cya andrecastelo |
03:15.48 |
brlcad |
does not comprehend this
"sleep" he speaks of |
03:16.29 |
pacman87 |
brlcad: it's sort of like being knocked
unconscious, but you feel better when you wake up |
03:18.21 |
pacman87 |
the sweep will probably have to be done how
you describe |
03:18.58 |
brlcad |
dunno, I felt pretty good after the only time
i've been unconconscious .. wisdom teeth .. god bless those
drugs |
03:19.55 |
CIA-20 |
BRL-CAD: 03starseeker * r30658
10/brlcad/trunk/src/proc-db/tire.c: New way of specifying the sides
- hopefully somewhat more robust than previous method. |
03:20.36 |
starseeker |
``Erik: OK, now what were your tire
dimensions again? |
03:20.53 |
starseeker |
may stand a chance of getting
them now |
03:20.56 |
brlcad |
pacman87: what do you think about implementing
the rt_*_brep() routines as part of getting sweep to
work? |
03:21.27 |
pacman87 |
that could be easier/more useful than any
other way of doing it |
03:22.08 |
brlcad |
are you familiar with what boundary
representation spline surfaces are, how to define/create them?
:) |
03:23.07 |
pacman87 |
no, but i could learn :) |
03:23.31 |
pacman87 |
i didnt' know anything about raytracing before
i started researching it, either :) |
03:23.32 |
brlcad |
heck if you just worked on revolve,
rt_*_brep(), and some sort of rt_project_brep_to_sketch() routine,
that would be insanely useful/cool |
03:23.54 |
brlcad |
and probably consume all summer |
03:24.07 |
brlcad |
sweeps then become just a generalized
solution |
03:24.32 |
pacman87 |
yeah, i'll have to start researching
breps |
03:24.42 |
brlcad |
otherwise maybe limiting both sweep and
revolve to sketchs for starters, then working on rt_*_brep() as
time permits to get generalized shapes |
03:24.47 |
pacman87 |
when do we finalize exactly the scope of my
project? |
03:25.02 |
brlcad |
when you're happy with it and we're happy with
it |
03:25.26 |
pacman87 |
sketch only first seems to be a good
solution |
03:25.32 |
brlcad |
if you keep going the way you're going,
there's little chance for unhappiness :) |
03:25.53 |
pacman87 |
because if i do the 3D stuff without the brep,
i'd just have to redo it later |
03:25.57 |
pacman87 |
thanks ;) |
03:25.58 |
brlcad |
save for you being happy and capable of
learning the solutions :) |
03:26.33 |
brlcad |
rt_project_brep_to_sketch() would be pretty
math-intensive, for example |
03:27.04 |
brlcad |
even just implementing sweep/revolve with
sketches isn't easy, but extrude is a good example |
03:27.27 |
pacman87 |
would you want a different project() and
intersection() for total outline vs outline in a specified
plane? |
03:28.09 |
brlcad |
total outline? |
03:28.17 |
pacman87 |
total outline = shadow |
03:28.32 |
brlcad |
don't see what you mean |
03:28.35 |
pacman87 |
plane outline = slice, ink, and
stamp |
03:28.53 |
pacman87 |
ex: sphere |
03:28.57 |
pacman87 |
total outline is great circle |
03:29.03 |
pacman87 |
plane outline is smaller circle |
03:29.13 |
pacman87 |
depending on where the plane cuts the
circle |
03:29.35 |
brlcad |
ah, you mean some sort of arbitrary
cross-section |
03:29.40 |
pacman87 |
right |
03:30.00 |
pacman87 |
which could also be useful for section
views |
03:33.03 |
brlcad |
not sure how useful that would be actually --
even for generating scalable vector draft images you have all
curves just projected onto a 2D plane, maybe with hidden edge
removal (via projecting surfaces too to 2d patches) |
03:33.45 |
brlcad |
even for revolve, you just need the projected
curves |
03:34.09 |
brlcad |
as hm, that's not entirely true I
suppose |
03:34.16 |
starseeker |
does little happy dance that
things are finally close to Working As Desired and hits the
hay |
03:34.34 |
brlcad |
you want just the projected surfaces, not
their edges |
03:35.03 |
brlcad |
is thinking out
loud |
03:36.42 |
pacman87 |
i'm thinking something like this:
http://www.solidsmack.com/wp-content/uploads/2007/08/solidworks-iso-section-04.jpg |
03:37.05 |
brlcad |
nods |
03:39.29 |
brlcad |
pacman87: for that specific image, though, you
have other facilities at your disposal since it's still 3D -- you
basically evaluate the cut plane as a trimming curve for each
surface it itersects |
03:40.02 |
brlcad |
hehe, which maybe is just what you should do
too :) |
03:40.45 |
pacman87 |
right, but for a adding a section view to the
drawing, you'll need the plane cut outline, not just the
shadow |
03:40.49 |
brlcad |
tricky operations -- borderlines
implementation of the CSG evaluation of BREP-on-BREP
surfaces |
03:41.16 |
pacman87 |
wasn't BREP representations a different GSoC
topic? |
03:41.19 |
brlcad |
yep |
03:41.26 |
pacman87 |
anyone interested in it? |
03:41.34 |
brlcad |
there's one proposal for it |
03:43.01 |
brlcad |
what I was saying, though, is that you can get
what you're calling a plane cut outline directly .. by evaluating
the intersection of the plane surface as a trimming surface on the
surfaces of the brep it cuts |
03:43.18 |
brlcad |
you get a series of trimming curves in 3D ..
that are all planar |
03:43.46 |
pacman87 |
so brep csg will give you the plane outline
already |
03:44.30 |
brlcad |
kinda, that same operation is required to
evaluate breps with csg |
03:45.28 |
brlcad |
but it also requires even harder non-planar
evaluations .. two arbitrary spline surfaces intersecting in
arbitrary ways generating sets of non-planar 3d curves |
03:45.52 |
brlcad |
numerically unstable and hard |
03:46.01 |
pacman87 |
really needs to get some
background info |
03:46.10 |
brlcad |
but still critical for what we need
;) |
03:47.09 |
pacman87 |
so the rt_*_brep() function does what
exactly? |
03:47.16 |
brlcad |
pacman87: search for "BOOLE" and "ESOLID" --
they were research from a few years ago that implemented what we
need (in a manner of speaking), but not production code to say the
least |
03:47.44 |
brlcad |
they are good reading material for background
information though, as well as just general searches on boundary
representation geometry |
03:48.04 |
brlcad |
do you recall the rt_*_nurb()
function? |
03:48.15 |
brlcad |
it's the same thing |
03:49.12 |
brlcad |
just that the nurbs routines were never
completed and use an obsolete data structure |
03:49.57 |
brlcad |
so the function is actually already
implemented for several of the primitives, just needs to be renamed
to rt_*_brep() and have the data structures updated to the new
openNURBS-based structures |
03:51.12 |
pacman87 |
to summarize: start with revolve using sketch,
then sweep using sketch, then rt_*_brep(), then
project_brep_to_sketch() |
03:52.02 |
pacman87 |
then add 3D support to sweep (and revolve?)
using brep |
03:53.17 |
brlcad |
the basic difference is implicit vs explicit
evaluation -- your g_hyp.c uses implicit evaluation in the shot()
routine .. the hyperboloid is defined by an implicit equation where
you have x^2/a^2 + y^2/a^2 - z^2/c^2 = 1 being solved for a given t
parameter |
03:54.26 |
brlcad |
another approach would be to actually have
that actual surface in parametric form as a spline surface ..
evaluation is considerably different |
03:54.56 |
brlcad |
pacman87: yeah, that sounds like a strong plan
I'd be happy with :) |
03:55.54 |
brlcad |
even the reverse order would be fine with me,
e.g. brep() then project() then revolve then sweep |
03:56.17 |
pacman87 |
the only difference between the 3D and sketchs
is that for 3D, the sketch comes from the brep, right? |
03:56.18 |
brlcad |
as these are all "core tasks" with really high
value |
03:57.15 |
brlcad |
what do you mean? |
03:57.57 |
pacman87 |
the initial problem with revolving the 3D
shape was in getting the 2D outline |
03:58.29 |
pacman87 |
and project() solves that problem |
03:58.46 |
brlcad |
yes |
03:58.48 |
pacman87 |
but it's not the same as revolving/sweeping
the actual 3D shape |
03:58.51 |
brlcad |
should solve it exactly |
04:02.11 |
pacman87 |
because the maximum extents of the projection
could happen at different distances along the sweep or different
angles around the revolve |
04:02.25 |
brlcad |
yeah, it's not the same ... I believe it is
the same if you constrain the revolve/sweep to maintain the
object's normal/orientation in the direction of the
sweep/rotate |
04:03.10 |
brlcad |
but if you allow the more generalized case
that allows the object to reorient/rotate while being
swept/revolved, there's a problem |
04:03.11 |
pacman87 |
not quite |
04:04.11 |
pacman87 |
revolving an ellipse with focii at (4,1) and
(6, -1) about the z axis |
04:05.01 |
pacman87 |
you can't just project it in the direction of
Z cross R |
04:05.08 |
pacman87 |
because the path is curved |
04:05.19 |
pacman87 |
so to get the real outline, you'd need a
curved projection |
04:06.44 |
pacman87 |
in the simple case, just take the line segment
between them |
04:06.59 |
pacman87 |
if you use the linear projection, Rmin = 4 and
Rmax = 6 |
04:07.41 |
pacman87 |
but really, Rmin = sqrt(4^2 + 1^2) and Rmax =
sqrt(6^2 + 1^2) |
04:09.11 |
brlcad |
hm, i'm still not seeing the issue -- the
ellipse you describe results in an elliptical torus, yes? |
04:09.29 |
pacman87 |
ok, forget the ellipse |
04:09.38 |
pacman87 |
just look at the 2D line segment |
04:09.43 |
pacman87 |
revolve it around the z axis |
04:10.13 |
pacman87 |
the center of the 'object' is at
(5,0) |
04:10.28 |
pacman87 |
so it'd be projected along the y
axis |
04:10.36 |
pacman87 |
(Z cross R) |
04:11.28 |
pacman87 |
that rotation would give you a donut with Rmin
= 4 and Rmax = 6, from projection along y |
04:12.09 |
pacman87 |
you follow up to this point? |
04:13.00 |
brlcad |
probably just needs a visual
aid, but so far sounds good |
04:13.21 |
pacman87 |
you get a different width if you take a
paintbrush and paint | -> vs / -> |
04:14.22 |
pacman87 |
i'll throw together a diagram |
04:17.31 |
brlcad |
i think we may just be saying the same thing
in two different ways too -- I was saying that you *have* to
maintain the object's orientation with respect to the rotation, so
your / segment (presume facing into display, for example) at the
180 rotation angle is now on the other side of the axis as \ (now
facing out of your display) |
04:18.25 |
brlcad |
everything should work out if you keep it
oriented, else it can self-intersect, pinch solidity, and other
nasty effects |
04:18.56 |
brlcad |
(at least for 3d) |
04:20.37 |
brlcad |
starseeker: if you intend to add units
support, see src/libbu/units.c |
04:20.50 |
pacman87 |
https://webspace.utexas.edu/trv82/www/revolve.png |
04:20.56 |
brlcad |
otherwise default should always be mm
:) |
04:22.09 |
pacman87 |
medium blue is original shape, cyan is the
projected shape, green circle is true revolve bounds, red circle is
revolve bounds from projection |
04:23.36 |
brlcad |
AHA, I see what you're trying to show me now,
heh :) |
04:23.52 |
pacman87 |
yeah, saved me 1k words :) |
04:24.16 |
brlcad |
I was talking about something a bit different
:) |
04:25.35 |
pacman87 |
right, but i'm saying keepign the 2D plane's
normal vector along the sweep path won't help my problem |
04:26.09 |
brlcad |
for the general projected 3D case |
04:26.11 |
pacman87 |
if the sweep path is curved |
04:26.36 |
pacman87 |
yes, sweeping with the 2D projection of a 3D
shape |
04:27.16 |
pacman87 |
you also have trouble on the sweep if you
allow rotation of the 2D outline about the sweep
direction |
04:27.23 |
pacman87 |
even if the sweep direction is
straight |
04:27.48 |
brlcad |
definitely |
04:28.50 |
pacman87 |
and i can't think of a 'nice' solution to
these problems |
04:28.50 |
brlcad |
that's what I was getting at at first about
maintaining the orientation |
04:29.19 |
pacman87 |
meaning keep plane normal in line with sweep,
and no rotation? |
04:29.23 |
brlcad |
I can see one, but it's still pretty
hard |
04:31.15 |
pacman87 |
if i can work out a curved project(), the
revolve would be possible |
04:31.17 |
brlcad |
you end up taking your sweep curves (e.g. your
green lines in your diagram) and actually create a brep surfaces
using those curves and use the original object as the surface
coefficients |
04:31.50 |
brlcad |
that, however, is paramount to "cheating" imo
-- it's an explicit parametric solution as opposed to an implicit
one |
04:32.41 |
brlcad |
could do some research in the literature on
implicit sweep objects, there are some papers on the subject (that
I lamentably admit I've not read yet) |
04:34.35 |
pacman87 |
the problem with a sweep is that the green
curves depend on the curvature of the sweep path |
04:34.44 |
pacman87 |
which is constnat for the revolve, so it's a
lot easier |
04:35.43 |
brlcad |
for sweeps, you could start by saying the
swept object must be rotationally invariant -- keep if
fixed |
04:36.49 |
pacman87 |
disallow rotation about the sweep
path? |
04:37.34 |
brlcad |
object rotation, yes |
04:37.47 |
brlcad |
the path is still some arbitrary spline
path |
04:38.10 |
brlcad |
hm, somewhat interesting http://www.unknownroad.com/publications/SweepsTRApril2005.pdf |
04:39.27 |
pacman87 |
reads |
04:39.46 |
brlcad |
files for
later |
04:39.58 |
pacman87 |
s/reads/skims ;) |
04:43.47 |
brlcad |
mm, interesting
http://dimacs.rutgers.edu/Workshops/CompAided/slides/blackmore2.pdf |
04:45.20 |
brlcad |
very similar to what you suggested |
04:45.29 |
brlcad |
2D scalar fields |
05:01.53 |
pacman87 |
i didnt really read in depth, but it looks
like the links just deal with 2D shapes |
05:05.27 |
brlcad |
implicit 2D shapes though |
05:06.09 |
brlcad |
you could leverage that directly with sampling
if you *had* to |
05:39.28 |
*** join/#brlcad clock_
(n=clock@77-56-93-95.dclient.hispeed.ch) |
07:04.03 |
*** join/#brlcad clock_
(n=clock@zux221-122-143.adsl.green.ch) |
07:50.37 |
*** join/#brlcad Axman6
(n=Axman6@pdpc/supporter/student/Axman6) |
08:28.09 |
brlcad |
waves and wanders a
bit |
10:00.48 |
*** join/#brlcad Axman6
(n=Axman6@pdpc/supporter/student/Axman6) [NETSPLIT
VICTIM] |
10:00.48 |
*** join/#brlcad clock_
(n=clock@zux221-122-143.adsl.green.ch) [NETSPLIT
VICTIM] |
10:00.49 |
*** join/#brlcad SWPadnos
(n=Me@emc/developer/SWPadnos) [NETSPLIT VICTIM] |
10:00.49 |
*** join/#brlcad Twingy
(n=justin@74.92.144.217) [NETSPLIT VICTIM] |
10:00.49 |
*** join/#brlcad prasad_
(n=psilva@static-70-108-244-218.res.east.verizon.net) [NETSPLIT
VICTIM] |
10:00.49 |
*** join/#brlcad pacman87
(i=127@resnet-45-192.dorm.utexas.edu) [NETSPLIT
VICTIM] |
10:00.49 |
*** join/#brlcad CIA-20
(n=CIA@208.69.182.149) [NETSPLIT VICTIM] |
10:00.49 |
*** join/#brlcad dtidrow
(n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) [NETSPLIT
VICTIM] |
10:00.49 |
*** join/#brlcad b0ef
(n=b0ef@062016141231.customer.alfanett.no) [NETSPLIT
VICTIM] |
10:00.49 |
*** join/#brlcad alex_joni
(n=juve@emc/board-of-directors/alexjoni) [NETSPLIT
VICTIM] |
10:00.49 |
*** join/#brlcad poolio
(n=poolio@bz.bzflag.bz) [NETSPLIT VICTIM] |
10:23.27 |
*** join/#brlcad mafm
(n=mafm@elnet-111.lip.pt) |
10:25.16 |
mafm |
hallo |
10:35.42 |
Axman6 |
o/ |
10:44.37 |
*** join/#brlcad camcorder
(n=draco@81.213.157.51) |
11:51.17 |
starseeker |
brlcad: OK, thanks :-). Apparently a lot of
US tire size specifications use Inches, so conversion will be
needed... |
12:00.40 |
clock_ |
brlcad: I wonder have you ever modelled a ball
bearing? |
12:00.59 |
clock_ |
Do the raceways have the same inner diameter
as the diameter of the balls? |
12:01.05 |
clock_ |
Some people claim that I think it's
bullshit |
12:03.05 |
archivist |
no balls need some clearance |
12:03.31 |
archivist |
also press fit is allowed for in the
clearance |
12:03.52 |
clock_ |
I wonder how they get the balls
inside |
12:04.41 |
archivist |
without the retaining plates (before they get
riveted |
12:04.42 |
clock_ |
do they ram them with such a pressure that the
hardened rings elastically deform and make way? |
12:05.07 |
clock_ |
you mean without the cage? |
12:05.10 |
archivist |
all metal is elastic |
12:05.41 |
clock_ |
I may need to model my skateboard in the
BRL-CAD |
12:05.59 |
archivist |
yes except for crowded large ring bearings,
they have a small groove to let in the balls |
12:06.14 |
clock_ |
yesterday I have mounted my superheavy 30kg
21'' CRT on a wall using a unique DIY space frame design wall
mount |
12:06.45 |
archivist |
btw your quit message has an XML
error |
12:07.11 |
clock_ |
Oh I see fixed thanks |
12:08.14 |
clock_ |
this space frame is amazing |
12:08.30 |
clock_ |
if you poke at the monitor with a finger
slightly, it swings. |
12:08.46 |
clock_ |
But if you grab the holder with two hands and
push it forth and back, the monitor stays without
movement. |
12:08.56 |
clock_ |
It weighs only 3kg, but is rock
solid |
12:09.12 |
clock_ |
Now I understand fully why they use it in
cosmic vehicles |
13:49.43 |
CIA-20 |
BRL-CAD: 03starseeker * r30659
10/brlcad/trunk/src/proc-db/tire.c: Clean up unused variables in
new specification scheme. |
13:58.17 |
*** join/#brlcad docelic
(n=docelic@78.134.198.227) |
14:03.06 |
*** part/#brlcad camcorder
(n=draco@81.213.157.51) |
14:04.03 |
*** join/#brlcad d_rossberg
(n=rossberg@bz.bzflag.bz) |
14:33.18 |
brlcad |
d_rossberg: good morning |
14:35.23 |
d_rossberg |
isn't it almost lunch time? |
14:35.32 |
prasad_ |
indeed |
14:37.14 |
brlcad |
hour or so |
14:38.00 |
brlcad |
~ugt |
14:38.01 |
ibot |
i heard ugt is Universal Greeting Time.
Created in #mipslinux, it is a rule that states that whenever
somebody enters an IRC channel it is always morning, and it is
always late when the person leaves. The local time of any other
people in the channel, including the greeter, is irrelevant.
http://www.total-knowledge.com/~ilya/mips/ugt.html |
14:40.04 |
d_rossberg |
ah, somebody spend its rare time creating a
rule for it :) |
14:57.20 |
brlcad |
=) |
14:58.50 |
clock_ |
and someone else spent his rare time
commenting that somebody spend its rare time creating a rule for
it |
14:59.41 |
brlcad |
clock_: curious if john's -k option help your
210x report |
15:00.12 |
brlcad |
it's not a fix, but potentially a big
performance opt |
15:00.27 |
clock_ |
brlcad: I don't have rt available here, what
does -k do? |
15:00.39 |
brlcad |
it was just added |
15:00.42 |
brlcad |
see your report |
15:00.47 |
clock_ |
what does it do? |
15:00.56 |
clock_ |
the report doesn't say what it does |
15:06.59 |
brlcad |
it's a -k cutting plane option |
15:12.43 |
yukonbob |
morning |
15:13.40 |
clock_ |
http://www.theregister.co.uk/2008/04/11/us_war_robot_rebellion_iraq/ |
15:15.33 |
brlcad |
g'mornin yukonbob |
15:21.31 |
``Erik |
*readreadread* |
15:24.10 |
``Erik |
starseeker: 255/40ZR18 (mm/aspect rating
inches) |
15:26.29 |
``Erik |
likes ruby, smalltalk, ocaml,
erlang, even objc... was not trying to say "use C, not C++", was
just asking for support to the argument that MLT would benefit
greatly from classes, encapsulation and operator
overloading... |
15:26.58 |
``Erik |
I do *NOT* like operator overloading :D but
classes, namespaces, etc, *shrug* sometimes they're the right
tool |
15:33.46 |
*** join/#brlcad andrecastelo
(n=chatzill@189.71.41.1) |
15:34.06 |
andrecastelo |
good morning folks |
15:34.14 |
``Erik |
greetings, andre |
15:34.21 |
``Erik |
jabs brlcad with a
cattleprod |
15:35.06 |
``Erik |
<-- wanders off to lunch, bbiab |
15:38.55 |
*** join/#brlcad docelic
(n=docelic@78.134.198.227) |
16:45.26 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
16:47.59 |
brlcad |
``Erik: I was at korean |
17:13.43 |
*** join/#brlcad clock_
(n=clock@77-56-87-36.dclient.hispeed.ch) |
17:15.09 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
17:33.14 |
yukonbob |
tries to figure out the GSoC
spreadsheet... |
17:33.47 |
yukonbob |
ahhh... got it |
17:35.00 |
yukonbob |
(couldn't find "sheet" selector) |
17:45.41 |
brlcad |
:) |
18:21.29 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
18:22.52 |
mafm |
bye |
18:23.59 |
CIA-20 |
BRL-CAD: 03brlcad * r30660
10/brlcad/trunk/src/libbu/htond.c: cleanup header |
18:29.10 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
18:34.39 |
andrecastelo |
hey brlcad.. |
18:35.23 |
andrecastelo |
the exposed area center is rather straight
forward - get the hit points for the area and do the
median |
18:35.30 |
andrecastelo |
but what about the presented area ? |
18:36.35 |
*** join/#brlcad pacman_87
(i=127@resnet-45-192.dorm.utexas.edu) |
18:38.39 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
18:55.46 |
CIA-20 |
BRL-CAD: 03starseeker * r30661
10/brlcad/trunk/src/proc-db/tire.c: Experimenting with ways to make
reasonable tire shapes from standard input data. |
18:59.19 |
brlcad |
andrecastelo: presented is same as exposed..
just a different set of points |
19:00.40 |
andrecastelo |
yeah but for example, for the exposed area i
just recorded every point in the
partition->inhit->hitpoint |
19:00.56 |
andrecastelo |
because if the ray hit those points, then the
area is exposed, right ? |
19:02.11 |
brlcad |
you're evaluating entire shotlines, there are
multiple in/out hits along the shotline -- rays are evaluated all
the way through |
19:02.29 |
brlcad |
multiple hits, not just first hit |
19:05.21 |
andrecastelo |
brlcad: so this is wrong ? http://pastebin.com/d4fd4025d
(code is from line 45 to 56) |
19:05.41 |
brlcad |
can't get to pastebin.com
from here |
19:06.07 |
andrecastelo |
hm ok |
19:07.00 |
andrecastelo |
brlcad: http://rafb.net/p/WQdS4J26.html |
19:08.28 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
19:15.57 |
``Erik |
wiggles his
toes |
19:16.10 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
19:17.07 |
andrecastelo |
hey ``Erik, i've responded to your comment on
the app |
19:17.19 |
andrecastelo |
did you have the time to see it yet
? |
19:17.25 |
``Erik |
just read it |
19:17.59 |
andrecastelo |
what did you think ? |
19:18.20 |
``Erik |
d'no yet, looks like you looked around and
thought, which was really what I was trying to kick off
:) |
19:18.30 |
``Erik |
btw, your 'home page' doesn't work, I get a
404 |
19:18.34 |
brlcad |
andrecastelo: exposures are handled in
increment_assembly_counter() |
19:18.41 |
andrecastelo |
really? i'll check |
19:19.55 |
brlcad |
andrecastelo: if you look at the struct area,
you'll see there are two counters --> "exposures" and "hits" ..
just follow the logic where those are incremented |
19:19.56 |
``Erik |
<-- kinda feels unanswered wrt c vs
c++... |
19:20.22 |
andrecastelo |
brlcad: hm ok |
19:20.44 |
``Erik |
I'm not going to advocate one language or the
other, I just want to know exactly why you'd choose one over the
other |
19:21.57 |
``Erik |
brlcad is trying to mkae it sound like I'm
gonna ask why you don't propose to write it in scheme, heh :D I
just want to know that you understand the various paradigms, the
algorithm, and the existing code base well enough to make an
informed decision *shrug* |
19:22.37 |
andrecastelo |
``Erik: i discussed this with brlcad the other
night.. i proposed C++ because i'm familiar with it and i thought
classes, abstraction and overloading would benefit the project as a
whole |
19:23.11 |
andrecastelo |
and in the end, when assembling the algorithm
together, the end result would be more readable and
simple |
19:23.29 |
``Erik |
yeah, I saw, and sorry, but that statement
seems like fluff to me, I've done enought c++ and java and those to
know the broad brush statements *shrug* :) |
19:23.31 |
andrecastelo |
but since there are already basic structures,
rewriting them would be a big no no |
19:24.31 |
``Erik |
re-writing, yes... but wrapping or interfacing
is fine *shrug* |
19:25.06 |
``Erik |
indeed, one of the ideas brlcad put forth at
the beginning was a full OO wrapping of the core libraries
functionality |
19:25.45 |
andrecastelo |
sorry i thought that wasn't the
ideal |
19:25.58 |
andrecastelo |
i thought the general consensus was to keep
everything in simple C |
19:26.08 |
andrecastelo |
(i mean standard C) |
19:26.36 |
``Erik |
opennurbs is c++, we already have c++ in librt
*shrug* it wouldn't be a huge issue to go with c++... |
19:27.52 |
``Erik |
you made a statement that the task would
benefit from using features of c++, and then some bland sales pitch
on c++, I want to know exactly why those features would aid this...
if it's just familiarity, that's cool, if there's something more, I
want to know :D |
19:28.32 |
``Erik |
(sorry if I seem a bit aggressive, I'm a
language geek so I'm keen to understanding the various trade-offs
when engineering software) |
19:29.06 |
andrecastelo |
i thought of using some oo features because i
thought of them as a natural with point and vector handling, you
know ? |
19:29.19 |
andrecastelo |
and because i'm more familiar with it and
all |
19:29.29 |
andrecastelo |
but i have no problem programming in either
language |
19:29.35 |
``Erik |
hum, we already have point vector and matrix
handling in vmath.h (and in tiemath.h, but that's going
away) |
19:30.41 |
andrecastelo |
couldn't those functions and macros in vmath.h
be wrapped up in a class ? |
19:30.54 |
``Erik |
sure, what would the advantage of that
be? |
19:32.53 |
andrecastelo |
essentially, it would be easier to use points
and vectors by those who do not know vmath.h by memory |
19:33.03 |
``Erik |
hummmm, possibly, I know I have to keep
looking stuff up in vmath :D "is it v2add, or vadd2, or ..."
:) |
19:33.04 |
brlcad |
with a new class that none of the rest of the
devs know by memory? :) |
19:33.21 |
archivist |
andrecastelo, speed of running is often more
important than speed of writing software |
19:33.33 |
brlcad |
you'd only know it because you wrote it,
otherwise you'd still have to look up the API when you use
it |
19:33.38 |
``Erik |
heh, in this case, yes... in most cases, I'd
disagree, archivist :) |
19:34.02 |
``Erik |
most software spends most of its time waiting
for users or network or disk... developer time is far more
expensive than cpu time |
19:34.21 |
archivist |
except deep in graphics |
19:34.25 |
andrecastelo |
``Erik: but he has a point |
19:34.44 |
andrecastelo |
the MLT algorithm is processor intensive, any
advantage is welcome, right ? |
19:34.49 |
``Erik |
(also; it's possible to make very very fast
c++... hell, it's even possible to make very fast java if you know
how to code) |
19:35.06 |
``Erik |
<-- likes to play devils advocate,
btw... |
19:35.10 |
brlcad |
vmath is very simple and high-performance
simply because it's inline'd math -- it's actually rather tricky to
get oo-based math that actually out-performs (usually requires some
specific templatized foo) |
19:35.45 |
``Erik |
still wants to ugly up vmath
with sse/altivec intrinsics |
19:36.43 |
brlcad |
the tradeoff is maintainability and
integration in this case, we have a math lib so I'd be for using
that, not wrapping up some new layer for OO sake -- it's enough
work to implement MLT without spending time on that |
19:37.50 |
``Erik |
well, if the lead time in wrapping it is made
up for in fast implementation (and still maintainable), then it is
worth it... *shrug* that can be a hard call to be correct one,
though |
19:37.51 |
brlcad |
``Erik: that's where it actually gets kinda
interesting to abstract it .. multiple impl types in macros is
fugly as hell, few things that make templates actually look
"good" |
19:38.08 |
``Erik |
*nod* |
19:38.46 |
``Erik |
I'm wondering if being compile time specified
is acceptable... high performance stuff often has multiple
codepaths compiled and does a runtime detect to see which one to
use |
19:39.04 |
``Erik |
so binaries can be used on a 486, but still
take advantage of a p4 or athlon |
19:39.11 |
brlcad |
i'd not be convinced of the wrapper though,
without lots of profile and cross-platform multi-compiler testing,
and that starts adding up to weeks of work/research in itself
(especially if mixing in vectorization) |
19:39.47 |
``Erik |
that'd be a good pub topic :) |
19:39.54 |
CIA-20 |
BRL-CAD: 03starseeker * r30662
10/brlcad/trunk/src/proc-db/tire.c: Whoops - set scale factor to
one for this part. |
19:39.59 |
andrecastelo |
the math wrapping up could be something for
after the summer |
19:40.02 |
brlcad |
andrecastelo: and yes .. any path tracing is
slow as all hell .. it's a brute force solution |
19:40.27 |
``Erik |
well, a statistical method, anyways |
19:40.50 |
``Erik |
metropolis tries to cull a lot of the brute
force 'waste' off |
19:41.07 |
brlcad |
it's still slow as balls compared to
ray-tracing :) |
19:41.40 |
``Erik |
hehehhee, but mlt IS raytracing :D slow
compared to the simple phong+shadow rays approach, sure |
19:41.41 |
brlcad |
like one-to-two orders, the optimizations
usually cull some linear time component (like /2) |
19:41.52 |
yukonbob |
``Erik: re: run-time optimization -- I can't
speak from coding experience, but in the case of mplayer for
example, runtime cpu detection is available, but contraindicated...
one would be better off knowing the arch that is the target and
installing the proper CPUFLAGS, no? |
19:42.44 |
``Erik |
most of my experience with multiple code path
stuff comes from proprietary binary distribution stuff, yukon :(
chumming with 'tards trying to make the next ultimate video game,
etc |
19:43.22 |
``Erik |
so the object bloat is accepted for the
handful of common configurations expected |
19:48.17 |
brlcad |
yeah most games can take a wrapper hit, or
poor design hit - they often spend most of their time in the
graphics loop |
19:48.54 |
``Erik |
heh |
19:49.21 |
``Erik |
and I've seen too much "my game will be fast
because I'm writing it in assembly" or "this is going to rock, I'm
using pascal with assembly where performance is needed"
:/ |
19:49.46 |
brlcad |
I actually implemented a series of
vector/matrix replacements for vmath many years ago, as C++ -- it
was actually rather complicated and unreliable at the time to match
performance, compilers that would ignore the inline directives for
example |
19:50.12 |
brlcad |
likes to write in posix shell
scripting and drop to assembly where performance is
needed |
19:50.23 |
archivist |
ya have to know your algorythm, never mind the
language |
19:50.43 |
archivist |
used to do
assembler |
19:51.27 |
brlcad |
mips assembler ftw |
19:51.29 |
``Erik |
has layed down a lot of 6510,
6812, and 80286 assembly :( |
19:51.35 |
``Erik |
r2k was sweeeet |
19:51.56 |
``Erik |
the bsd guys would call it "teh
sex0rz" |
19:51.59 |
archivist |
I started on 6502 oops that shows my
age |
19:52.11 |
prasad_ |
ecmascript ftw |
19:52.16 |
prasad_ |
lolz |
19:52.26 |
``Erik |
6510 and 6511 were essentially 6502 with minor
tweaks |
19:52.33 |
``Erik |
c64, c64c, c128... good little boxes |
19:52.46 |
``Erik |
actually, my first was a z80 cp/m
machine |
19:52.47 |
brlcad |
wonders who poisoned
prasad_'s coffee |
19:53.15 |
``Erik |
ecma script because javascript has become a
four letter word? :D |
19:53.38 |
archivist |
eczma script |
19:53.41 |
andrecastelo |
realizes he is way too
young |
19:53.52 |
prasad_ |
archivist: sounds about right |
19:54.16 |
``Erik |
heh, everyone was young at some point
:D |
19:54.44 |
andrecastelo |
i started programming in mirc script
:p |
19:54.46 |
prasad_ |
c++ is where it's at :o |
19:54.58 |
andrecastelo |
then i tried my hand with delphi when i was 13
or 14 |
19:55.20 |
andrecastelo |
i forgot about programming for a while,
returning when in college, where i learned java, c and
c++ |
19:55.21 |
``Erik |
winiot *cough* O:-) |
19:56.04 |
andrecastelo |
``Erik: the 404 is fixed (i hope) |
19:56.12 |
``Erik |
"like Montezuma's revenge on discount taco
night..." |
19:57.13 |
``Erik |
http://www.smbc-comics.com/comics/20080410.gif |
19:58.20 |
andrecastelo |
lol |
20:00.18 |
prasad_ |
haha |
20:27.22 |
andrecastelo |
well guys |
20:27.26 |
andrecastelo |
off to class |
20:27.28 |
andrecastelo |
cya later |
20:31.04 |
``Erik |
If you want to make an omelet, you have to
kill a few people. |
21:04.08 |
CIA-20 |
BRL-CAD: 03brlcad * r30663
10/brlcad/trunk/regress/flawfinder.sh: fix test failure |
21:17.06 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
21:43.52 |
*** join/#brlcad Elperion
(n=Bary@p54873D12.dip.t-dialin.net) |
21:53.27 |
yukonbob |
remembers "Montezuma's
Revenge" game on the C=64 |
22:52.37 |
*** join/#brlcad IriX64
(n=mariodot@bas2-sudbury98-1177593626.dsl.bell.ca) |
22:53.49 |
IriX64 |
http://www3.sympatico.ca/mario.dulisse2/jeep.png
<---- a usefull motor vehicle :) |
22:56.41 |
IriX64 |
what? nobody else here is a hobbyist?
:) |
22:57.55 |
IriX64 |
``Erik, you were right, found somebody here
with 500g drive (sigh) |
22:59.26 |
brlcad |
yukonbob: http://mapy.atari8.info/l-o/montezuma.png
:) |
22:59.57 |
louipc |
IriX64: too dark. You don't really get the
essense of the hot pink and violet |
23:00.43 |
IriX64 |
louipc: blame brlcads photon mapping |
23:01.25 |
IriX64 |
"hot" pink :) |
23:01.57 |
brlcad |
IriX64: it's like we've told you before --
photon mapping is pointless if you're not going to put the model in
a box with a custom light source |
23:02.26 |
IriX64 |
i extracetd all, thought the light source was
there |
23:02.42 |
IriX64 |
ill look again |
23:02.53 |
brlcad |
eh, there's still no box |
23:02.59 |
IriX64 |
true |
23:03.01 |
brlcad |
so it isn't going to work |
23:03.22 |
IriX64 |
so you enclose it, map it and then remove the
box ;) |