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 / 3062
3061  |  3063
Subject: 
Re: Clipping / CCW / CW / INVERT
Newsgroups: 
lugnet.cad.dev
Date: 
Fri, 8 Oct 1999 11:00:25 GMT
Reply-To: 
Rui.Martins@link.^ihatespam^pt
Viewed: 
517 times
  
On Thu, 7 Oct 1999, Steve Bliss wrote:
Lots of good stuff in your post, Rui!

Thanks!

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 ! ;)

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.

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


<Snip description of WINDING and CLIPPING>

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

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


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

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 ?

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


Rui Martins



Message has 3 Replies:
  Re: Clipping / CCW / CW / INVERT
 
Rui Martins wrote in message ... (...) You mean six of one, half a dozen of the other. :) (...) it (...) Using 0 FACE CW|CCW|DS|UNKNOWN will also keep backward compatibility. Either way though, some quadrilaterals will need to be manually tweaked (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)
  Re: Clipping / CCW / CW / INVERT
 
(...) No, thank you! (...) 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. ;) (...) Right. New programs may handle transparency (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)
  Re: Clipping / CCW / CW / INVERT
 
(...) No, when I look at the images I see real alpha-blended surfaces :) I've tried to turn backface culling in the transparent parts and they looked very ugly, it's better to draw everything in those cases. (...) Just a note to correct the (...) (25 years ago, 8-Oct-99, to lugnet.cad.dev)

Message is in Reply To:
  Re: Clipping / CCW / CW / INVERT
 
Lots of good stuff in your post, Rui! (...) (Side note: there are not actually any solids in LDraw. Only lines and polygons). (...) Actually, since LDraw doesn't do shading, transparent surfaces *can* be clipped. Only edges, the top-most solid (...) (25 years ago, 7-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