Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo de Greef <eeshlo@yahoo.com>2004-07-29 02:37:12 +0400
committerAlfredo de Greef <eeshlo@yahoo.com>2004-07-29 02:37:12 +0400
commite9b0238d0c86258abc7e020a87a798434d220d5e (patch)
tree022a91af0032b41a6efd505bd9adfead317db357 /source/blender/src/previewrender.c
parentfcd19e73df47dec183f82da376a5e1b5492c9dac (diff)
Major update, all implemented a bit in a hurry, and probably will need bugfixes at some point.
Extended the range of the depth and cdepth parameters as reqested by leope. Bumpmapping should now be a bit more similar to the Blender render. Added support for all remaining lightsources in yafray, tried to make use of as much of the existing Blender parameters as possible. Blender Lamp: added switch to enable rendering with shadowbuffer ('softlight' in yafray). All other parameters are similar to the Blender settings, for yafray both the bias parameter and the shadowbuffer size can be lower than equivalent Blender settings, since the yafray buffer is floating point. Remember that 6 shadowmaps are created in this case, so can use quite a bit of memory with large buffer settings. When 'ray shadow' is enabled for this lamp type, it is possible to set a light radius to create a spherical arealight source ('spherelight' in yafray), when this is 0, it is exported as a pointlight instead. Blender Spot: as in Blender now supports 'halo' rendering. Halo spots always use shadowbuffers, so when enabled the buttons for shadowmap settings will appear. The 'ray shadow' button can still be used to disable shadows cast onto other objects, independent of halo shadows. One thing to remember, halo's don't work with empty backgrounds, something must be behind the spotlight for it to be visible. And finally, the photonlight: probably the most confusing (as more things related to yafray), the photonlight is not a real lightsource, it is only used as a source to shoot photons from. Since indirect lighting is already supported (and looks better as well) only caustics mode is supported. So to be able to use this properly other lightsources must be used with it. For the photonlighting to be 'correct' similar lightsettings as for the 'source' light are needed. Probably the best way to do this, when you are happy with the lighting setup you have, and want to add caustics, copy the light you want to enable for caustics (shift-D) and leave everything as is, then change the mode to 'Photon'. To not waiste any photons, the photonlight behaves similar to the spotlight, you can set the width of the beam with the 'angle' parameter. Make sure that any object that needs to cast caustics is within that beam, make the beam width as small as possible to tightly fit the object. The following other parameters can be set: -photons: the number of photons to shoot. -search: the number of photons to search when rendering, the higher, the blurrier the caustics. -depth: the amount of photon bounces allowed, since the primary use is for caustics, you probably best set this to the same level as the 'ray depth' parameter. -Blur: this controls the amount of caustics blur (in addition to the search parameter), very low values will cause very sharp caustics, which when used with a low photonnumber, probably lead to only some noisy specks being rendered. -Use QMC: Use quasi monte carlo sampling, can lead to cleaner results, but also can sometimes cause patterns. Since the photonlight has no meaning to Blender, when using photonlights and switching back to the internal render, the light doesn't do anything, and no type button will be selected. The lightsource can still be selected, but unless switching to yafray, no parameters can set. Apologies to Anexus, I had no time to really do something with your code, I'll still look at it later, to see if I can improve anything in my implementation.
Diffstat (limited to 'source/blender/src/previewrender.c')
-rw-r--r--source/blender/src/previewrender.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/src/previewrender.c b/source/blender/src/previewrender.c
index 341d02c880a..ed73a520a50 100644
--- a/source/blender/src/previewrender.c
+++ b/source/blender/src/previewrender.c
@@ -442,7 +442,8 @@ static void lamp_preview_pixel(ShadeInput *shi, LampRen *la, int x, int y, char
}
}
- if(la->type==LA_SPOT) {
+ /* yafray: preview shade as spot, sufficient */
+ if ((la->type==LA_SPOT) || (la->type==LA_YF_PHOTON)) {
if(la->mode & LA_SQUARE) {