pouët.net

Go to bottom

plattenbau 3000 sse by Kuemmel [web]

__________________________________________________________

 'plattenbau 3000 sse' =>

 a 256 byte intro by Kuemmel for Revision 2020
__________________________________________________________

 'to AND or NOT to AND'...a binary raycasting rhapsody at
 1024x768 with brute force SSE code showing 16 variations
 of binary object combinations.

 Some history on this...
  
 ...I'm experimenting with SSE instructions within tiny
 intros for a long time, but didn't release much as it's
 hard to find a proper visual idea to compensate for those
 long instructions (usually 3,4,or even more bytes). Just
 when I saw HellMood's 'Essence 64b' I thought that this
 this could be done in highres with the help of pure SSE
 speed. And here we go...the geometry isn't that special
 but it's a start. More to come in the future hopefully...

 ...so special thanks to HellMood for his 64 Byte intro,
 which provided the basic idea. But of course there were 
 a lot of similar intros in the last 2 decades with that
 kind of binary raycasting algorithm.
  
 'plattenbau' is german, in english it's something like
 a word for those ugly big block appartment buildings :-) 
									  
 - runs on FreeDOS
 - needs high spec CPU with SSE level 4.1
 - can benefit on integrated CPU graphics core
 - uses a resolution of 1024x768x8Bits  
 - assembles with Flat Assembler                       
 - play with the commented parameters

 Check out the two other folders also:
 
 'extra'
 - p2a_sync...a special version with 16 instead of
   8 pixels calculation at once & early raycasting exit.
   Can be much faster, check out the timing folder for
   results.
 - p2b_sync...a speical version with 16 instead of
   8 pxiels calculation and got rid of all mul's in the
   main loop. Also uses an early exit. Can be much
   faster, check out the timing folder.
   
 'timing'
 all versions here don't use vsync and stop after
 rendering 1024 frames to benchmark the code
 - p0 ... 8 pixel calc/mul's inside loop, no early exit
 - p1 ... 8 pixel calc/mul's inside loop, early exit
   when all 8 pixels got a 'hit'
 - p2a...16 pixel calc/mul's inside loop, early exit
   when all 8 pixels got a 'hit'
 - p2b...16 pixel calc/no mul's inside loop, early exit
   when all 8 pixels got a 'hit'

 all the faster versions just take up too much bytes ;-) 

  Cheers,                                               
                                                        
      Kuemmel                                           
                                                        
 Greetings to sensenstahl,hellmood,gentlemen,t$,bartman,
 andy,hardy,gargaj,tomcatabaddon,harekiet,britelite,xq,
 dojoe,saga musix,kaomau and all the tiny intro coders                                                  
__________________________________________________________
                             .   
                            s
                     :    ,$
                     %  dS'
                                                        &ยบS;_
                     $   "s,
                     ;      *,_   ,
                               '~+
                  _________________
                      kuemmel
__________________________________________________________

        e-mail: michael.kuebel@googlemail.com 
        web...: www.mikusite.de
__________________________________________________________
Go to top