                                CubeMap v1.16
                              

() 2011-2020,  , admin@spaceengine.org

================================================================================
 
================================================================================

CubeMap -        
 .     ,  
   , 8-  16-   
.    - raw.    - raw /
       raw, tga, dds, jpg  png.

:

CubeMap.exe         -      
                        .
Glue.exe            -       raw .
RawConw.exe         -     raw .
default_cub.ccf     -     CubeMap.exe.
default_glue.gcf    -     Glue.exe.
readme_rus_1.16.txt -  .

================================================================================
    
================================================================================

      default_cub.ccf   . 
    ,    

var value #comment

var -  , value - ,  #  .
      ,    - ,
   ,  value.     :

string -      ;
int    -  ;
float  -  ;
bool   -  : true  1 - , false  0 - .

        ,  
     :

CubeMap   myconfig.ccf
Glue      myconfig.gcf

    default_cub.ccf (default_glue.gcf  Glue) .
       .ccf  
CubeMap.exe,      *.ccf   CubeMap
    .  *.ccf     
   CubeMap.  *.ccf    
,           .

           , 
   - :

CubeMap   [myconfig.ccf] [-i InputFile] [-o OutFolder] [-h]
Glue      [myconfig.gcf] [-i InputFolder] [-o OutFile] [-h]
RawConw   [options] [-i InputFile] [-o OutFile] [-a AlphaFile]

 -h      .


================================================================================
 
================================================================================

       InputFile,  
  .       
  OutFolder,       . 
 .       
neg_x, neg_y, neg_z, pos_x, pos_y, pos_z.

       raw.  raw - 
   ,    
 :

InputWidth     -   
InputHeight    -   
InputChannels  -   (Grayscale - 1, RGB - 3, RGBA - 4  ..)
Input16bit     - : 16  8   
InputByteSwap  -  16-:    (MAC)
InputUnsigned  -  16-:    
InputLatOffset -   ,  

   -  ,  - boolean.

       , 
 :

cubemap ----------- ,    OutFolder
        neg_x ----- ,    neg_x
              0_0_0.jpg ----- 1  0 
              1_0_0.jpg --\
              1_0_1.jpg --+-- 4  1 
              1_1_0.jpg --|
              1_1_1.jpg --/
              2_0_0.jpg --\
              2_0_1.jpg --|
              2_0_2.jpg --|
              2_0_3.jpg --+-- 16  2 
              2_1_0.jpg --|
              2_1_1.jpg --|
              2_1_2.jpg --|
              2_1_3.jpg --|
              .........
              level0.raw -\
              level1.raw -+--  
              level2.raw -|
              .........
        neg_y ----- ,    neg_y
        neg_z ----- ,    neg_z
        pos_x ----- ,    pos_x
        pos_y ----- ,    pos_y
        pos_z ----- ,    pos_z

    6 ,      
  ,   .   
  .   Y    ,  
, ..   -  pos_y,  - neg_y.  X  
, ..   - neg_x,  - pos_x.  Z  
, ..   - neg_z,  - pos_z.  
   :   -  ,
 - ,         
neg_x,       pos_x, 
    pos_x.    
:

         +-------+
         |       |
         | pos_y |
         |       |
         +-------+
+-------++-------++-------++-------+
|       ||       ||       ||       |
| neg_x || pos_z || pos_x || neg_z |
|       ||       ||       ||       |
+-------++-------++-------++-------+
         +-------+
         |       |
         | neg_y |
         |       |
         +-------+

       , 
    2. ..     
86400  43200,     32768  32768 (131072 / 4).

      .   
 TileWidth     ,   . 
 TileWidth = 256,    32768.   8 
: Log2(32768 / 256) + 1 = 8.    0  7,   -
      (0_0_0.jpg, ..., 7_127_127.jpg). 
     2 ,    -
 4. ..,     0  (0_0_0.jpg)  256  256,
   ; 4  1  (1_0_0.jpg ... 1_1_1.jpg),
        512  512,
..      256  256; 16  2 ,  ..
   7   128*128 = 16384 ,  
32768  32768.         -   
(v)   (u) ,   - -
.     :

level0
+-------+
|       |
| 0_0_0 |
|       |
+-------+

level1
+-------++-------+
|       ||       |
| 1_0_0 || 1_0_1 |
|       ||       |
+-------++-------+
+-------++-------+
|       ||       |
| 1_1_0 || 1_1_1 |
|       ||       |
+-------++-------+

