Subject:
|
Re: Line in the Sand
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Wed, 10 Nov 1999 19:02:39 GMT
|
Viewed:
|
2822 times
|
| |
| |
On Wed, 10 Nov 1999 12:44:49 GMT, Rui Martins <Rui.Martins@link.pt> wrote:
> On Tue, 9 Nov 1999, Steve Bliss wrote:
>
> > As Jacob said, this is why the specification suggests that rendering programs
> > allow the user to select the option of defaulting CLIPPING to on or off.
>
> Strange sentence, CLIPPING is OFF by default, you can change that by
> including a CLIPPING ON. And this was not what was beeing discussed. See
> below.
I don't think I understand you here. Do you mean that it is strange to let the
user and/or programmer of the rendering program set the initial CLIPPING value?
[clipped nice rendering-process tree]
> The Only thing that I have not taken into account iet is:
> " if any of these files has an INVERT command. "
>
> Your proposal will have the same acceleration problems, but
> my proposal will keep its robustness, if the invert command is processed
> in the following form: (I refreshed my ideia)
>
> - We have a Global state variable which keeps track of the current invert
> state (by branch. NOTE: we should use depth first search order to use
> only one variable).
>
> - if the current file is processed with:
> * invert_state = INVERTED, we interpret winding CCW as CW and vice-versa.
>
> * invert_state = NORMAL, we interpret winding CCW and CW normally.
>
> Is this too complicated ?
It's not too complicated. A rendering engine will always have to do this in
order to correctly clip polygons. But it won't allow us to make any assumptions
about C-N-C branches.
First question: which invert-state are we keeping track of, the occurrences of 0
INVERT or the determinant of the transformation matrix?
If we are tracking 0 INVERTS, then we must have certified files all the way down
the branch in order track the invert_state. One non-certified file breaks the
chain.
If we are just looking at the determinant of the transformation matrix, then we
don't need a global variable, the determinant can be id'ed locally. But the
determinant doesn't tell us what we need to know. We need to know the authors'
intentions when they wrote the various files in the branch. Did they mean to
invert or not?
There's no way to track the invert-state along a C-N-C branch.
The one assumption which can (generally) be made is this: references from the
main model file to the parts-files do *not* invert the subfile. If we also
*assume* the main model is certified[1], then any certified part-files can be
clipped.
Steve
1) Even if there's no 0 CERTIFY BFC in the main file, 99%+ model files are
compliant, because they only reference part-files, and do not intend to invert
the parts.
|
|
Message is in Reply To:
| | Re: Line in the Sand [DAT]
|
| (...) Strange sentence, CLIPPING is OFF by default, you can change that by including a CLIPPING ON. And this was not what was beeing discussed. See below. (...) Look at this two trees root root C N / \ / \ C N C N /| |\ /| |\ C N C N C N C N 1 2 3 4 (...) (25 years ago, 10-Nov-99, to lugnet.cad.dev)
|
85 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|