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 / 3219
3218  |  3220
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Wed, 10 Nov 1999 23:23:18 GMT
Viewed: 
4720 times
  
Steve Bliss wrote...
> On Wed, 10 Nov 1999 00:44:17 GMT, "Lars C. Hassing" <lch@ccieurope.com> wrote:
> > The CERTIFY section:
> > > operational command-line in the file.  No other statements are required for
> > > backface culling to be applied to a file.
> > 
> > Then please add:
> >   0 CERTIFY BFC implies 0 CLIPPING ON and 0 WINDING CCW.
> 
> CERTIFY BFC doesn't imply CLIPPING ON -- the clipping mode/setting comes from
> the superfile (for the main model-file, clipping is set by the rendering engine
> or an explicit CLIPPING ON statement).

But it *does* imply CLIPPING ON. Otherwise clipping would be off.
Remember, CLIPPING ON cannot turn clipping on if turned off in a
superfile.
If you render the part alone (just to view the single part) the CERTIFY
should enable clipping just like an explicit CLIPPING ON statement,
which you mentioned yourself above.

> WINDING CCW is the default for files, as stated in the section for WINDING.
> CERTIFY doesn't imply CCW winding at all--if a file started with these two
> lines:
> 
> 0 WINDING CW
> 0 CERTIFY BFC
> 
> ... the winding should be CW, right?

Well, it depends on what you mean by "operational command-line" in
"Every clippable file must include exactly one CERTIFY meta-statement,
and it must appear before the first operational command-line in the file."

It could also be an error if the CERTIFY is not first!

> > > UNKNOWN = winding direction is unknown or variable.  This setting will
> > > disable clipping, until the winding is reset.
> > > 
> > > The WINDING setting is a local setting, it applies only to the polygons in
> > > the file in which the WINDING meta-statement appears.
> > 
> > "...This setting will disable clipping..." - I hope readers do not confuse
> > this with CLIPPING OFF. Although the next sentence says WINDING is local,
> > it should be made clear that clipping is not turned off for subfiles.
> > Can you think of a better wording of the two sentences?
> > Also there should be some words about using 0 CLIPPING OFF for a
> > double-sided section of a file.
> 
> Ergh.  Thank you for pointing this out.  I had not thought through all the
> implications of the WINDING UNKNOWN (maybe WINDING NONE?) setting.
> 
> My intention was that WINDING UNKNOWN *would* disable clipping for subfiles, but
> that is obviously *not* the way the document is written, and making things work
> that way would be non-elegant.  Then again, it seems counter-productive to
> require part-authors to use both WINDING UNKNOWN and CLIPPING OFF when they make
> use of subfiles in a non-compliant or double-sided section.

Part-authors only have to use CLIPPING OFF, as it turns off clipping
for both local polygons (i.e. WINDING UNKNOWN is not needed) as well
as polygons in subfiles.

> Maybe it would be better to drop WINDING UNKNOWN and specify that the default
> value for CLIPPING is ON.  File authors would use CLIPPING OFF for double-sided
> or non-compliant sections of code.  Note that the CLIPPING default would really
> only effect the main file in a rendering, because superfiles would pass down
> their clip-setting to subfiles.
> 
> Curent_Clip = Local_Clip and Super_File_Clip
> 
> Making this change would bring us closer to a consensus, it would simplify the
> spec and keep it clean, and would eliminate overlapping and potentially
> confusing functions.

Yes.

> We could just make a file which steps through each of the primitives, including
> an orientation vectors.  Something like (the first arrow is not right):
> 
> 0 Primitive Reference
> 0 Name: PRIMREF.DAT
> 0 WRITE 1-4CON1.DAT 1/4 Cone Section 1:2 Radius, Scale: 10x
> 1 16 0 0 0 10 0 0 0 10 0 0 0 10 1-4con1.dat
> 2 24 -10 5 0 -30 5 0
> 3 24 -30 5 0 -25 5 2.5 -25 5 -2.5
> 0 STEP
> 0 CLEAR
> 0 WRITE 4-4DISC.DAT Full Disc, (X,Z)= (-1 to 1, -1 to 1), Scale: 10x
> 1 16 0 0 0 10 0 0 0 10 0 0 0 10 4-4disc.dat
> 2 24 0 0 0 0 -30 0
> 3 24 0 -30 0 -2.5 -25 0 2.5 -25 0
> 0 etc, etc
> 
> Then we could just add new primitives as they appear.  Kind of awkward to view,
> but it could be a way to proceed.

Though I think it is always better to place the information where it
belongs, your PRIMREF.DAT is a brilliant idea - scaling fixed too!
It looks good (nice arrows) and uses the tools we already have.
/Lars



Message is in Reply To:
  Re: Line in the Sand  [DAT]
 
On Wed, 10 Nov 1999 00:44:17 GMT, "Lars C. Hassing" <lch@ccieurope.com> wrote: Still discussing (URL) (...) Yes, but the 0 CERTIFY ( BFC | NOBFC ) format is more common. And it emphasizes that is one statement with various parameters. And it's less (...) (27 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
    

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