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 / 3067
3066  |  3068
Subject: 
Re: Clipping / CCW / CW / INVERT
Newsgroups: 
lugnet.cad.dev
Date: 
Fri, 8 Oct 1999 13:10:01 GMT
Viewed: 
445 times
  
Rui Martins wrote in message ...
On Thu, 7 Oct 1999, Steve Bliss wrote:
Here's a brief comparision of the proposed 0 FACE meta-statement, and the
WINDING/CLIPPING meta-statements:

0 FACE CW =
0 WINDING CW
0 CLIPPING ON
0 FACE CCW =
0 WINDING CCW
0 CLIPPING ON
0 FACE UNKNOWN =
0 CLIPPING OFF
0 WINDING UNKNOWN (if there was such a thing)
0 FACE DOUBLESIDED
0 CLIPPING OFF
(except FACE DS doesn't preserve any WINDING state)

You got the Ideia wright !

Looks like half of one, six dozen of the other to me.  Using


You mean six of one, half a dozen of the other. :)

WINDING/CLIPPING would be slightly more powerful, but I don't know that • it
would have any practical benefit.

Yes it will!

it will allow to keep backward compatibility with every file already
made, without changing anything. If the file is enhanced then it will
benefit a Faster Drawing and extract functionality (real transparency).


Using 0 FACE CW|CCW|DS|UNKNOWN will also keep backward compatibility.

Either way though, some quadrilaterals will need to be manually tweaked
because they are bowtie-shaped or noncoplanar.

Remember that this is what is done in OpenGL, which was well though by
Silicon Graphics, after years in the 3D business.
To use this features, in a similar way, will simplify the making (or
appending) of a program written in OpenGL, and probably D3D (since they
use something similar).


I don't see how using a WINDING tag would be any better than using a FACE
tag.  Non-Lego CAD programs can't interpret our dat files directly anyway.

It seems that the tags you prefer could be easily generated by looking at
FACE and INVERT tags though, if there ever was a need.


<SNIP About the stair case quads >

About the INVERT tag
--------------------
To know if the file should be inverted, we could look if the determinant
is negative or not (Someone already said that).

Why would we use a tag to inform the parser of something that he can • find
out?

To allow parts-authors to selectively invert subfiles.

Maybe you are missing something here!
To invert a file, you simply have to change the matrix values in the
reference to the other file.
Remember that you can invert a file with any combination of 1 or 2
coord axis.
so, saying INVERT, wouldn't mean anything, if you didn't know how to
invert.
Since you have to define the matrix, the inversion information is
already in the matrix. The Tag would only be usefull to avoid
calculating the determinant.


Yes, you can invert a primitive by manipulating its orientation matrix, but
if it happens to be asymmetrical, using a matrix to turn it inside-out would
result in a mirrored shape and this is not what we want (I can't think of
any asymmetrical primitives at the moment--up till this point I've assumed
that some exist; I believe there are some asymmetrical sub-parts though).

It's also hard to tell which primitives are to be inverted when manually
browsing through a part's .dat file, without explicit INVERT statements.
Matrices aren't easy to interpret with the human mind.

Also, when a complete part is mirrored with a matrix, it is not our intent
to invert it; there should be an implied invert to cancel out the negative
determinant of the orientation matrix.  (A complete inside-out part wouldn't
have much practical use in most models, and would be quite unbuildable in
the physical world.)

-Gary



Message is in Reply To:
  Re: Clipping / CCW / CW / INVERT
 
(...) Thanks! (...) I knew that ! ;) (...) LDraw doesn't, but this specification is for new Programs which are backwards compatible with Ldraw, but with a bunch of new enhancements. Check the instructions of any LEGO MODEL and you will see an (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)

18 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