level2
+-------++-------++-------++-------+
|       ||       ||       ||       |
| 2_0_0 || 2_0_1 || 2_0_2 || 2_0_3 |
|       ||       ||       ||       |
+-------++-------++-------++-------+
+-------++-------++-------++-------+
|       ||       ||       ||       |
| 2_1_0 || 2_1_1 || 2_1_2 || 2_1_3 |
|       ||       ||       ||       |
+-------++-------++-------++-------+
+-------++-------++-------++-------+
|       ||       ||       ||       |
| 2_2_0 || 2_2_1 || 2_2_2 || 2_2_3 |
|       ||       ||       ||       |
+-------++-------++-------++-------+
+-------++-------++-------++-------+
|       ||       ||       ||       |
| 2_3_0 || 2_3_1 || 2_3_2 || 2_3_3 |
|       ||       ||       ||       |
+-------++-------++-------++-------+


================================================================================
 CubeMap
================================================================================

       
.       . 
     (   false
 0      ):

Create_NEG_X    1
Create_POS_X    1
Create_NEG_Y    0 //  ,   
Create_POS_Y    0 //  ,   
Create_NEG_Z    1
Create_POS_Z    1

    ,  
     false  0 (. ).

CreateBaseTex  1   #   
ComputeFaces   1   #   
DownsizeFaces  1   #  LOD-  
TileFaces      1   #     raw-
OptimizeTiles  0   #  / 

    .

1)    .

        CreateBaseTex 1.

 SpaceEngine     
  ,    .   
      
    .    - 
,    (TileWidth).  BaseTexFormat   
 .

2)      .

        ComputeFaces 1.

    :   
       
    ,    
       .   
  ,        .

         
 .      
   .     ,  
 Blue Marble Next Generation   86400  43200  3 = 10.4 .
          Cubemap,
   ,    .    
 . Cubemap    ,  ,
 ,   MaxMem  ,    .
   ,    , .. Cubemap 
     .

   TempFolder     raw,  
  neg_x, neg_y, neg_z, pos_x, pos_y, pos_z,  
  raw-    . 
          
   raw,  level6.raw (..   7 ), 
 32768  32768.

  TileBorder 2,      
    ,  2 .     
, ..  ,    TileWidth (.. 
  "",    
 ).    leveli.raw   .
     32768 x 32768.

SpaceEngine    2     
      .    
     ,   - 16- png.

   (InputChannels 1)   , .. 
   . ,  16-  
gebco_bathy.21601x10801.bin      -10577
 8430,       16- 
(-32768...32767).  Normalize true   . 
,   EnterNormData   false,  
       . 
      ,   
  ,    EnterNormData true   ,
     :

Normalize       true   #    ( )
EnterNormData   true   #     
NormMinValue    -10577 #   
NormMaxValue    8430   #  
NormIgnoreValue -32768 #      

        , 
  .      .
,   16-   ,   ,  
        
 -32768,    ,      
  -10000.     NormIgnoreValue -32768. 
        
.

3)  LOD-   .

        DownsizeFaces 1.

       2 ,
           
 level6.raw, level5.raw, level4.raw, level3.raw, level2.raw, level1.raw,
level0.raw,    16384  16384  256  256.

4)     raw-.

        TileFaces 1.

       
TileWidth            :

raw - 8, 16 ,   ,  
tga - 8 , 1, 3, 4 ,  
dds - 8 , 1, 3, 4 ,  
jpg - 8 , 1, 3, ,   
tif - 8, 16 , 1, 3, 4 ,   
png - 8, 16 , 1, 3, 4 ,   

    :

OutFormat       -   (raw, tga, dds, jpg, png)
OutFormat2      -   (raw, tga, dds, jpg, png)   
                  - (. SeparateHiLo  SeparateRGBA)
TileWidth       -  ,   SE: 256
TileBorder      -  ,   SE: 2
Out16bit        - : 16  8    ( raw  png)
OutByteSwap     -  16-:    (MAC)
OutUnsigned     -  16-:    
OutInvertAlpha  -  -  RGBA-
OutJPEGquality  -    JPEG (0...100)
MaxOversampling -     ,   
                   ,   

 MaxOversampling      
.       . , 
    36000x18000,     
   , .. 6553632768.    , 
     ;  
   65536/36000 = 1,82.    
MaxOversampling, raw-        (
 CubeMap     65536).

      -  
   ,  32768x16384,  
 TileBorder.    CubeMap    
  32768 + 4 * (32768/256) = 33280,    
  SpaceEngine   (256 - 2 * 2 = 252 ). 
   65536 (   ),  
  65536/33280 = 1,969.  
MaxOversampling        , 
   .

         
 MaxOversampling 2.

     OutFormat2, SeparateRGBA 
