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 / 3167
3166  |  3168
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Thu, 21 Oct 1999 14:59:15 GMT
Viewed: 
1368 times
  
On Thu, 21 Oct 1999 00:10:02 GMT, "Lars C. Hassing" <lch@ccieurope.com> wrote:

Yes, too bad I'm off for an Internet-free :(  4-day week-end at the sea :)

Sometimes, life just sucks. ;)  Have a great weekend!

Matrix Inversions.  Rendering engines will need to correct for transformation
matrices which inadvertently invert the current file.  They will also need to
allow for situations in which the matrix is deliberately inverted.

"the current file" should be "a subfile"

OK.

0 CERTIFY [BFC|NOBFC]
default: NOBFC

I think you should make it clear what "default" means:
1) absence of "0 CERTIFY", or
2) "0 CERTIFY" with no (or other) tags

Both of these.  (0 CERTIFY with no tags would be a syntax error, IMO.)

Is the CERTIFY really necessary?

Define necessary. ;)  CERTIFY is not absolutely required, but it is logical and
useful.  The other meta-statements can *imply* certification, but they don't
state it directly.

Eventually, 90% of the files in the parts library will have exactly one extended
statement in them.  This will be whatever statement is needed to flag the file
as being certified for backface culling.

Presence of a CLIPPING ON should be enough.

The document specifies that clipping state is passed into subfiles.  Having a
CLIPPING ON statement in every file would be counter-productive.  So change your
statement to:

Presence of a WINDING CCW should be enough.

At which point I shrug, refer you to my comments above, and point out that it is
conceivable that someone could take an existing part-file, clean up all the
subfile references, but not touch the polygons.  Then they could certify the
file with:

0 CERTIFY BFC
0 WINDING UNKNOWN

Too many rules and required meta-commands increase the risk of forgetting
some.

True, but the statement that flags a file as being certified will not be easily
forgotten.  It will appear at the top of 99%+ of the part files.

0 WINDING [ CW | CCW | UNKNOWN ]
default: CCW

I don't think there should be a default. You should always specify either
CW, CCW or UNKNOWN.

If people really don't like the 0 CERTIFY flag, I'll agree with you on this one.
the WINDING statement would certify the file.

So DOUBLESIDED should be accomplished by CLIPPING OFF?

Yes.  Since the winding setting is strictly local, the desired effect of
DOUBLESIDED is more thouroughly accomplished by controlling the CLIPPING
setting.  It's too bad, I liked the idea of WINDING DOUBLESIDED. :(

Should this use of CLIPPING OFF be stated more plainly, perhaps in a section for
DAT file authors?

The WINDING setting is a local setting, it applies only to the file in which
the WINDING meta-statement appears.
Or:
The WINDING setting is a local setting, it applies only to the polygons in
the file in which the WINDING meta-statement appears.

OK.

0 CLIPPING [ ON | OFF ]
default: renderer-dependent

Again I am uncertain what you mean by "default"...
You should always specify either ON or OFF.

You're right.  Since the clipping state is passed down from superfiles, there is
no need to have a file-level default.  But there is a need for a
start-of-processing default.  The rendering program can assign that default, I
don't see a reason to specify it in the standard.

I removed the 'default: renderer-dependent' line, and added a Clipping State
paragraph to the Rendering Engine section.

Enables or disables clipping for the rendering.  Any number of CLIPPING
statements may appear in a file.  The current clip-setting is passed down to
subfiles when they are referenced, giving superfiles some influence over the
processing of subfiles.  However, the clip-setting is *not* passed back up
from the subfile to the superfile.

Also, you could stress that, CLIPPING ON in a file has no effect if
clipping is currently off.

OK.

The INVERT meta-statement is a flag, indicating to the renderer that the
following subfile reference has been intentionally inverted.  If the next
command-line is not a subfile reference, the INVERT is ignored.

The INVERT flag is required in addition to the actual inversion, which
occurs within the subfile command's transformation matrix.

Or:
The INVERT meta-statement is a flag, indicating to the renderer that the
following subfile reference should have its orientaion inverted, i.e. the
inside/outside definition should be swapped.

OK.

Steve
"Never trust anything that can think for itself, if you can't see where it keeps its brain."



Message is in Reply To:
  Re: Line in the Sand
 
Steve Bliss wrote... (...) Good idea, it's hard to discuss in so many threads. (...) Thank you for the well-written summary. Well-written because I agree with 99% of it ;) (...) Yes, too bad I'm off for an Internet-free :( 4-day week-end at the sea (...) (25 years ago, 21-Oct-99, to lugnet.cad.dev)

85 Messages in This Thread:

























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

Custom Search

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