Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
English English English
Deutsch
Français français

Home
- Tutorial POV-Ray

- Cieli realistici
    - Cielo azzurro
    - Parzialmente coperto
    - Strati di nuvole
    - Nuvole con piani impilati
    - Gettare un'ombra
    - Nuvole con media
    - Cielo al tramonto
    - Cielo stellato
    - Skydome e skymap
   > Skybox e cubemap
    - HDRI environment

    - Download
 
                                                         

Come creare un cielo realistico con POV-Ray

contenuto | 1 | 2 | 3 | 4 | 5 | 6 | 7.0 | 7.1 | 8 | 9 | 10

Cubic Environment Mapping
Uno Skybox con cube mapping:

Questo è un altro metodo de la tecnica dell'environment mapping, anche chiamato cubic environment mapping o panorama cube mapping.
Questo è un metodo in uso da 3D games.
Uno skybox è un cubo grande con una immagine panoramicha a 360° di un cielo e fondo ("skymap") proiettata ("mapped") sulla faccia interna del cubo, con una vista di 90°x90° su ogni faccia del cubo. Con questo metodo dell'environment mapping si può evitare il problema delle distortioni estreme ai poli di una sfera con spherical mapping.
Un programma freeware per presentare e esplorare uno skybox environment è lo SkyboxViewer di Gerd Platl.

Uno skybox si può realizzare in POV-Ray con uv_mapping di un image_map su un box.
Possiamo usare uv_mapping per la proiezione di una testura del piano XY di <0,0> a <1,1> su la superficie di un cubo. L'immagine si è avvoltata intorno a un cubo come si vede nell'immagine a margine.
Per usare un foto panoramica a 360° o una immagine come skymap con uno skybox (con POV-Ray 3.6/3.7) dobbiamo correggere il fatore gamma dell'immagine o foto con la macro seguente:

// Macro for the adjustment of images
// for image_map with assumed_gamma = 1.0 ;
#macro Correct_Pigment_Gamma(Orig_Pig, New_G)
  #local Correct_Pig_fn =
      function{ pigment {Orig_Pig} }
  pigment{ average pigment_map{
   [function{ pow(Correct_Pig_fn(x,y,z).x, New_G)}
               color_map{[0 rgb 0][1 rgb<3,0,0>]}]
   [function{ pow(Correct_Pig_fn(x,y,z).y, New_G)}
               color_map{[0 rgb 0][1 rgb<0,3,0>]}]
   [function{ pow(Correct_Pig_fn(x,y,z).z, New_G)}
               color_map{[0 rgb 0][1 rgb<0,0,3>]}]
   }}
#end //
// "image_map" gamma corrected:
//    Correct_Pigment_Gamma(
//    pigment{ image_map{ jpeg "colors.jpg"}}
//    , Correct_Gamma)
//------------------------------------------------

box{ <-1, -1, -1>,< 1, 1, 1>
 texture{ uv_mapping
   Correct_Pigment_Gamma( // gamma correction
     pigment{
     image_map{ jpeg "Cubemap_2_2048x1536.jpg"
                map_type 0    // planar
                interpolate 2 // bilinear
                once //
              } //  end of image_map
    } // end of pigment
    , 2.2) //, New_Gamma
    finish { ambient 1 diffuse 0 }
 } // end of texture
scale 10000
} // end of skybox --------------------
Sky_map
Un 360° panorama cube map
per cubic mapping su un POV-Ray box.
box uv_mapping sequence
La sequenza di come una testura
del piano XY di <0,0> a <1,1>
è avvolta intorno a un cubo in POV-Ray.
Sample scene skymap
Cube map avvolgimento di un cubo.
// uv_mapping for box - POV-Ray syntax
box{ <-1,-1,1>,<1,1,1>
     texture{ uv_mapping  pigment{ ... }
              uv_mapping  normal { ... }
              uv_mapping  finish { ... }
            } // end texture
     scale 1
     rotate<0,0,0>
}//--------------------
sintassi di uv_mapping per un box in POV-Ray
Cubemap_2_inside_1.jpg
Skymap mapped su un cubo in POV-Ray
Cubemap_2_inside.gif 499kB
Panorama 360° con skybox animato.
Descrizione di questa scena per POV-Ray (senza animazione)
Cubemap_2_inside_1.txt or Cubemap_2_inside_1.pov

Download del cubic map corrispondente in 2048x1536 pixel (768 kB)
qui: Cubemap_2_2048x1536.jpg

contenuto | 1 | 2 | 3 | 4 | 5 | 6 | 7.0 | 7.1 | 8 | 9 | 10

top

© Friedrich A. Lohmüller, 2013
homepage:http://www.f-lohmueller.de