Blender Git Loki
Git Commits -> Revision 97d4dbc
Revision 97d4dbc by Ton Roosendaal (master) December 16, 2003, 14:12 (GMT) |
Another commit for raytracing, now with glass refraction & fresnel! Changelog: - enable refraction with button "Ray Transp" in Material buttons. - set "Angular Index" value for amount of refraction. - use the "Alpha" value to define transparency. - remember to set a higher "Depth" too... glass can bounce quite some more than expected. - for correct refraction, 3D models MUST have normals pointing in the right direction (consistently pointing outside). - refraction 'sees' the thickness of glass based on what you model. So make for realistic glass both sides of a surface. - I needed to do some rewriting for correct mirroring/refraction, especially to prevent specularity being blended away. Solved this with localizing shading results in the rendercore.c. Now specularity correctly is added, and reduces the 'mirror' value. - Localizing more parts of the render code is being planned. The old render heavily relies on struct Render and struct Osa to store globals. For scanline render no problem, but recursive raytracing dislikes that. - done test with gamma-corrected summation of colors during tracing, is commented out still. But this will give more balanced reflections. Now dark reflections that are reflected in a bright surface seem incorrect. - Introduced 'Fresnel' effect for Mirror and Transparency. This influences the amount of mirror/transparency based at viewing angle. Next to a new Fresnel slider, also a 'falloff' button has been added to define the way it spreads. - Fresnel also works for Ztransp rendering - created new Panel for Raytrace options I have to evaluate still where it all should be logically located. - material preview shows fake reflection and fake refraction as well. |
Commit Details:
Full Hash: 97d4dbc9c317e6d5cd171a9e76ce4aeca2bdf93c
SVN Revision: 1733
Parent Commit: 356cf79
Lines Changed: +624, -262
12 Modified Paths:
/source/blender/blenkernel/BKE_osa_types.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/material.c (+13, -7) (Diff)
/source/blender/blenloader/intern/readfile.c (+13, -1) (Diff)
/source/blender/include/butspace.h (+4, -0) (Diff)
/source/blender/makesdna/DNA_material_types.h (+5, -1) (Diff)
/source/blender/render/intern/include/rendercore.h (+11, -0) (Diff)
/source/blender/render/intern/source/ray.c (+319, -100) (Diff)
/source/blender/render/intern/source/rendercore.c (+93, -110) (Diff)
/source/blender/render/intern/source/renderHelp.c (+2, -2) (Diff)
/source/blender/renderconverter/intern/convertBlenderScene.c (+3, -3) (Diff)
/source/blender/src/buttons_shading.c (+65, -16) (Diff)
/source/blender/src/previewrender.c (+95, -22) (Diff)
/source/blender/blenkernel/intern/material.c (+13, -7) (Diff)
/source/blender/blenloader/intern/readfile.c (+13, -1) (Diff)
/source/blender/include/butspace.h (+4, -0) (Diff)
/source/blender/makesdna/DNA_material_types.h (+5, -1) (Diff)
/source/blender/render/intern/include/rendercore.h (+11, -0) (Diff)
/source/blender/render/intern/source/ray.c (+319, -100) (Diff)
/source/blender/render/intern/source/rendercore.c (+93, -110) (Diff)
/source/blender/render/intern/source/renderHelp.c (+2, -2) (Diff)
/source/blender/renderconverter/intern/convertBlenderScene.c (+3, -3) (Diff)
/source/blender/src/buttons_shading.c (+65, -16) (Diff)
/source/blender/src/previewrender.c (+95, -22) (Diff)