Special:
|
[DAT] (requires LDraw-compatible viewer)
|
Subject:
|
Re: Line in the Sand
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Wed, 10 Nov 1999 12:44:49 GMT
|
Reply-To:
|
RUI.MARTINS@LINKnomorespam.PT
|
Viewed:
|
2905 times
|
| |
| |
On Tue, 9 Nov 1999, Steve Bliss wrote:
> On Mon, 8 Nov 1999 16:38:50 GMT, Rui Martins <Rui.Martins@link.pt> wrote:
>
> > of course, but all files start on one root, if that is no BFC certified,
> > than no acceleration.
>
> 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.
> > but a certified part can have sub parts not certified ! hence another
> > no-go.
>
> Huh? In that case, the uncertified primitive is not back-face-culled, but the
> certified part is bfc'ed. How do want to improve this? The rendering engine
> can't bfc un-certified files.
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 5 6 7 8
'C' means a certified .DAT
'N' means a NOT certified .DAT
Branch:
1: C-C-C accelerated. Hence all files (this is the best case)
2: C-C accelerated -N UNaccelerated
3: C accelerated N-C UNaccelerated
4: C accelerated N-C UNaccelerated
5: none accelerated N-C-C UNaccelerated
6: none accelerated N-C-N UNaccelerated
7: none accelerated N-N-C UNaccelerated
8: none accelerated N-N-N UNaccelerated (This is the current case)
with some tweaking case 5 and 6 could also accelerate the 'C'ertified
files.
So resuming, with your proposal you can't accelerate all the
certified files, with my proposal you CAN.
This becomes even more evident if you have a branch like:
C-N-C-C-C-N-C
The higher the 'N'ot certified file is, the worst the case is.
remember that the first step is branch 7, we will try to
certified/optimize the primitives files.
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.
Remember that my proposal uses CLIPPING as a local setting.
Is this too complicated ?
I think not, maybe I can't explain my self well, or you guys are beeing
to stubborn. ;P sheech.
P.S.
Minstorm yourselfs please.
___
/ /_
/_ /
/ /_
/_ /
//
/
Rui Martins
|
|
Message has 1 Reply: | | Re: Line in the Sand
|
| (...) 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] (...) It's not too complicated. A rendering (...) (25 years ago, 10-Nov-99, to lugnet.cad.dev)
|
Message is in Reply To:
| | Re: Line in the Sand
|
| (...) 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. (...) Huh? In that case, the uncertified primitive is not back-face-culled, but the (...) (25 years ago, 9-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
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|