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 / 7277
7276  |  7278
Subject: 
Re: *** LDView Version 1.9.5 Released ***
Newsgroups: 
lugnet.cad, lugnet.cad.dev
Followup-To: 
lugnet.cad.dev
Date: 
Thu, 30 May 2002 20:29:35 GMT
Viewed: 
115 times
  
FUT lugnet.cad.dev.

In lugnet.cad, Don Heyse writes:
I finally got to try it out and I'm quite jealous of the smoothing
feature!  I'm gonna have to borrow some of that code!

Feel free, but be warned that it makes extensive use of my custom foundation
classes.  Also, while you're welcome to use the TCFoundation library (LDView
compiles it to a static .lib), you should be aware that it uses reference
counting.  In order to implement this, all the destructors are protected.
You aren't allowed to create a static instance, nor can you delete one; you
have to use the release() or autorelease() methods.  I would strongly
suggest you contact me privately if you plan to use these classes; there are
some rules that have to be followed, and they aren't intuitively obvious.

Also, if you look at the source and get confused, I have two different
implementations of the smoothing using two different collection classes.
One uses my TCDictionary collection class, and the other uses my
TCObjectTree collection class (binary tree-based).  The two implementations
are there because I did the TCDictionary one first, and then switched to the
TCObjectTree, but kept the other just in case the TCObjectTree
implementation ended up slower.  It's hard-coded to use the TCObjectTree,
though, so the TCDictionary code never gets executed.

Also, it only works in LDView because I flatten parts internally (equivalent
to an automatic inline).  I don't think the smoothing can be done at the
part level (as opposed to the DAT file level) without performing this step.

By the way, what is the High Quality setting supposed to do for edge
lines?  It doesn't seem to do much of anything for me.  I thought
maybe it would enable GL_LINE_SMOOTH and all the blending and hint
settings required to get good results with that, but I suppose I
should just check the source to see for sure.

It turns on the use of polygon offset.  I should probably get rid of it as
an option and just do that automatically if the hardware supports it.  Other
than for my own debugging reasons, I don't see much reason to turn it off.


In ldglite I noticed that doing antialiased lines in a separate pass
after the surfaces gave the best results.  I also found that adding
an extra z offset of 0.2 above and beyond the maximum glPolygonOffset()
setting seemed to help quite a bit with the antialiased lines, especially
lines with a width greater than one.

I think I'll add antialiased lines to my list of future features.  I already
draw the lines last, so that's not a problem.

--Travis Cobbs (tcobbs@REMOVE.halibut.com)



Message has 1 Reply:
  Re: *** LDView Version 1.9.5 Released ***
 
(...) Classses? Objects? Destructors? Instances? Don't worry, I won't be borrowing much of that. So far ldglite is just plain C code and I'm not planning on spoiling it with any of that nasty OOP stuff at this point. ;^) I was just thinking about (...) (22 years ago, 30-May-02, to lugnet.cad.dev)

Message is in Reply To:
  Re: *** LDView Version 1.9.5 Released ***
 
(...) I finally got to try it out and I'm quite jealous of the smoothing feature! I'm gonna have to borrow some of that code! By the way, what is the High Quality setting supposed to do for edge lines? It doesn't seem to do much of anything for me. (...) (22 years ago, 30-May-02, to lugnet.cad)

25 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