Blender V2.61 - r43446
|
#include "render_types.h"
Go to the source code of this file.
Classes | |
struct | ISBSample |
struct | ISBSampleA |
struct | ISBShadfacA |
struct | ISBData |
Typedefs | |
typedef struct ISBSample | ISBSample |
typedef struct ISBSampleA | ISBSampleA |
typedef struct ISBShadfacA | ISBShadfacA |
typedef struct ISBData | ISBData |
Functions | |
void | makeshadowbuf (struct Render *re, LampRen *lar) |
void | freeshadowbuf (struct LampRen *lar) |
void | threaded_makeshadowbufs (struct Render *re) |
float | testshadowbuf (struct Render *re, struct ShadBuf *shb, const float rco[3], const float dxco[3], const float dyco[3], float inp, float mat_bias) |
float | shadow_halo (LampRen *lar, const float p1[3], const float p2[3]) |
void | ISB_create (RenderPart *pa, struct APixstr *apixbuf) |
void | ISB_free (RenderPart *pa) |
float | ISB_getshadow (ShadeInput *shi, ShadBuf *shb) |
Definition in file shadbuf.h.
typedef struct ISBSampleA ISBSampleA |
typedef struct ISBShadfacA ISBShadfacA |
void freeshadowbuf | ( | struct LampRen * | lar | ) |
Definition at line 904 of file shadbuf.c.
References BLI_freelistN(), ShadBuf::buffers, ShadSampleBuf::cbuf, ShadSampleBuf::deepbuf, ListBase::first, MEM_freeN(), ShadSampleBuf::next, NULL, LampRen::shb, ShadBuf::size, ShadSampleBuf::totbuf, ShadBuf::weight, and ShadSampleBuf::zbuf.
Referenced by RE_Database_Free().
void ISB_create | ( | RenderPart * | pa, |
struct APixstr * | apixbuf | ||
) |
Definition at line 2587 of file shadbuf.c.
References LampRen::buftype, isb_make_buffer(), isb_make_buffer_transp(), ShadBuf::isb_result, LA_SHADBUF_IRREGULAR, LA_SPOT, GroupObject::lampren, MEM_callocN(), GroupObject::next, R, LampRen::shb, RenderPart::thread, and LampRen::type.
Referenced by shadeDA_tile(), zbuffer_transp_shade(), zbufshade_sss_tile(), and zbufshade_tile().
void ISB_free | ( | RenderPart * | pa | ) |
Definition at line 2610 of file shadbuf.c.
References BLI_memarena_free(), LampRen::buftype, ShadBuf::isb_result, LA_SHADBUF_IRREGULAR, LA_SPOT, GroupObject::lampren, MEM_freeN(), ISBData::memarena, GroupObject::next, NULL, R, ISBData::shadfaca, ISBData::shadfacs, LampRen::shb, RenderPart::thread, and LampRen::type.
Referenced by shadeDA_tile(), zbuffer_transp_shade(), zbufshade_sss_tile(), and zbufshade_tile().
float ISB_getshadow | ( | ShadeInput * | shi, |
ShadBuf * | shb | ||
) |
Definition at line 2549 of file shadbuf.c.
References ShadeInput::depth, ShadeInput::facenr, ISBShadfacA::facenr, ShadBuf::isb_result, ISBData::minx, ISBData::miny, ISBShadfacA::next, ISBShadfacA::obi, ShadeInput::obi, R, ISBData::rectx, ISBShadfacA::shadfac, ISBData::shadfaca, ISBData::shadfacs, ShadeInput::thread, ShadeInput::xs, and ShadeInput::ys.
Referenced by lamp_get_shadow().
Calculates shadowbuffers for a vector of shadow-giving lamps
lar | The vector of lamps |
Definition at line 759 of file shadbuf.c.
References angle(), BLI_lock_thread(), BLI_unlock_thread(), LampRen::buffers, LampRen::bufflag, LampRen::buftype, ShadBuf::clipend, cos(), ShadBuf::d, ELEM3, LampRen::filtertype, get_render_shadow_samples(), give_jitter_tab(), ShadBuf::jit, LA_SHADBUF_AUTO_END, LA_SHADBUF_AUTO_START, LA_SHADBUF_DEEP, LA_SHADBUF_HALFWAY, LA_SHADBUF_IRREGULAR, LA_SHADBUF_REGULAR, LOCK_CUSTOM1, make_jitter_weight_tab(), makedeepshadowbuf(), makeflatshadowbuf(), mult_m4_m4m4(), ShadBuf::persmat, perspective_m4(), ShadBuf::pixsize, Render::r, saacos(), ShadBuf::samp, shadowbuf_autoclip(), LampRen::shb, sin(), ShadBuf::size, LampRen::spotsi, ShadBuf::totbuf, ShadBuf::viewmat, and ShadBuf::winmat.
Referenced by do_shadow_thread(), and threaded_makeshadowbufs().
float shadow_halo | ( | LampRen * | lar, |
const float | p1[3], | ||
const float | p2[3] | ||
) |
Determines the shadow factor for lamp <lar>, between <p1> and <p2>. (Which CS?)
Definition at line 1294 of file shadbuf.c.
References ShadBuf::buffers, co, ListBase::first, MIN2, mul_m4_v4(), ShadSampleBuf::next, readshadowbuf_halo(), LampRen::sh_zfac, ShadBuf::shadhalostep, LampRen::shb, ShadBuf::size, ShadBuf::totbuf, and ShadBuf::winmat.
Referenced by spothalo().
float testshadowbuf | ( | struct Render * | re, |
struct ShadBuf * | shb, | ||
const float | rco[3], | ||
const float | dxco[3], | ||
const float | dyco[3], | ||
float | inp, | ||
float | mat_bias | ||
) |
Determines the shadow factor for a face and lamp. There is some communication with global variables here.
shb | The shadowbuffer to find the shadow factor in. |
inp | The inproduct between viewvector and ? |
Definition at line 1118 of file shadbuf.c.
References add_v3_v3v3(), ShadBuf::bias, ShadBuf::buffers, fabs(), ListBase::first, firstreadshadbuf(), get_render_shadow_samples(), jit, ShadBuf::jit, ShadSampleBuf::next, NULL, Render::r, readshadowbuf(), ShadBuf::samp, shadowbuf_project_co(), ShadBuf::soft, ShadBuf::totbuf, and ShadBuf::weight.
Referenced by lamp_get_shadow(), render_lighting_halo(), and vol_get_shadow().
void threaded_makeshadowbufs | ( | struct Render * | re | ) |
Definition at line 840 of file shadbuf.c.
References BLI_end_threads(), BLI_init_threads(), BLI_insert_thread(), BLI_lock_thread(), BLI_unlock_thread(), do_shadow_thread(), ListBase::first, G, Render::lampren, LOCK_CUSTOM1, makeshadowbuf(), MIN2, LampRen::next, PIL_sleep_ms(), Render::r, LampRen::shb, Render::tbh, Render::test_break, test_break(), LampRen::thread_assigned, thread_break(), LampRen::thread_ready, RenderData::threads, and threads.
Referenced by RE_Database_Baking(), and RE_Database_FromScene().