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 / 3142
3141  |  3143
Subject: 
Re: Object Orientation & DAT files & CLIPPING/WINDING
Newsgroups: 
lugnet.cad.dev
Date: 
Tue, 19 Oct 1999 15:08:46 GMT
Viewed: 
634 times
  
On Mon, 18 Oct 1999 17:17:44 GMT, Rui Martins <Rui.Martins@link.pt> wrote:

FIRST OF ALL
my sugestion is that the CLIPPING, WINDING, INVERT are strictly local
where they are used.

CLIPPING is strictly local
WINDING is strictly local
INVERT is strictly local

<snipped stuff about INVERT>

I think we're disagreeing about the meaning of 'strictly local'.  As you
describe the operation of INVERT, it is *not* local.  The state of
inversion is passed down the file-reference tree.  This is not a local
operation.  It is true that each file, while it is being rendered, has no
information about which super-files inverted (or didn't).  But it must know
the current state of inversion, in order to clip correctly.

Contrast this with WINDING: if a file declares WINDING CW, this will not
imply that any subfiles invoked by that file will also be WINDING CW.  The
"state of winding" is only kept for the current file.[1]

Each DAT-file has to establish its own WINDING.

It can have its own winding, INTERNALLY, but to rest of the world its as
if it has CCW WINDING all over it.
remember you can't see inside.

If you can't see inside it, then the rest of the world doesn't care what
the winding is.

The use for WINDING UNKNOWN would be primarily for existing files in the
parts library, not new files.

By what you said above WINDING UNKNOWN is not needed.

Since all this stuff is backwards compatible, the existing files, don't
need to be changed, unless you want to optimize them.
                     --------------------------------

What if I want to optimize *part* of a file?  Remember, I want to avoid
forcing the clipping state by hard-coding CLIPPING ON and CLIPPING OFF.

NO, the clipping state is not passed from file to file. It's LOCAL.

This is the point we disagree on.  I can see how to write files and
subfiles to work with either assumption (either the clipping-state is local
or it is passed into subfiles).

IMO, it is better to pass the clipping-state through to subfiles.  This
requires fewer assumptions about the way files work together, and places
fewer restrictions on the file author.

In at least two ways, the clipping must be enforced from higher-up in the
file-reference tree (during rendering):

1. When the rendering program has an option to enable or disable clipping.
2. Any file-references by a non-certified file must not clip.

3-The only reasons I can think of to disable clipping in the DAT-code[4],
are (a) the code is not clipping-compliant, (b) the code is for a two
object, such as a printed decoration.  Are there any other?

I am assuming that by a "two object" you meant a
"2D object"        or
"Planar Object"    or
"Non Solid Object"

Er, I actually *meant* "two-sided quad/tri".  But you understood what I was
getting at.

and by object I understand as any group of one or more tris/quads.

Than YES. but I don't think that a printed decoration, should be
non clipping, because if you see it from beeind the decoration would be
reversed.

Yes, it would be reversed, but it should not be clipped, because it is
still visible (behind a transparent surface, anyway).

Steve
[1] If the WINDING setting from the super-file affected the assumed winding
of the sub-file, we wouldn't need an INVERT function, we'd just reverse the
winding before invoking the inverted file.  Assuming we knew what the
winding was.



Message has 1 Reply:
  Re: Object Orientation & DAT files & CLIPPING/WINDING
 
(...) Yes it is. (...) The reference of the current GLOBAL state is passed down the file-reference tree, YES. (...) Correct. (...) NOT the FILE, but the RENDERING PROGRAM ! (...) Agreed. (...) By default would be CCW. (...) YES and NO. The internal (...) (25 years ago, 20-Oct-99, to lugnet.cad.dev)

Message is in Reply To:
  Re: Object Orientation & DAT files & CLIPPING/WINDING
 
FIRST OF ALL my sugestion is that the CLIPPING, WINDING, INVERT are strictly local where they are used. CLIPPING is strictly local WINDING is strictly local INVERT is strictly local INVERT only means see referenced file as inverted. if INVERT is (...) (25 years ago, 18-Oct-99, to lugnet.cad.dev)

13 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