To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 6888
6887  |  6889
Subject: 
Re: A comprehensive LDraw object model
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 11 Feb 2002 00:51:14 GMT
Viewed: 
525 times
  
Sproaticus wrote:

In lugnet.cad.dev, Kyle McDonald writes:

Actually this brings up a different issue. I haven't put alot of thought
into it yet, but I think it would be useful to add information in the
part files that would allow a program to differentiate between geometry
that represents 'outside' walls and features, and 'inside' walls and
features.


IIRC (and I wish I could find the reference) the LDraw spec does support this.

It depends on the order of the points in the polygon; e.g. clockwise points
out, counterclockwise points in.  Or something like that.

But last I heard of this, there were a lot of LDraw parts that had
improperly-coded lines, so I dunno what the state of the whole thing is.

Backface culling or BFC?  Is that what I was remembering?  Arg.  Something
the parts authors were talking about, anyway...


Yes, What you're describing does sound like BFC to me.

As someone else (travis I think?) said, BFC is a useful optimiziation
for reducing the number of surfaces that need to be drawn. But it's
not the same thing I was talking about.

BFC eliminates surfaces that face away from the viewer. This eliminates
both the outside and inside surfaces that face away fomr the viewer,
but the 'inside' faces that happen to face the viewer are left to be
drawn and later thrown out by the Z depth buffer.

The analogous term to BFC that is close to what I described would be
Occlusion Culling. Occlusion Culling tries to throw out surfaces that
are 'occluded' or covered by other surfaces from the viewer's viewpoint.

But Occlusion culling is, like BFC done on the fly as the scene is drawn
every frame. What I was trying to describe was added info in the DAT
files, so that the application can easily remove large chunks of the
geometry once. The application could choose to switch this geometry
on and off as needed. Maybe off when showing wireframes while dragging
or rotating, or maybe letting the user trade realism, for application
responsiveness.

Though even those ideas only cover switching the 'inside' geometry on
and off wholescale across the whole scene or model. It could also be
possibly used to switch this data off on a part by part basis when
it is known that another part blocks the view of the inside of this
part completely no matter what direction the model is viewed from.

You could take this to the extreme and even try to tag the geometry
based on whether it is part of the top, bottom, front, back, left,
right, or inside of the part. I'm not sure going to this extreme is
worth it though. I think identifying the 'internal' geometry though
is worth it. For bricks like a normal 2x4, the internal surfaces of
the outerwalls, and the inner and outer surfaces of the tubes in the
middle, probably represent a large portion of the surfaces in the brick.

-Kyle



Message has 1 Reply:
  Re: A comprehensive LDraw object model
 
"Kyle McDonald" <kmcdonald@bigfoot.com> skrev i meddelandet news:3C671582.801040...oot.com... (...) If the parts are BFC compliant, there's no need to tag for 'top', 'left' etc. as this information is already there in the surface normal (with much (...) (22 years ago, 11-Feb-02, to lugnet.cad.dev)

Message is in Reply To:
  Re: A comprehensive LDraw object model
 
(...) IIRC (and I wish I could find the reference) the LDraw spec does support this. It depends on the order of the points in the polygon; e.g. clockwise points out, counterclockwise points in. Or something like that. But last I heard of this, there (...) (22 years ago, 10-Feb-02, to lugnet.cad.dev)

30 Messages in This Thread:











Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR