Subject:
|
Re: Clipping / CCW / CW / INVERT
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Fri, 8 Oct 1999 15:31:42 GMT
|
Viewed:
|
545 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
|
|
|
|