Advertisement
DEKTEN

SDF_019

Dec 3rd, 2020 (edited)
719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //[ THIS_FILE_IS[ SDF_019._ ]                        ]//
  2. /** ************************************************ ***
  3. ***                                                  ***
  4. ***     Live Stream Of Me Working On This Code:      ***
  5. ***                                                  ***
  6. *** ************************************************ ***
  7.  
  8.                 twitch.com/kanjicoder    
  9.  
  10. *** ************************************************ ***
  11. ***                                                  ***
  12. *** EASY_URLS:(BELOW):- - - - - - - - - - - - - - -: ***
  13. ***                                                  ***
  14. ***                                                  ***
  15. ***     LIVE_____DEMO:  tinyurl.com/SDF-019-DEMO     ***
  16. ***     SETUP___VIDEO:  tinyurl.com/SDF-019-SETUP    ***
  17. ***                                                  ***
  18. ***                                                  ***
  19. ***     SELF______URL:  tinyurl.com/SDF-019          ***
  20. ***     DOCUMENTATION:  tinyurl.com/SDF-019          ***
  21. ***     SOURCE_COMMON:  tinyurl.com/SDF-019-COMMON   ***
  22. ***     SOURCE_BUFFER:  tinyurl.com/SDF-019-BUFFER   ***
  23. ***     SOURCE__IMAGE:  tinyurl.com/SDF-019-IMAGE    ***
  24. ***                                                  ***
  25. *** DIRECT_URLS:(BELOW):- - - - - - - - - - - - - -: ***
  26. ***                                                  ***
  27. ***                                                  ***
  28. ***     LIVE_____DEMO:  shadertoy.com/view/3dGfW1    ***
  29. ***     SETUP___VIDEO:  youtu.be/***********         ***
  30. ***                                                  ***
  31. ***                                                  ***
  32. ***     SELF______URL:  pastebin.com/dxLNjewe        ***
  33. ***     DOCUMENTATION:  pastebin.com/dxLNjewe        ***
  34. ***     SOURCE_COMMON:  pastebin.com/mtfV86iR        ***
  35. ***     SOURCE_BUFFER:  pastebin.com/6t5ReRG1        ***
  36. ***     SOURCE__IMAGE:  pastebin.com/mb8yzmFr        ***
  37. ***                                                  ***
  38. *** ************************************************ **/
  39. //:AGENDA:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA://
  40. /** ************************************************ ***
  41.     What This Code Does:
  42.  
  43.         Sets tiles on a 3D voxel map using a
  44.         rudimentary 2D tilemap view.
  45.  
  46.     About: Voxel Engine Work.                    
  47.            LONG_TERM_GOAL:1: 63x63x63 voxel map.(NOT:64)
  48.            LONG_TERM_GOAL:2: Fractal 3D Auto Tilling.
  49.                                                  
  50.     AGENDA:                                      
  51.         Store 512 x 512 values worth of tiles    
  52.         by splitting the A,R,G,B components of    
  53.         of 256x256 buffer.                        
  54.                                                  
  55.         Thus each tile value is 1 byte, with      
  56.         valid values 0-255.                      
  57.                                                  
  58. *** ************************************************ **/                                              
  59. //:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AGENDA://
  60. //:KEY:KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK://
  61. /** ************************************************ ***
  62.  
  63. VARS:
  64.  
  65.     rfp : reset_flag_pixel
  66.     rfb : reset_flag__byte (Alpha channel of rfp)
  67.     fcc : frag_Centered_coord
  68.     f_c : frag_coord (Discreet_Integer_Pixel_Value)
  69.     csC : cross_section_COLOR
  70.     csL : cross_section_LOCAL (localLayerIndex 0,1,2,3 )
  71.     csF : cross_section_FIRST_FLOOR_OF_GIVEN_COLOR
  72.     csG : csG==csF. Use csF. csG == cs:GlobalFloorIndex
  73.     csI : cross_section_INDEX ( USE: csL )
  74.     csX : cross_section CELL_64_64 location, X-axis
  75.     csY : cross_section CELL_64_64 lcoation, Y-axis
  76.     coX : Crosssection_Origin:X (left pixel of csX)
  77.     coY : Crosssection_Origin:Y (top  pixel of cxY)
  78.     p_x : ACTUAL pixel:x location on texture.
  79.     p_y : ACTUAL pixel:y location on texture.
  80.     p_z : NO SUCH FUCKING THING. 2D Texture.
  81.     c4d : Color_4_Dimensional. ( vec4 type )
  82.     byt : BYTe (0-255 value, a U32 (uint32))
  83.     v_i : Voxel 1D Index specifying voxel [X,Y,Z]
  84.     v_d : No such thing. DO_NOT_USE_FOR[ v_i ]
  85.     v_x : Voxel_X( von[0].x /|/ von_000.x )
  86.     v_y : Voxel_Y( von[0].y /|/ von_000.y )
  87.     v_z : Voxel_Z( von[0].z /|/ von_000.y )
  88.     c4x : NOT_USED_AMBIGUOUS_COULD_IDENTIFY[ csX | cqX ]
  89.     c4y : NOT_USED_AMBIGUOUS_COULD_IDENTIFY[ csY | cqY ]
  90.     cqX : RGBA Cell Quadrant X ( 0 or 1 )
  91.     cqY : RGBA Cell Quadrant Y ( 0 or 1 )
  92.     t_x : Tile_X : ONLY_FOR_2D_Data! (Not Voxels)
  93.     t_y : Tile_Y : ONLY_FOR_2D_Data! (Not Voxels)
  94.     t_z : NO_SUCH_THING( Tiles Are Now Only 2D  )
  95.     v3d : Voxel_location_3D ( ivec3( v_x , v_y , v_z ) )
  96.  
  97.     v_i_512 : v_i , abstracting data as 512x512 bitmap.
  98.     p_x_512 : p_x , abstracting data as 512x512 bitmap.
  99.     p_y_512 : p_y , abstracting data as 512x512 bitmap.
  100.     p_x_256 : p_x , ACTUAL  location on 256x256 bitmap.
  101.     p_y_256 : p_y , ACTUAL  location on 256x256 bitmap.
  102.     pxy_256 : DONT_USE. USE[ xyc_256 ]
  103.     xyc_256 : ivec3( p_x , p_y , csC )
  104.  
  105.     tib: TIle__Byte (Tiles  are 2D)
  106.     vob: VOxel_Byte (Voxels are 2D)
  107.  
  108. TOKENS:
  109.  
  110.     D01: Diagram # 1
  111.  
  112. FUNCS:
  113.    
  114.     v_i_512_CTO_vob : GET_VOB ,use: DEX
  115.         v3d_CTO_vob : GET_VOB ,use: ivec3( v_x,v_y,v_z )
  116.  
  117. NOT_ACTUALLY_FUNCTIONS:
  118.  
  119.     GET_vob_USE_dex ---> USE[ v_i_512_CTO_vob ]
  120.     GET_vob_USE_v3d ---> USE[     v3d_CTO_vob ]
  121.     VOB_XYZ -----------> USE[     v3d_CTO_vob ]
  122.     VOB_DEX -----------> USE[ v_i_512_CTO_vob ]
  123.  
  124. SHORTHAND_PHRASES:
  125.  
  126.     GET_TIB : GET TIle__BYTE ( Tile  Value 0 - 255 )
  127.     GET_VOB : GET VOxel_BYTE ( Voxel Value 0 - 255 )
  128.  
  129. AVOID:
  130.  
  131.     fpc: Looks too much like "percent something..."
  132.          Use "fcc" instead.
  133.  
  134. *** ************************************************ **/
  135. //:KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK:KEY://
  136. //:AT_ANALOGIES:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA://
  137.  
  138.     @SIXTEEN_FLOORS_OF_EACH_COLOR@
  139.         Think of a skyscraper where the bottom
  140.         16 floors are RED, next 16 floors green,
  141.         next 16 floors BLUE, last 16 floors ALPHA.
  142.  
  143.         AND... @EACH_FLOOR_IS_64_BY_64@
  144.  
  145. //:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AT_ANALOGIES://
  146. //:EXTRACTED_COMMENTS:EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE://
  147. /** ************************************************ ***
  148.  
  149.     #PIXEL_255_ALPHA####################################
  150.  
  151.         Bottom Left Corner Pixel [255,255] ALPHA BITS:
  152.  
  153.         MSB: 1  :  Data Initilialized Bit
  154.              1  :  2D or 3D view of tilemap?
  155.                 :  0 : 2D view
  156.                 :  1 : 3D view
  157.        
  158.              1  : ---+
  159.              1  :    |
  160.              1  :    +-- What layer are we on?
  161.              1  :    +-- Number in range:[0 - 63]
  162.              1  :    |   (When 2D view is selected)
  163.         LSB  1  : ---+
  164.  
  165.     ####################################PIXEL_127_ALPHA#
  166.     #TILE_DATA_LAYOUT###################################
  167.  
  168.         ( 512 x 512 ) === ( 64 x 64 x 64 )
  169.  
  170.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  171.           +--- Tip Of Missle Silo.
  172.           |    High values mean we are DEEPER into
  173.           V    the data.
  174.     ====+---+===========================================
  175.         | R |  <-- csC == 0  (  0 <= v_z  <= 15 )  
  176.         +---+
  177.         | G |  <-- csC == 1  ( 16 <= v_z  <= 31 )      
  178.         +---+  
  179.         | B |  <-- csC == 2  ( 32 <= v_z  <= 47 )    
  180.         +---+
  181.         | A |  <-- csC == 3  ( 48 <= v_z  <= 63 )  
  182.         +---+
  183.                                            ( CRO_SEC )
  184.                                            ( 64 x 64 )
  185.         |<-512->|         |<-256->|             |
  186.     --- +---+---+ ------- +-------+      +-+-+-+V+
  187.      |  | R | G |         |       |      |_|_|_|_|
  188.     D01 +---+---+         |   G   | -->  |_|_|_|_|
  189.      |  | B | A | \       |       |      |_|_|_|_|
  190.     --- +-^-+---+  \_____ +-------+      +_|_|_|_+
  191.           |                           ___|       |
  192.          cqx == 0                    /           |
  193.          cqy == 1                   /            |
  194.          csC == 2                  /             |
  195.                                   /              |
  196.                                  |<- 256 pixel ->|
  197.     @16_64X64_FLOORS_ON_4X4_GRID@+---+---+---+---+ ---
  198.                     |           /| 0 | 1 | 2 | 3 |  |
  199.                     +----------> +---+---+---+---+  |
  200.                              /   | 4 | 5 | 6 | 7 |  |
  201.                             /    +---+---+---+---+  4
  202.                            /     | 8 | 9 |10 |11 | cell
  203.     +---------------------+      +---+---+---+---+  |
  204.     |                            |12 |13 |14 |15 |  |
  205.     +   +----------------------- +---+---+-^-+---+ ---
  206.     |   |                                  |
  207.     |   |                              CELL_64_64  
  208.     |   |                              csL === 14
  209.     |   |                              csY ===  3
  210.     |   |                              csX ===  2
  211.     |   |   +---+
  212.     |   |   | R | CRO_SEC(S):  0 -to- 15 (16 total)
  213.     |   |   +---+
  214.     |   |  
  215.     |   +-- +---+
  216.     |       | G | CRO_SEC(S): 16 -to- 31 (16 total)
  217.     +---+-- +---+
  218.            
  219.             +---+
  220.             | B | CRO_SEC(S):32 -to- 47 (16 total)
  221.             +---+
  222.            
  223.             +---+
  224.             | A | CRO_SEC(S): 48 -to- 64 (16 total)
  225.             +---+
  226.  
  227.     ###################################TILE_DATA_LAYOUT#
  228.     #WHY_VOB_DEX########################################
  229.  
  230.         Because we need to somehow encode [X,Y,Z]
  231.         value of voxel location as a single integer
  232.         that we can pass around in our
  233.         stack addresses ( sta_add ).
  234.  
  235.     ########################################WHY_VOB_DEX#
  236.  
  237. *** ************************************************ **/
  238. //:EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE:EXTRACTED_COMMENTS://
  239.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement