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

  1. Path: nntp.teleport.com!sschaem
  2. From: sschaem@teleport.com (Stephan Schaem)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Wolfenstein Texture mapping problem
  5. Date: 23 Feb 1996 10:06:45 GMT
  6. Organization: Teleport - Portland's Public Access (503) 220-1016
  7. Message-ID: <4gk3jl$4po@maureen.teleport.com>
  8. References: <4g5mv0$sns@news01.uni-trier.de> <4g7ui9$em3@maureen.teleport.com> <38232549@kone.fipnet.fi>
  9. NNTP-Posting-Host: linda.teleport.com
  10. X-Newsreader: TIN [version 1.2 PL2]
  11.  
  12. Jyrki Saarinen (jsaarinen@kone.fipnet.fi) wrote:
  13.  
  14. : >  Now what you could do is use self creating code :
  15. : > 
  16. : >  move.b (a0),(width*0,a1)
  17. : >  move.b (a0),(width*1,a1)
  18. : >  move.b (a0)+,(width*2,a1)
  19. : >  etc...
  20. : > 
  21. : >  create a peice of code for each scale factor that you want to speedup.
  22. : >  probably only the tall lines, and just to wich ever code is best for
  23. : >  the condition. but this will only give you a ~30% speedup vs the first
  24. : >  methode.
  25.  
  26. : An interesting method! Cache will be trashed though..
  27. : This would be the fastest solution on the 68000 though.
  28.  
  29.  You only create the code when you switch screen resolution... so it
  30.  work just fine on 060 too. you only flush the cache when the user switch
  31.  from lores to hires.
  32.  
  33. : >  using precalc table like this
  34. : > 
  35. : >  move.w  (a3)+,d0
  36. : >  movea.l d0,a0
  37. : >  move.b  (a0),(a1)
  38. : >  adda.l  a2,a1
  39. : > 
  40. : >  is bad.... My guess is stick with the good old 3 inst/pixel methode.
  41.  
  42. : Yep. A shading table is needed though.
  43.  
  44. : >  Mapping floor with a 32x32 texture pattern can be done in 13cycle
  45.  
  46. : Hmm. How was this loop again, I have forgot it..?
  47.  
  48.     move.l    d3,d2
  49.     and.w    d0,d2
  50.     movea.l    d2,a0
  51.     move.b    (a0),(a1)+
  52.     addx.l    d1,d0
  53.  
  54.  Humm, 15cycle... 
  55.  
  56.  Stephan
  57.