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 / 3196
3195  |  3197
Subject: 
Re: Line in the Sand
Newsgroups: 
lugnet.cad.dev
Date: 
Sat, 6 Nov 1999 20:50:24 GMT
Viewed: 
2754 times
  
Steve:

I have a small linguistic correction, but except for that,
I consider the document finished:

  There will be a few requirements placed on the design of rendering programs,
  in order to achieve correct renderings.  Any program should may violate
                                                       ^^^^^^^^^^
Wouldn't "may" be sufficient?

  these requirements, if there is another way to acheive a valid rendering.


Rui:

<http://www.geocities.com/partsref/bfcspec.txt>

I don't have much time now, but here are several problems.

Examples:

check the following two statements:
---------------------------------------------------------------------------
To make this standard useful and effective, the LDraw parts library
must be updated to follow the new standard. Since it would be difficult to
rewrite the entire library in one update, the standard will allow for a
mix of extended and unextended files in one rendering.

---------------------------------------------------------------------------
2 Allowable Clipping.  A subfile can only have clipping applied when the
2 following conditions apply:
    - All superfiles are certified.
    - The current file is certified.
2    - No superfile has disabled clipping prior to referencing this
2      subfile.

---------------------------------------------------------------------------

Allows a mix of extended and unextended files in one rendering, but
to allow clipping, all files, have to be certified !?!?

All the files in the relevant _branch_ of the rendering
tree.

If you certify your model, then every certified primitive
will be drawn with back-face-culling when it is used for a
certified part.

You can't get it any better!

As soon as all the primitives are certified and people start
to insert certification flags in their models, all certified
parts will be drawn with back-face-culling.

I repeat: You can't get it any better!

This basicly resumes to:
- You won't benefit from the changes, UNLESS ALL the files you use
  are certified.

Wrong.

- Every already made (Old) model, won't ever benefit unless it is
  redited.

Yes, but if it only refers to ordinary parts, that is just a
matter of inserting a "0 CERTIFY BFC" line in the file.

I presume that the modelling programs (such as MLCAD) will
insert the "0 CERTIFY BFC" line automatically in all models
built in the "builder mode" (but not in "parts author
mode").

In some cases, it may be desirable to assume that a file is
right-sideout, (and therefore clippable) even though not all superfiles
are certified. One obvious example is files in the ldraw\parts
directory.

  This paragraph is another one, sorry to say this, but IMHO
this paragraph it's a mess. (Could someone explain better !?)

It means that there could be an option in the renderer that
tells it that some files assume that their supermodels are
certified, even if they (the supermodels) don't contain a
"0 CERTIFY BFC" line.

This is just an _option_ for the renderers, which can make
them use back-face-culling on old models without a
"0 CERTIFY BFC" line.

So now we can bend some of the rules, depending on path or something
else (which is not defined). How is this supposed to be implemented ?

The renderers are allowed to give the user the _option_ of
bending the rules slightly.


And what about the suggestion that someone supplied, that the default
context should be clarified ?

In my opinion the language extensions should be written with curly
braces '{' '}' instead of '[' ']', because the later means optional
parameter and the previous means compulsory parameter with possible
options if the pipe '|' is used.

So IMHO it should be like this:
-----------------------
0 CERTIFY { BFC | NOBFC }
default: NOBFC

No, but you could write it like this:

{ 0 CERTIFY [ BFC | NOBFC ] }

The default value is for the case where the statement is
omitted completely.

-----------------------
  0 WINDING { CW | CCW | UNKNOWN }
  default: CCW

No, but you could write it like this:

{ 0 WINDING [ CW | CCW | UNKNOWN ] }

Again, the default value is for the case where the statement
is omitted completely.

UNKNOWN = winding direction is unknown or variable.  This setting will
disable clipping, until the winding is reset.

Using someones expression, the UNKNOWN is 'syntatic sugar', because this
will be implemented internally as CLIPPING OFF.
If the user want's to inform that the 'winding' is not known,
then he can make a regular comment, and use CLIPPING OFF

This sounds correct, but do we want to eliminate this
syntactic sugar?

-----------------------
0 CLIPPING { ON | OFF }
default: clipping off

No, but you could write it like this:

{ 0 CLIPPING [ ON | OFF ] }


Play well,

Jacob

      ------------------------------------------------
      --  E-mail:        sparre@cats.nbi.dk         --
      --  Web...:  <URL:http://www.ldraw.org/FAQ/>  --
      ------------------------------------------------



Message has 2 Replies:
  Re: Line in the Sand
 
(...) Agreed, it's logical. Should is too strong ! not like must, but strong anyway. (...) of course, but all files start on one root, if that is no BFC certified, than no acceleration. (...) but a certified part can have sub parts not certified ! (...) (25 years ago, 8-Nov-99, to lugnet.cad.dev)
  Re: Line in the Sand
 
(...) Yes, and 'may' is more more correct than 'should', since the "Rendering Engine Requirements" section really is included just to provide a framework for the language extensions. The document specifies the input, and we have a general (...) (25 years ago, 9-Nov-99, to lugnet.cad.dev)

Message is in Reply To:
  Re: Line in the Sand
 
(...) As I said it is not ready iet. The questions (options) that where up in the air, are still there, no one as discussed them, after this spec file was created. I don't have much time now, but here are several problems. Examples: check the (...) (25 years ago, 5-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

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