GALERIE    EN COURS    SCENES    MACROS    GUIDE    A PROPOS


 

Photons



octahedronOcthèdre avec quelques photons.


Image png 800x600 - 240Ko

L'objet de base est un octaèdre régulier. Il composé de 8 triangles équilatéraux. C'est l'un des solides de Platon inscriptible dans une sphère. Une fois défini par des triangle{ }, cet octahèdre est dupliquées puis tournées autour des axes x et z.

La carte de photons (photon_map) est sauvegardée sur disque si elle n'existe pas. Lors des prochains rendus, si cette carte existe, elle est rechargée. Le temps de calcul des photons est ainsi supprimé.

La source de lumière émet des photons pour la refraction et la reflection.

 


Source:
// --------------------------------------------------------------------------
// http://louisbel.free.fr - e-mail : louisbel @ free.fr
// 	decembre 2004 - copyright louis bellotto
//
// 	photons test
// --------------------------------------------------------------------------
#version unofficial MegaPov 1.1;




// --------------------------------------------------------------------------
// --- INCLUDES -------------------------------------------------------------
// --------------------------------------------------------------------------
#include "colors.inc"
#include "myMacros.inc"

#declare displayAxis = true;

#declare usePhotons = false;
#declare photonFileName="photonsMap";



// --------------------------------------------------------------------------
// --- SCENE ----------------------------------------------------------------
// --------------------------------------------------------------------------
global_settings {
	assumed_gamma 1.80
	max_trace_level 10
	#if(usePhotons )
		photons {
			count 20000000
			autostop 0
			jitter 0.40
			radius ,2
			#if(file_exists(photonFileName))
				#debug "\n\nLoading photons map...\n"
				load_file photonFileName
			#else
				#debug "\n\nBuiling photons map...\n"
				save_file photonFileName
			#end
			}
	#end
	}

camera {
	angle 36
	location p2r(60, 18, 20,false)
	look_at <0, 0, 0>
	}

light_source {
	<0, 0, 0>
	color White*1.50
	#if(usePhotons )
		photons {
			reflection on
			refraction on
			}
	#end
	}

background {
	color White*0
	}

#if (displayAxis)
	drawAxis (10, 0.04)
#end




// --------------------------------------------------------------------------
// --- OBJETS ---------------------------------------------------------------
// --------------------------------------------------------------------------
#declare side = 5.00;

#declare p1 = <+side*0.50, 0.00, +side*0.50>;
#declare p2 = <-side*0.50, 0.00, +side*0.50>;
#declare p3 = <-side*0.50, 0.00, -side*0.50>;
#declare p4 = <+side*0.50, 0.00, -side*0.50>;
#declare p5 = <0.00, +side*sqrt(2)*0.50, 0.00>;
#declare p6 = <0.00, -side*sqrt(2)*0.50, 0.00>;

#declare octahedron = union {
	// --- upper part
	triangle { p1, p2, p5 }
	triangle { p2, p3, p5 }
	triangle { p3, p4, p5 }
	triangle { p4, p1, p5 }
	// --- lower part
	triangle { p1, p2, p6 }
	triangle { p2, p3, p6 }
	triangle { p3, p4, p6 }
	triangle { p4, p1, p6 }
	}

union {
	object { octahedron }
	object { octahedron rotate 90*z  }
	object { octahedron rotate 90*x }

	pigment { color White*0.75+Red*0.35 transmit 0.85 }
	finish { ambient 0.0 diffuse 0.80 specular 0.80 roughness 0.005 reflection 0 }
	interior { ior 1.2 }

	#if(usePhotons )
		photons {
			target  1.0
			reflection on
			refraction on
			collect on
			}
	#end
	}

plane {
	y, -side*sqrt(2)*0.50

	pigment {
		color White*0.25
		}
	finish {
		diffuse 0.5
		ambient 0.5
		specular 0.4
		roughness 0.005
		}
	}


Haut de la page | Sommaire ]