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 / 9599
9598  |  9600
Subject: 
Re: surface normals and vertex normals for OpenGL
Newsgroups: 
lugnet.cad.dev
Date: 
Fri, 12 Mar 2004 04:06:39 GMT
Viewed: 
1731 times
  
I won't argue with your clarification, but I will point out that it would be
more difficult for a renderer to perform this feat, particularly one that is
designed as a real-time renderer, and therefore presumably has rather serious
limitations on the amount of pre-processing being done.

Take for example the crater baseplate (I'll be conservative and go on the
assumption we'll just skip processing all the studs, because we already know
which way their polygons point.)  That still leaves us with a whole mess of
polygons, and we have to determine connectivity information for all of them.  I
suspect this will take a while.  (I will grant that in the current parts library
this part is pretty much a worst-case scenario.)

Add on to this the fact that LDraw parts do on occasion contain T junctions, and
you see another problem.  Add onto this the fact that since you know that not
all your surfaces are going to be closed, you're going to have to somehow decide
which way is "out".  I'm not entirely sure this can be done automatically in a
timely manner.  (I realize that if you cast enough rays from outside the object
into the object, that you'll eventually know the first hit side for every
visible polygon, and any polygons that don't get hit are never visible and can
be thrown out.  However, I don't think this can be done in a timely manner.)

Put all the above together, and I personally suspect my original claim that
determining the correct normals is "pretty much impossible" is fairly accurate,
at least in the context of a real-time rendering program.  Note that if someone
does implement a solution that works, I'll gladly admit that I was overly
pessimistic.

Having said all that, I wholeheartedly agree that it should be possible to write
a batch program that process LDraw parts as you suggested.  I believe that the
level of difficulty is still relatively high, but I do agree that it's possible.
Additionally, I think with a lot less work a program could be produced that
worked on a majority of the parts in the library.

--Travis Cobbs



Message has 1 Reply:
  Re: surface normals and vertex normals for OpenGL
 
(...) With the use of a point hash table, it should be possible to do all of the analysis in linear time proprotional to the number of points in the object. So, I guess I disagree with you. Not that it particularly matters, until somebody actually (...) (20 years ago, 13-Mar-04, to lugnet.cad.dev)

Message is in Reply To:
  Re: surface normals and vertex normals for OpenGL
 
(...) All: It is dangerous to write technical arguments at 1:30 in the morning, and I made some serious mistakes in my post above. 1) You are correct that most LDRAW parts are not closed and probably never will be. Optimizing for ease of part (...) (20 years ago, 11-Mar-04, to lugnet.cad.dev)

9 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