Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!sgi!shinobu!odin!cashew.asd.sgi.com!kurt From: kurt@cashew.asd.sgi.com (Kurt Akeley) Newsgroups: comp.sys.sgi Subject: Re: Fastest way to find world -> screen mapping Keywords: transform world coords screen coords matrix inversion Message-ID: <1991Jun4.235906.4447@odin.corp.sgi.com> Date: 4 Jun 91 23:59:06 GMT References: <1991Jun4.031535.18607@resmel.bhp.com.au> Sender: news@odin.corp.sgi.com (Net News) Reply-To: kurt@cashew.asd.sgi.com (Kurt Akeley) Organization: sgi Lines: 21 In article <1991Jun4.031535.18607@resmel.bhp.com.au>, tim@resmel.bhp.com.au (Tim Monks) writes: |> What is the fastest way of mapping (x,y,z) (world coords) to (sx,sy) |> (screen coords) on a SG? |> |> I know about : |> i. Getting the viewing matrix from the pipeline, and inverting this |> matrix on the CPU (and various speedups on the same theme, |> to make the inversion faster). I don't like the idea of making the |> CPU do a job the pipeline should be doing. [stuff deleted] If the result of an operation is intended for anything other than the framebuffer, it is NOT the job of the graphics hardware to do it. The best way to transform points is to write code that transforms them on the MIPS processor. If the transform is from world (object) coordinates to screen coordinates, no matrix inversion is required. -- Kurt