List Info

Thread: shockwave 3d and bsp trees




shockwave 3d and bsp trees
user name
2007-03-07 06:34:41
hi,

i heard that the best space partitioning system for old 3d
engines are BSP trees but i wonder if it is suitable with a
old script like lingo

i'm trying to use a BSP tree to perform polygon culling and
hsr and i'm a bit disappointed: lingo virtual machine is
such slow that recursive analysis of tree costs much CPU
than bytes freed by display optimisation

i wonder if bsp is really useful for shockwave engine... hsr
and culling can be based on a more simple sector/portal
system, polygon optimisation is less precise but lingo
script doesn't have to perform recusrive searches

do you think a simple sector-portal partition (and pvs
precalculated with raycasting) should be better?

 		
---------------------------------
 Découvrez une nouvelle façon d'obtenir des réponses à
toutes vos questions ! Profitez des connaissances, des
opinions et des expériences des internautes sur Yahoo!
Questions/Réponses.
_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Re: shockwave 3d and bsp trees
country flaguser name
Netherlands
2007-03-07 07:00:54
peel peel wrote:
> hi,
>
> i heard that the best space partitioning system for old
3d engines are BSP trees but i wonder if it is suitable with
a old script like lingo
>
> i'm trying to use a BSP tree to perform polygon culling
and hsr and i'm a bit disappointed: lingo virtual machine is
such slow that recursive analysis of tree costs much CPU
than bytes freed by display optimisation
>
> i wonder if bsp is really useful for shockwave
engine... hsr and culling can be based on a more simple
sector/portal system, polygon optimisation is less precise
but lingo script doesn't have to perform recusrive searches
>
> do you think a simple sector-portal partition (and pvs
precalculated with raycasting) should be better?
>   
Anything that is not per polygon based, but per sector
(which will then 
have to be a model) is better.

Personally I don't really bother to do any extra culling
ontop of what 
shockwave3d already does for me.
One of the upsides of shockwave3d not having been updated in
all those 
years, is that it runs superfast on
modern cards, since we cannot use pixel shaders and all that
stuff...  
As long as you don't have a lot of different
models, those models can have a enormous amount of polygons
before 
things go bad.

I think that only for extremely heave poly scenes it makes
sense to 
cull, and then only if the scene is setup in
such a way that often you don't see a large part of it. In
that case I'd 
devide the environment up in models, (one model
per sector), and then turn those on off, based on maybe  a
pvs..  but 
pvs sounds very fancy for what that would be..
basically for all say 20 sectors, a list of what other
sectors you could 
possibly see...  so 20 lists of 19 booleans..

you could setup that pvs using raycasting and build a lot of
fancy 
stuff, but you're probably better off by just handwriting
this pvs based on your knowledge of the scene.

Bye, Lucas
_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Re: shockwave 3d and bsp trees
country flaguser name
United States
2007-03-07 09:55:11
On 3/7/07, Barry Swan wrote:
...
>
>If you want to build a level, frankly your easiest bet
is simply to 
>load in the entire model and use that  (NOT true
for collision, 
>but visual).
>Next step is probably just to chop the entire level
model up into 
>some grid-based approach and again, let director take
care of it 
>(this approach does run fine both for visuals and
collision 
>generally).

Are you doing any LOD stuff?
I'm in the planning stages for a large navigable space
thing, and I 
was planning to try just chunking up the environment and
getting 
pretty aggressive with the LOD.
-- 
. . . . . . . . . . . . . . . . . . . . . . . .
Lon Koenig Consulting          lonmediagods.com
(612) 965-6305                 http://www.schnoggo.com
_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Re: shockwave 3d and bsp trees
country flaguser name
France
2007-03-07 11:10:12
Selon Lucas Meijer <lucasmach8.nl>:

> Berndt Garbotz wrote:
> > Hi Lucas,
> >
> >> have their bonesplayer modifier taken away
from them, etc.
> >
> > wow, that helps to save performance ?? 
> Yes.  paused bonesplayers are as cpu consuming as
running ones...
> 
> I'm pretty sure it also doesn't matter if you've
removed your model from 
> the world. (regarding bonesplayer performance
offcourse,
> it does help speed rendering somewhat).

You're 100% right about the removeFromWorld, but from my
experience removing all
motions from the bonesPlayer playList stops the cpu-cost
without needing to
remove the modifier, I'll check that though : maybe I can
get some more frames
if I remove it after all 

cheers

Matse


-- 
Mathieu Sénidre aka Matse
MatseMedia
Développement multimédia online/offline

_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Re: shockwave 3d and bsp trees
country flaguser name
France
2007-03-07 13:09:46
Hey Lucas,

Selon Lucas Meijer <lucasmach8.nl>:

