Difference between revisions of "HowTo:Fix unexpected invisibility"

From POV-Wiki
Jump to navigation Jump to search
(Just saw an existing link as an invitation to propose content. Sorry if bad styling feel free to improve or remove :-))
 
m (Added media item)
Line 1: Line 1:
 +
=== Objects ===
 
One thing to check is whether your object is declared AND instanciated in the scene. So in the case of pre declared objects you could often find something like this :  
 
One thing to check is whether your object is declared AND instanciated in the scene. So in the case of pre declared objects you could often find something like this :  
 
<source lang="pov">
 
<source lang="pov">
Line 29: Line 30:
 
//Then the object would only be declared but never instanciated
 
//Then the object would only be declared but never instanciated
 
</source>
 
</source>
 +
 +
=== Media ===
 +
Any emissive media IS totaly transparent by design. It adds to whatever is behind, wighout filtering anything out. So if your media just disappears over the background, what you can do is :
 +
 +
* To add some absorbing media with <code>absorbtion<0,1,1></code> ...Removes the blue and green, leaving the red.
 +
 +
* Add some scattering media and a [[Reference:Light Source|light_source]].
 +
 +
* Change the pigment to <code>rgbt<1,1,1,0.9></code> or <code>rgbf<1,1,1,0.9></code>

Revision as of 19:55, 13 May 2021

Objects

One thing to check is whether your object is declared AND instanciated in the scene. So in the case of pre declared objects you could often find something like this :

// -- The bare necessities are here : Camera & light --
camera {
  location  <0.0, 0.5, -4.0>
  direction 1.5*z
  right     x*image_width/image_height
  look_at   <0.0, 0.0,  0.0>
}

light_source {
  <0, 0, 0>            // light's position (translated below)
  color rgb <1, 1, 1>  // light's color
  translate <-30, 30, -30>
}

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

// The object to be shown is declared here:
#declare MySphere = 
sphere {
  0, 0.5 
  pigment {color rgb <0.9,0.5,0.3>}
}
  
// ----------------------------------------
// But if one ommited the line below or commented it out :
object { MySphere } //Name could typcally followed by some transforms
//Then the object would only be declared but never instanciated

Media

Any emissive media IS totaly transparent by design. It adds to whatever is behind, wighout filtering anything out. So if your media just disappears over the background, what you can do is :

  • To add some absorbing media with absorbtion<0,1,1> ...Removes the blue and green, leaving the red.
  • Change the pigment to rgbt<1,1,1,0.9> or rgbf<1,1,1,0.9>