File proveniente da Wikimedia Commons. Clicca per visitare la pagina originale

File:Bump map vs isosurface2.png

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

File originale (1 680 × 1 050 pixel, dimensione del file: 1,19 MB, tipo MIME: image/png)

Logo di Commons
Logo di Commons
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?)

Dettagli

 
Questa immagine è stata creata con POV-Ray.
Descrizione
English: A raytraced image created with w:POV-Ray illustrating the limitations of w:bump mapping.

On the left is a perfect sphere which has been given a wrinkled surface using a bump map. Mathematically, POV-Ray's internal "agate" function is used to define a value for each point on the surface of the sphere. This value is used as an apparent height of the sphere's surface above or below where the surface should be and this changes the way that light is simulated to reflect from the surface of the sphere. However, its size and shape are not changed in 3D-space. Consequently, the object's outline and the shadow cast on the ground remain those of a perfect, non-bumpy sphere. An unrealistic hard shadow is also visible on the surface of the sphere, about a third of the way from the top.

On the right is a roughly spherical object on which wrinkles have been modelled in 3D-space. Mathematically, the same "agate" function is subtracted from a function defining a sphere, x2+y2+z2-Radius2, and all points in space where this sum is zero define the surface of the resulting object, referred to as an w:isosurface. This results in an object that is a modification in 3D-space of an otherwise perfect sphere. Consequently, the object's outline and the shadow cast on the ground are also visibly wrinkled, and the shadowing on the surface of the object is more realistic.

Possible wikipedia image text:

In 3D computer graphics, bumps, wrinkles and dents can be simulated by using bump mapping. A bump map changes the way an object's surface appears to reflect or refract light and can increase the realism of computer-generated images without significantly increasing render times. The technique is limited in that it does not modify the shape of the underlying object in 3D-space. On the left, a mathematical function defining a bump map simulates a crumbling surface on a perfect sphere, but the sphere's outline and shadow are unaffected. On the right, the same function is used to model a roughly spherical object by generating an isosurface. The object's outline and shadow are therefore more realistic.

POV-Ray code:

#version 3.6;

global_settings {
  assumed_gamma 1.0
  ambient_light 0   
  radiosity { 
    pretrace_start 0.08 
    pretrace_end   0.04 
    count 35       
    nearest_count 5  
    error_bound 1.8    
    recursion_limit 3   
    low_error_factor .5       
    gray_threshold 0.0     
    minimum_reuse 0.015   
    brightness 1  

    adc_bailout 0.01/2
    normal on     
    media off 
    always_sample on 
    max_sample 1.0 
   }
 }

fog{
  fog_type 1 
  distance 9
  rgb 0 
  turbulence 5
 }

// ----------------------------------------

camera {
  location  <0.0, 1.5, -4>
  direction z
  right     x*image_width/image_height
  look_at   <0.0, 0,  -1.4>
}

light_source { <0, 5, -3>  color rgb <1, 1, 1>*.6 
  area_light  <3,0,0>,<0,0,3> 10,10 orient  circular 
  }

light_source { <0, 100, 80>  color rgb <1, 1, 1> }
       
// ----------------------------------------

plane {
  y, -1
  pigment { color rgb 1 }
  finish {ambient 0}
}

#declare mytex=texture{pigment { colour rgb <1,0,0>  }
     finish{ specular 0.09 roughness .0075 diffuse .85 ambient 0 reflection 0.0}}
  
#include "functions.inc"  

#declare bump_func=function{f_agate(x/.5,y/.5,z/.5)*.1}
#declare sphere_func=function(x,y,z,Radius,xoff,yoff,zoff){pow(x-xoff,2)+pow(y-yoff,2)+pow(z-zoff,2)-pow(Radius,2)} 

isosurface {
    function {sphere_func(x,y,z,1,0,0,0)-bump_func(x,y,z)*.71}
    max_gradient 8 
    contained_by { sphere { 0, 1.5 } }
    texture {mytex}
    translate x*1.5
    }    
    
sphere {  0, 1
  texture {mytex
    normal {function {bump_func(x,y,z)*10*.25} accuracy .0002 bump_size 1}
    }
    rotate -y*32 
    translate -x*1.5
  }
Data
Fonte Opera propria
Autore GDallimore
Altre versioni
earlier version with lower quality bump map

Licenza

Public domain Io, detentore del copyright su quest'opera, la rilascio nel pubblico dominio. Questa norma si applica in tutto il mondo.
In alcuni paesi questo potrebbe non essere legalmente possibile. In tal caso:
Garantisco a chiunque il diritto di utilizzare quest'opera per qualsiasi scopo, senza alcuna condizione, a meno che tali condizioni siano richieste dalla legge.

</syntaxhighlight>

Didascalie

Aggiungi una brevissima spiegazione di ciò che questo file rappresenta

Elementi ritratti in questo file

raffigura

image/png

e647d850dee783685e8751e1e1dbe5a039657116

1 248 311 byte

1 050 pixel

1 680 pixel

Cronologia del file

Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.

Data/OraMiniaturaDimensioniUtenteCommento
attuale12:41, 22 ott 2010Miniatura della versione delle 12:41, 22 ott 20101 680 × 1 050 (1,19 MB)GDallimore{{Information |Description={{en|1=== Summary == {{Created with Persistence of Vision}} {{Information |Description={{en|1=Raytraced image illustrating the limitations of w:bump mapping created with w:POV-Ray. The bumpy surface of the sphere to th

La seguente pagina usa questo file:

Utilizzo globale del file

Anche i seguenti wiki usano questo file: