Curved Ocean

New Message Reply Date view Thread view Subject view Author view

WILLIAM_MARINELLI++at++ntsc.navy.mil
Tue, 01 Jul 97 14:42:10 EST


     The issue I would like to address is the idea of rendering ships on
     the horizon if they are viewed from a periscope. On a flat ocean, they
     look hokey since in real life they should sink down into the horizon.
      
     My first approach was to simply sink the ships into the ocean based on
     their distance from the eyepoint and the curvature of the earth. This
     did lower the ships, but the effect had a hokeyness all its own: There
     would be water surrounding the partially sunken ship.
      
     My next kluge was to manipulate the far clip plane so that there was
     no water behind the partially sunken ship. But what if there was more
     than one ship out there and the ships were at different distances from
     the eyepoint.
      
     Enough about my problem. I am wondering about the possibility of
     modeling the ocean as a curved surface - perhaps a NURB or a set of
     NURBS. Any ideas of the feasibility of doing that? (I do recall that
     OpenGL demo that generates a heart shaped object from NURBS - I think
     it was a glu call. And the relationship of the control points to the
     curve was not clear in the way it was coded - at least not clear to
     me.) Of course, if this were done, the ships would have to placed on
     the nurb based ocean to produce this sinking on the horizon effect. I
     think that would be an easy calculation.
      
     The other option that comes to mind with a flat ocean is to render the
     ships correctly out to a certain point near the far clip plane. At
     that point, depending on how far they are supposed to be away from the
     eyepoint, then scale them and sink them to get the right perspective.
      
     Any thoughts on this sort of thing?
      

=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:33 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.