[LSC] BFC Standard - Revision 1

William Howard william at howard-family.fsworld.co.uk
Tue Oct 24 02:12:25 EDT 2006


Ta
 
I'll try and update the standard page tonight (UK time)
 
W

-----Original Message-----
From: lsc-bounces at ldraw.org [mailto:lsc-bounces at ldraw.org] On Behalf Of
Travis Cobbs
Sent: 23 October 2006 17:11
To: LDraw Standards Committee
Subject: Re: [LSC] BFC Standard - Revision 1


The paragraph in question currently reads like this:


Control of the compliance/non-compliance state will only affect the current
file. Subfiles will be affected indirectly, because it is not possible to
cull subfiles of non-BFC files, but the compliancy of the subfiles will not
be affected. That is, it is not possible to cull a BFC subfile when it is
referenced by a non-BFC superfile, but the same BFC subfile may be culled
when referenced from a BFC superfile.


Here's my take on a replacement:


Marking a file as BFC-compliant only directly affects that file.  In order
for subfiles to be treated as compliant, they must also be marked as
compliant.  Additionally, with the exception of parts, a file is only
treated as being BFC-compliant if it and all of its superfiles are
compliant.  The reason for this is that there is no way while processing a
file to know the intended inversion state when the file's superfile isn't
BFC-compliant.  The reason that parts are excepted from this rule is that
they are complex closed solids, so there is never a reason to invert them.
Assuming part files are never inverted allows the rendering engine to apply
BFC-processing on certified parts, even if the calling files (i.e., the main
model file(s)) aren't certified.


Note that I don't directly mention non-compliancy and its effect on
subfiles.  That's because it was arguably wrong before.  Marking a file with
BFC NOCERTIFY most definitely affects the sub-files (which was stated in the
original text, but in a way that I felt was more confusing).  Even my
current wording might be considered to be somewhat confusing, and I'm open
to suggestions for alternatives. 

--Travis


On 10/22/06, William Howard <william at howard-family.fsworld.co.uk
<mailto:william at howard-family.fsworld.co.uk> > wrote: 

OK, I'll look at moving the exception text up into the main body.
 
Any thoughts on what needs to be re-worded to remove the last remaining
"current issue" (and a choice of words)

-----Original Message-----
From: lsc-bounces at ldraw.org [mailto:  <mailto:lsc-bounces at ldraw.org>
lsc-bounces at ldraw.org] On Behalf Of Travis Cobbs
Sent: 22 October 2006 22:13
To: LDraw Standards Committee

Subject: Re: [LSC] BFC Standard - Revision 1


The exception text should be moved up into the paragraph that talks about
not using BFC unless all parents are certified.  (Actually, we should reword
it to fit into that paragraph naturally.)

--Travis


On 10/22/06, William Howard <william at howard-family.fsworld.co.uk> wrote: 

OK,

I've just found this in the standard "One important special case is this:
part files are never inverted. Parts are complex files which would be
essentially useless if they were inverted. Assuming part files are never 
inverted allows the rendering engine to apply BFC-processing on certified
parts, even if the calling files (i.e., the main model file(s)) aren't
certified."

So at one point we are saying that a sub-file can't be culled if it's in a 
non-certified super-file, but at another point of the standard we are saying
that we can.

Confused?  You will be!

-----Original Message-----
From: lsc-bounces at ldraw.org  <mailto:lsc-bounces at ldraw.org> [mailto:
<mailto:lsc-bounces at ldraw.org> lsc-bounces at ldraw.org] On Behalf Of
William Howard
Sent: 22 October 2006 10:30
To: 'LDraw Standards Committee'
Subject: RE: [LSC] BFC Standard - Revision 1 


> On the matter of culling parts even if the super-file isn't certified ...
Thinking some more about this, this *has* to be incorrect.  If it was
correct that you can't BFC a subfile unless the superfile is certified, 
hardly any models would ever be rendered with  culling applied as the main
model file is almost never BFC certified.

I was thinking that perhaps the criterion is if the superfile contains
polygons, but that also can't be true as some of my model files contain raw 
rects and tris to create arrows (and they render correctly in LDView which
Travis says performs back face culling regardless).

So, we seem to have a case that back face culling can be applied if the main
model file or a part file within a superfile is certified.

The problem seems to be with the definition of the term "current reference
branch" - which is used in the definition of culling (under Language 
Extension Functionality) but never defined itself.

(The terms "file-reference tree", "file-reference branch" also need sorting
out)



_______________________________________________ 
LSC mailing list
LSC at ldraw.org
http://five.pairlist.net/mailman/listinfo/lsc


_______________________________________________ 
LSC mailing list
LSC at ldraw.org
http://five.pairlist.net/mailman/listinfo/lsc




_______________________________________________
LSC mailing list
LSC at ldraw.org
http://five.pairlist.net/mailman/listinfo/lsc





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://five.pairlist.net/pipermail/lsc/attachments/20061024/2ecdad41/attachment-0001.htm


More information about the LSC mailing list