Subject:
|
Implicit face winding (was: [Parts Tracker] More BFC Primitives)
|
Newsgroups:
|
lugnet.cad.dev.org.ldraw
|
Date:
|
Fri, 12 Apr 2002 00:31:29 GMT
|
Viewed:
|
632 times
|
| |
| |
In lugnet.cad.dev.org.ldraw, Kyle McDonald writes:
> > Based on Kyle's comments, I think he believes that his proposed change would
> > have a minimal impact on part authors. This may or may not be the case; not
> > being a part author, I don't feel myself qualified to judge. However, it
> > sounds like Steve (who is a part author) feels it would make part authoring
> > more difficult.
>
>
> Well I don't know that I thought it would be 'minimal' effort. I'll
> bet it would be a lot of work for parts that are already done. I
> did think that it wouldn't be that bad for new parts, because I
> figured the author knows best what he/she want when he writes the
> line in the part file. But as I'm not a parts author either, I
> could very well be wrong there.
I recently went over some old primitives and brought them up to BFC
certification. I found it very handy to have the flexibility of doing it
whichever way had more "correct" surfaces. It wouldn't be so bad if Notepad
had the ability to reverse the winding automatically...
The renderers already have to check to see that the file is certified at all
and take action accordingly. How much worse is it to see which direction
the winding is intended? What kind of real-world performance savings are we
talking about? If you really need the renderer to have this, you can simply
reverse winding of each "backwards" part at load-time. That would be a
(small?) hit at load time, but no problem on rendering.
Something else just occurred to me... how hard would it be to write an
auto-BFC program? Assuming that parts don't have holes, all interior
surfaces *should* be sealed in. You could divide up the whole thing with a
BSP tree and use that info to determine which faces should face which way.
It wouldn't get all parts right, but would certainly hit a good chunk of
them. And the program could at least flag most of the bad ones as such.
You'd just run it once on the whole library (whole parts anyway- subparts
aren't typically sealed) and then visually inspect the results.
Not that *I* could write the program, but the actual problem doesn't seem
significantly different from one I've dealt with before. I used to make
Quake levels, and they have a compile tool that determines what space is
inside (and can be gotten to) versus what space is outside (such that you'd
never be able to get there). I know a bit about the guts of this, and could
possibly help someone who already knows how to code 3D processing stuff...
--
Tony Hafner
www.hafhead.com
|
|
Message has 1 Reply:
Message is in Reply To:
| | Re: [Parts Tracker] More BFC Primitives
|
| Hi Travis, (...) Well I don't know that I thought it would be 'minimal' effort. I'll bet it would be a lot of work for parts that are already done. I did think that it wouldn't be that bad for new parts, because I figured the author knows best what (...) (23 years ago, 11-Apr-02, to lugnet.cad.dev.org.ldraw)
|
21 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
|
|
|
|