> Hey Matse,
> > You're 100% right about the removeFromWorld, but
from my experience
> removing all
> > motions from the bonesPlayer playList stops the
cpu-cost without needing
> to
> > remove the modifier, I'll check that though :
maybe I can get some more
> frames
> > if I remove it after all 
> >   
> I'm not sure if I also tested completely removing all
animations as well 
> back in the day.  I think there's a
> good chance that will also give a similar savings as
removing the 
> bonesplayer completely.

Yup, it's night and day compared to pausing the bonesplayer
which, as you said,
is pretty much like having it playing the motion.

> now we're on the topic of the bonesplayer, what annoys
the hell out of 
> me is that the blending is somewhat wrongly
> implemented..  when I start a new anim, I want the
bonesplayer to store 
> the _current pose_, and blend from that into
> my new anim.
> Instead, what it does is not take the current pose, but
the pose from 
> the current frame of the animation..  which are not
identical
> if you happened to were still blending from the
previous animation..   
> extremely annoying..

I never had such a situation so far but it could happen on
my game project so
I'll keep that in mind ! Thanks for sharing 

I had a weird problem myself just some days ago, it may be
linked to the export
or something my 3D-modeling buddy did... the 3D character's
transform was
slowly (over a minute or so) being distorted up to a point
where the model
disappeared completely. I was just positionning / rotating
the model, even
letting him standing would give the same results. Just
forcing the model's
scale to vector(1,1,1) solved it.
It only happened on a model created through
cloneModelFromCastMember : models
instanciated with a newModel() command didn't have this
problem even though
they originally came from a cloneModelFromCastMember as
well...

> 
> Other than that I must say that it's amazing how
flexible the 
> bonesplayer is.  Sometimes I curse it, but then an hour
later
> I figure out a way how to do what I want, and it has
very very rarely 
> happened that it has prevented me from making
> a certain feature that I want.

I couldn't agree more : it had been some time since my last
game attempt and
even today I'm amazed by the motion's quality. I would even
extend that to
almost the whole 3D engine : except for the quirks we all
know, Intel did an
amazing job considering it's just a v1 ! I sure hope the
long awaited 3D update
will be a v2, not a completely new engine with new quirks
:P

cheers

Matse

-- 
Mathieu Sénidre aka Matse
MatseMedia
Développement multimédia online/offline

_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Re: shockwave 3d and bsp trees
user name
2007-03-07 18:49:23
Barry wrote...

> If you want to build a level, frankly your easiest bet
is simply to load in
the entire model and use that  (NOT true
for collision, but visual).

For collisions, if you're using Havok then it's easier to
load the
entire model in and allow Havok to handle everything for
you.  Of
course, setting up Havok to work in the first place can
require the
additional effort initially to get your required game
mechanic
working.

Regards...
Mal
_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Re: shockwave 3d and bsp trees
country flaguser name
Colombia
2007-03-07 19:26:50
> For collisions, if you're using Havok then it's easier
to load the
> entire model in and allow Havok to handle everything
for you.  Of
> course, setting up Havok to work in the first place can
require the
> additional effort initially to get your required game
mechanic
> working.

Which reminds me, I'd love to see a Havok #2 xtra from their
current 
librarys.
Just some proper, non-fiddly, non-buggy, non-PITA and
deterministic.

Please oh please oh please - I so want to ditch my own
collision routines - 
they are always approximations, simplistic and normally CPU
intensive.
Everything you need from code ;)

Barry
gerbiltheburrow.co.uk 

_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

Collapse game logic help
country flaguser name
United Kingdom
2007-03-13 08:14:15
Sorry if this is a really basic question but I can't quite
figure out this
one...

I am making a game similar to this one
http://www.shockwave.com/content
Play/shockwave.jsp?id=sbcollapse&memberStatu
s=NotSignedIn&brand=clubhouse

In this game, when a column becomes empty the other columns
move to fill
this gap.

Now I am having real trouble working out what the logic is
here. It seems
that sometimes a column will move from the left to fill a
gap and sometimes
a column from the right will move to fill the gap and
sometimes columns from
both sides of the gap will move.

I am sure there is some logic here but I cannot work out
what it is doing. I
initially thought it was always ensuring the solid columns
were always being
centered so thought it was simply a case of representing the
columns as an
array and stripping out all the empty columns and then
repopulating the
array on with zeros around the solid columns.

e.g

[1,0,0,1,1,1,1)] would become [0,1,1,1,1,1,0]

If anyone can explain the logic here I would be most
grateful.


Thanks

Paul

_______________________________________________
dirGames-L mailing list  -  dirGames-Lnuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l

[1-8]

about | contact  Other archives ( Real Estate discussion Medical topics )