home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 6948 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.6 KB

  1. Path: nntp.teleport.com!sschaem
  2. From: sschaem@teleport.com (Stephan Schaem)
  3. Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
  4. Subject: Re: AB3D II beats Quake....
  5. Followup-To: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
  6. Date: 5 Apr 1996 17:13:53 GMT
  7. Organization: Teleport - Portland's Public Access (503) 220-1016
  8. Message-ID: <4k3kch$do3@nadine.teleport.com>
  9. References: <DosA8o.17B@info.uucp> <6538.6658T1031T2526@mbox.vol.it> <4jgn4o$l2b@hell.team17.com> <4jk515$q3l@nadine.teleport.com> <4jkdpu$1o6@hell.team17.com> <4joj14$ghj@nadine.teleport.com> <4js275$98s@hell.team17.com> <4jt8bh$a70@nadine.teleport.com> <4ju1qf$k4@hell.team17.com> <4juplu$n44@nadine.teleport.com> <4jutrg$alh@hell.team17.com> <4jvho1$41l@nadine.teleport.com> <4k1j58$b9l@hell.team17.com>
  10. NNTP-Posting-Host: linda.teleport.com
  11. X-Newsreader: TIN [version 1.2 PL2]
  12.  
  13. Stefan Boberg (boberg@team17.com) wrote:
  14. : sschaem@teleport.com (Stephan Schaem) wrote:
  15.  
  16. : > 6... the one you missed is recursive subdivision, and the fastest methode
  17. : > I tryed. 
  18.  
  19. :   Ah, do you mean subdividing polygons? That doesn't really have
  20. : anything to do with rasterization, though? Not directly. 
  21.  
  22.  Well, you incorporate the recursive call in the render call. Should
  23.  be more eficient.
  24.  
  25. :   Anyway, I haven't tried that yet, since I currently need to support
  26. : N-sided polygons, and there's no _trivial_ way of subdividing those,
  27. : as far as I know. I'll probably look into it though. BTW: As far as I
  28.  
  29.  My guess is that they are convex... then why not split them into
  30.  triangle, its trivial: (each new triangle share 1 slope, so using
  31.  a more cleaver methode the slope information  could be shared.
  32.  
  33.  a = p[0] ; b = p[1] ; c = p[2]
  34.  render(a,b,c)
  35.  b = p[3]
  36.  render(a,b,c)
  37.  c = p[4]
  38.  render(a,b,c)
  39.  etc...
  40.  
  41.  The recursive subdivision happen in render()
  42.  
  43. : can see, it's quite important to choose your splitting position
  44. : carefully, since splitting polygons simply in half in general doesn't
  45. : give you what you want (it's quick, though).
  46.  
  47.  spliting in half of quad... spliting in quad require only a few add and
  48.  shift... If you look at this its basicly like doing using the 1/z
  49.  methode with scan line subdivision but doing it also in the Y. You sample
  50.  as many point needed on that 3d surface so the linear interpolation of
  51.  it match the best that you need.
  52.  
  53.  In my test, I saw no diference betwen doing plain linear tmapping or
  54.  perspective correct tmapping using this methode.
  55.  
  56.  I was only testing, and I had a little problem that I never fixed :)
  57.  the junction sometime from the split created some pixel unmaped.
  58.  but should be fixable.
  59.  
  60.  Stephan
  61.