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 / 3072
3071  |  3073
Subject: 
Re: Clipping / CCW / CW / INVERT
Newsgroups: 
lugnet.cad.dev
Date: 
Fri, 8 Oct 1999 15:31:42 GMT
Viewed: 
457 times
  
On Fri, 8 Oct 1999 11:00:25 GMT, Rui Martins <Rui.Martins@link.pt> wrote:

On Thu, 7 Oct 1999, Steve Bliss wrote:
Lots of good stuff in your post, Rui!

Thanks!

No, thank you!

On Wed, 6 Oct 1999 18:15:40 GMT, Rui Martins <Rui.Martins@link.pt> wrote:

So if a solid object is Opaque, then from any view point there are some
faces that are invisible, because they are facing away from the viewer.

(Side note: there are not actually any solids in LDraw. Only lines and
polygons).

I knew that ! ;)

I don't know if I knew you knew that, but I was almost positive you knew
that.  And I knew most everyone else knew that, but I wasn't sure
absolutely everyone knew that. ;)

From this we now know that "Opaque solids" can have some faces "Clipped"
and that transparent object (solid or not) CAN'T have any faces clipped.

Actually, since LDraw doesn't do shading, transparent surfaces *can* be
clipped.  Only edges, the top-most solid surface, and the top-most
transparent surface will show up in the final rendered image.

LDraw doesn't, but this specification is for new Programs
which are backwards compatible with Ldraw, but with a bunch of new
enhancements.

Right.  New programs may handle transparency either way, so the extensions
to the description language shouldn't assume which way to go.  Plus, the
description language usually doesn't know the color/transparency, so we
can't assign the CLIPPING setting in the language anyway.

Check the instructions of any LEGO MODEL and you will see an attempt
to represent translucency/transparency, by using dots.
If we can actually do transparency, we should to it to every polygon
that as transparent/translucid color (maybe these are not the correct
terms).

I often feel like I'm trans-lucid.

Looks like half of one, six dozen of the other to me.  Using
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).

The proposed FACE meta-statement would also give us backwards
compatibility.

Remember that this is what is done in OpenGL, which was well though by
Silicon Graphics, after years in the 3D business.

Which is an important point.

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).

True, but the translation is fairly straightforward.

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!

I wrote poorly.  I should have said:  To allow parts-author to selectively
turn subfiles inside out.

Without the INVERT flag, the rendering program will examine the transform
matrix, and if it's been inverted, it will adjust for that inversion,
turned the carefully-inverted subfile back to the original outward-facing
orientation.

Remember that you can invert a file with any combination of 1 or 2
coord axis.

(inverting on two axes doesn't invert--it's a rotation of 180-degrees
around the third axis).

I propose that this flag scope is only valid until the next file
reference, where it is used, after that (in this file, the one with the
reference to another) it is disabled.

That sounds logical, but may be confusing, because of the potential hanging
references.

Didn't grasp that one! :(
Referencing sub-files in subfiles, works like a stack! so what is you
point ? what do you mean by hanging references ?

I meant in a file like:

0 INVERT
<many lines, quads, and triangles>
1 16 ... subfile.dat

It will be hard to track down which subfile command goes with the invert
command.

The use of this tag will only SPEED THINGS UP, it's not a requirement!

Nope, what we talking about, it would be a required tag to acheive specific
functions.

see above

see above ;) -- INVERT (one way or another) is needed to be able to turn
primitives inside-out.

Steve



Message has 1 Reply:
  Re: Clipping / CCW / CW / INVERT
 
(...) touche'! (...) Not exactly! If the color has any transparency, force CLIPPING OFF, irrespective of what the file TAGS inform. (SIDE NOTE) when using the tag 0 CLIPPING ON you are not informing the program that it MUST do clipping, but instead (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)

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

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