SeparateHiLo. SpaceEngine     RGBA 
       -   RGB  
-  -.      
. ,    RGBA    ,
  RGB ,   ,   -.  ,
 4  (RGBA) -   png  tif.     
  ,         
  jpg    ,     
  png   .     
 jpg + png    ,   4- png. 
     SeparateRGBA true,  
  RGB   OutFormat,   - -  OutFormat2:

OutFormat    jpg
OutFormat2   png
SeparateRGBA true

  , CubeMap       : RGB  
 _c  -   _a   , :

3_2_16_c.jpg
3_2_16_a.png

  16-        
 :     .     
8-         16-
 (png  tif).     SeparateHiLo true, 
      OutFormat,    -  OutFormat2:

OutFormat    png
OutFormat2   jpg
SeparateHiLo true

  , CubeMap       :  
 -    _h,    -    _l, :

3_2_16_h.png
3_2_16_l.jpg

 :         ,
 png.         !
         ,  jpg,  
   .   png + png   , 
      ;     
  .

SpaceEngine      , 
      .

:       ,   .

5)  .

        OptimizeTiles 1.

 SpaceEngine     
    .  ,  , ,
    6  32768  32768 (  Blue Marble
Next Generation),    ,   ,  
      ,  , 
     -  -    
 2-3 ,         
.         
.

       
 -         
 .      ,   
 MinVar,        .

     OutFolder    del_neg_x, del_neg_y,
del_neg_z, del_pos_x, del_pos_y, del_pos_z.     
  neg_x, neg_y, neg_z, pos_x, pos_y, pos_z . 
 -    .

      .    
MinVar   Optimizer    ,   
Create_NEG_X ... Create_POS_Z. ,     
,  MinVar,    ()  
    ,     .  
       MinVar.

 MinOptLevel ,      
. SpaceEngine    2-3     
,   ,      
     .

  (1.16)     ,  
 -          
  ,        
   ,      .
         
 ,      . ,  
,   -  ,   
     ,   
CubeMap.

      (SeparateRGBA 
SeparateHiLo).


================================================================================
 Glue
================================================================================

 Glue        raw-.
   - (*-glue.gcf)  
:

InputFolder -   
OutFile     -  
TilePrefix  - string,     ( )
TileExt     - string,   
StartU      - int,  U ()  
StartV      - int,  V ()    
EndU        - int,   U ()  
EndV        - int,   V ()    
SwapUV      - boolean,   U  V 
TileWidth   -    
TileHeight  -     (  - )
TileBorderWidth  -  ,   ,  
TileBorderHeight -  ,   ,  
ChannelsPerPixel -   (Grayscale - 1, RGB - 3, RGBA - 4  ..)
BytesPerChannel  -  (> 1   raw )

    : TilePrefix_v_u.TileExt,  
TilePrefix = 3_, StartU = 2, StartV = 1, TileExt = jpg,    
 3_1_2.jpg, 3_1_3.jpg  ..  .*   ,  
      ,   :
.dds, .jpg, .jpeg, .png, .tga, .raw
..        3_1_2.jpg  3_1_2.tga, 
 .

  RAW       (ChannelsPerPixel)  
 (BytesPerChannel). ,  16- RGBA   
ChannelsPerPixel 4  BytesPerChannel 2.

Glue       (   
 ,     Cubemap).  TileBorderWidth
  ,         ;
TileBorderHeight         .


================================================================================
 RawConv
================================================================================

 RawConv -   ,   
 raw . :

RawConv [] -i input_file -o out_file [-a alpha_file]

 ,      input_file:

-t:  8-     alpha_file  8-
    RGB- input_file  -.
-s:  16-     16-   
    .
-b:     16-  ( 
     Mac  Windows).

   out_file.     -   raw.
 -s  -b   ;    
,    16-   .



================================================================================
 
================================================================================

1)          
  ,    SSD . 
     .

2)      raw-   , :
Earth-surface-32k-RGBA.raw - RGBA  32768 x 16384;
Mars-bump-16k-16bit.raw - 16- grayscale  16384 x 8192.
   .

3)    -   raw   Photoshop,
IrfanView   .      raw-.
       16-  ,
        16- 
   RawConv.

4)      ,  
  .       .ccf 
 CubeMap.exe,       CubeMap.
        CubeMap 
Glue   .

5)       
, ,    ,  
    .     ComputeFaces
 raw-,   ComputeFaces   
.

6)         ,
   " ",  (1...252) 
8-  (-32000...32000)  16-.

7)      ,   Cubemap, 
     ,  tga,  
         
,  IrfanView  ImageMagic.
