Bug fix #1988, ray-transparency render.
Five fixes in this commit... - the normals for nurbs surfaces still were calculated pointing wrong in some occasions - recoded ray-transp rendering to accept normals pointing any direction; it just counts how many times it passes a "glass" layer, and flips normals appropriate then. This means rendering will go fine on models without manually setting the normals. You can also move a camera inside a 'glass' object. - rendering of the inside part of glass now uses correct normal too... specularity happen on a solid glass inside now. - And an inside reflected mirror ray will keep bouncing inside glass Related to rendering localview: old convention to render localview, but with the lamps in the normal layers, has been restored. Please note; render happens based on active window. You *only* get a localview or 'unlocked layer' render when that 3d window is active = mouse in window.
This commit is contained in:
@@ -967,8 +967,12 @@ void BIF_do_render(int anim)
|
||||
/* if start render in 3d win, use layer from window (e.g also local view) */
|
||||
if(curarea && curarea->spacetype==SPACE_VIEW3D) {
|
||||
int lay= G.scene->lay;
|
||||
G.scene->lay= G.vd->lay;
|
||||
if(G.vd->lay & 0xFF000000) // localview
|
||||
G.scene->lay |= G.vd->lay;
|
||||
else G.scene->lay= G.vd->lay;
|
||||
|
||||
do_render(NULL, anim, 0);
|
||||
|
||||
G.scene->lay= lay;
|
||||
}
|
||||
else do_render(NULL, anim, 0);
|
||||
|
||||
Reference in New Issue
Block a user