[LSC] BFC Standard - Revision 1
Travis Cobbs
tcobbs at gmail.com
Mon Oct 23 12:11:20 EDT 2006
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> 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: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] 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/20061023/00f2a74d/attachment.html
More information about the LSC
mailing list