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 / 8591
8590  |  8592
Subject: 
Re: New BFC Spec
Newsgroups: 
lugnet.cad.dev
Date: 
Sat, 29 Mar 2003 16:10:58 GMT
Viewed: 
734 times
  
In lugnet.cad.dev, Travis Cobbs wrote:

I have created an updated revision of the BFC spec, available from the
following location:

http://www.halibut.com/~tcobbs/ldraw/bfcspecv11.txt

I think ultimately Steve Bliss has final say, though.

I have to disagree with this (nice of you to say it, though :).  Ultimately,
the community has the final say.

Here's my feedback & suggested revisions for version 12.

You could've just dropped the old revision numbers.  That would have made the 11
markings stand out more.

[...]
10 Inversion.  Sometimes, it is desireable to reverse the surfaces of a subfile;
11 to turn the subfile 'inside out'.  As a practical matter, this can be
11 accomplished by reversing the order of windings.

The last sentence ('As a practical ... of windings.') is either inaccurate or
misleading.  It seems to say (IMO) "modeler, change your polygon commands to
wind the opposite direction".  I'm sure it really means "renderer, flip your
winding flag".

I'd recommend moving this sentence to the end of this passage, with changes/
expansion.  Although really, it belongs in the 'Rendering Engine Guidelines'
section.

[...]
10 Inversion is a boolean operation--inverting a file that is already inverted
10 will give the file the normal orientation.  So if the current file is
10 inverted, and a subfile is flagged as inverted, the subfile will be rendered
10 with normal orientation, that is, right-side-out.

You might reinsert the earlier sentence here, as:

12 As a practical matter, rendering engines can accomplish inversion simply by
12 switching the order of winding -- treat CCW files as as CW, and vice versa.
12 This must happen in conjunction with the other settings, of course.

[...]
11 The BFC meta-statement (along with all of its options) is case-sensitive, and
11 must always be in all caps.

I feel this statement is inappropriate in this document.  Case-sensitivity
should be determined for all meta-statements uniformlly.

[...]
10 CERTIFY
10 This tag indicates the DAT file is compatible with the
10 backface-culling extension.  Every DAT file must be clearly labeled if it is
10 compliant.  One way to accomplish is to place 0 BFC CERTIFY at the beginning
10 of the file, before the first operational command-line.
10
10 A second way to specify a file as compliant is to use any option, except for
10 the NOCERTIFY option, on a 0 BFC meta-statement, before the first operational
10 command-line.  This is an acceptable alternative, but the 0 BFC CERTIFY
10 method is recommended and prefered.
12
12 Files in the LDraw.org Parts Library, if they are BFC compliant, are required
12 to have an explicit 0 BFC CERTIFY line in their header.

[...]
10 NOCLIP
11 This option sets the clip-mode to disabled.  Any subfiles referenced with
11 clip-mode disabled will also have their clip-mode disabled.

The second sentence is a bit circular and confusing.  Maybe everything from
'will also' on should be changed to 'will not be eligible for clipping'.

[...]
10 INVERTNEXT
10 This option inverts a subfile.  It may only be used immediately before a
12 subfile command line (intervening blank lines are allowed), and it only
12 influences the immediately following subfile command.

[...]
10 This section gives some suggestions for the design of rendering programs,
10 in order to achieve correct renderings.  Any program may violate
12 these guidelines, if there is another way to achieve a valid rendering.
[just a typo fix]

[...]
10 Inverted Subfiles.  Generally, it is not possible to determine that a subfile
10 reference is inverted or normal (which is the reason for the 0 BFC INVERTNEXT
10 meta-statement).  In particular, the rendering engine should *not* use the
10 determinant of the orientation matrix to determine if the subfile is intended
12 to be inverted (see 'Matrix Reversals', above).
10
10 One important special case is this:  part files are never inverted.
10 Parts are complex files which would be essentially useless if
10 they were inverted.  Assuming part files are never inverted allows
10 the rendering engine to apply BFC-processing on certified parts, even if the
12 calling files (ie, the main model file(s)) aren't certified.
12
12 No assumptions can be made about models which make direct use of primitives
12 or polygon commands, so a rendering engine should not simply treat
12 uncertified model files as certified.
10
10 Clipping State.  The rendering engine can default to either allow or disable
10 clipping at the start of processing.  Presumably, the user will be given the
10 ability to control this state.
12
12 Degenerate Matrices.  Some orientation matrices do not allow calculation of
12 a determinate.  This calculation is central to BFC processing.  If an
12 orientation matrix for a subfile is degenerate, then clipping will not be
12 possible for that subfile (or its subfiles).



Message has 2 Replies:
  Re: New BFC Spec
 
In lugnet.cad.dev, Steve Bliss writes: <snip> (...) This is already in the LDRAW file spec. All meta statements are required to be in all caps. -Orion (22 years ago, 29-Mar-03, to lugnet.cad.dev)
  Re: New BFC Spec
 
OK, I made almost all the changes you suggested. I only skipped one, as noted below. I also made some other changes that are all indicated by the 12 version number at the beginning of each line. (...) I don't think I agree. I don't think people (...) (22 years ago, 6-Apr-03, to lugnet.cad.dev)

Message is in Reply To:
  New BFC Spec
 
I have created an updated revision of the BFC spec, available from the following location: (URL) create this file, I started with bfcspecv4.txt (which was actually revision 10), then remarked every line in the file to be revision 10, then made my (...) (22 years ago, 24-Mar-03, to lugnet.cad.dev)

10 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
    

Custom Search

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