Blender V2.61 - r43446
|
#include <math.h>
#include <float.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include "BLI_math.h"
#include "BLI_blenlib.h"
#include "BLI_jitter.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "MEM_guardedalloc.h"
#include "DNA_lamp_types.h"
#include "DNA_mesh_types.h"
#include "DNA_node_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_material_types.h"
#include "BKE_global.h"
#include "BKE_material.h"
#include "RE_render_ext.h"
#include "gammaCorrectionTables.h"
#include "pixelblending.h"
#include "render_result.h"
#include "render_types.h"
#include "renderpipeline.h"
#include "renderdatabase.h"
#include "rendercore.h"
#include "shadbuf.h"
#include "shading.h"
#include "sss.h"
#include "strand.h"
#include "zbuf.h"
Go to the source code of this file.
Classes | |
struct | ZbufProjectCache |
struct | DrawBufPixel |
struct | ZTranspRow |
Defines | |
#define | ZBUF_PROJECT_CACHE_SIZE 256 |
#define | EXTEND_PIXEL(a) if(temprectp[a]) {z+= rectz[a]; tot++;} |
#define | MAX_ZROW 2000 |
Typedefs | |
typedef struct ZbufProjectCache | ZbufProjectCache |
typedef struct DrawBufPixel | DrawBufPixel |
typedef struct ZTranspRow | ZTranspRow |
Functions | |
void | zbuf_alloc_span (ZSpan *zspan, int rectx, int recty, float clipcrop) |
void | zbuf_free_span (ZSpan *zspan) |
static void | zbuf_init_span (ZSpan *zspan) |
static void | zbuf_add_to_span (ZSpan *zspan, float *v1, float *v2) |
void | fillrect (int *rect, int x, int y, int val) |
static short | cliptestf (float p, float q, float *u1, float *u2) |
int | testclip (const float v[4]) |
static APixstr * | addpsmainA (ListBase *lb) |
void | freepsA (ListBase *lb) |
static APixstr * | addpsA (ZSpan *zspan) |
static void | zbuffillAc4 (ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4) |
static void | zbuflineAc (ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2) |
static void | zbufline (ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2) |
static void | zbufline_onlyZ (ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *vec1, float *vec2) |
static int | clipline (float v1[4], float v2[4]) |
void | hoco_to_zco (ZSpan *zspan, float zco[3], const float hoco[4]) |
void | zbufclipwire (ZSpan *zspan, int obi, int zvlnr, int ec, float *ho1, float *ho2, float *ho3, float *ho4, int c1, int c2, int c3, int c4) |
void | zbufsinglewire (ZSpan *zspan, int obi, int zvlnr, const float ho1[4], const float ho2[4]) |
static void | zbuffillGLinv4 (ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4) |
static void | zbuffillGL4 (ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4) |
static void | zbuffillGL_onlyZ (ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *v1, float *v2, float *v3, float *v4) |
void | zspan_scanconvert_strand (ZSpan *zspan, void *handle, float *v1, float *v2, float *v3, void(*func)(void *, int, int, float, float, float)) |
void | zspan_scanconvert (ZSpan *zspan, void *handle, float *v1, float *v2, float *v3, void(*func)(void *, int, int, float, float)) |
static void | clippyra (float *labda, float *v1, float *v2, int *b2, int *b3, int a, float clipcrop) |
static void | makevertpyra (float *vez, float *labda, float **trias, float *v1, float *v2, int *b1, int *clve) |
void | projectverto (const float v1[3], float winmat[][4], float adr[4]) |
void | projectvert (const float v1[3], float winmat[][4], float adr[4]) |
static void | zbuf_project_cache_clear (ZbufProjectCache *cache, int size) |
static int | zbuf_shadow_project (ZbufProjectCache *cache, int index, float winmat[][4], float *co, float *ho) |
static void | zbuffer_part_bounds (int winx, int winy, RenderPart *pa, float *bounds) |
static int | zbuf_part_project (ZbufProjectCache *cache, int index, float winmat[][4], float *bounds, float *co, float *ho) |
void | zbuf_render_project (float winmat[][4], const float co[3], float ho[4]) |
void | zbuf_make_winmat (Render *re, float winmat[][4]) |
void | zbufclip (ZSpan *zspan, int obi, int zvlnr, float *f1, float *f2, float *f3, int c1, int c2, int c3) |
void | zbufclip4 (ZSpan *zspan, int obi, int zvlnr, float *f1, float *f2, float *f3, float *f4, int c1, int c2, int c3, int c4) |
static void | zmask_rect (int *rectz, int *rectp, int xs, int ys, int neg) |
void | zbuffer_solid (RenderPart *pa, RenderLayer *rl, void(*fillfunc)(RenderPart *, ZSpan *, int, void *), void *data) |
void | zbuffer_shadow (Render *re, float winmat[][4], LampRen *lar, int *rectz, int size, float jitx, float jity) |
static void | zbuffill_sss (ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4) |
void | zbuffer_sss (RenderPart *pa, unsigned int lay, void *handle, void(*func)(void *, int, int, int, int, int)) |
static void | zbuf_fill_in_rgba (ZSpan *zspan, DrawBufPixel *col, float *v1, float *v2, float *v3, float *v4) |
void | antialias_tagbuf (int xsize, int ysize, char *rectmove) |
static void | quad_bezier_2d (float *result, float *v1, float *v2, float *ipodata) |
static void | set_quad_bezier_ipo (float fac, float *data) |
void | RE_zbuf_accumulate_vecblur (NodeBlurData *nbd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect) |
static void | copyto_abufz (RenderPart *pa, int *arectz, int *rectmask, int sample) |
static int | zbuffer_abuf (Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float(*jit)[2], float UNUSED(clipcrop), int shadow) |
static int | zbuffer_abuf_render (RenderPart *pa, APixstr *APixbuf, APixstrand *APixbufstrand, ListBase *apsmbase, RenderLayer *rl, StrandShadeCache *sscache) |
void | zbuffer_abuf_shadow (Render *re, LampRen *lar, float winmat[][4], APixstr *APixbuf, APixstrand *APixbufstrand, ListBase *apsmbase, int size, int samples, float(*jit)[2]) |
void | add_transp_speed (RenderLayer *rl, int offset, float *speed, float alpha, intptr_t *rdrect) |
static void | add_transp_obindex (RenderLayer *rl, int offset, Object *ob) |
void | merge_transp_passes (RenderLayer *rl, ShadeResult *shr) |
void | add_transp_passes (RenderLayer *rl, int offset, ShadeResult *shr, float alpha) |
static int | vergzvlak (const void *a1, const void *a2) |
static void | shade_strand_samples (StrandShadeCache *cache, ShadeSample *ssamp, int UNUSED(x), int UNUSED(y), ZTranspRow *row, int addpassflag) |
static void | unref_strand_samples (StrandShadeCache *cache, ZTranspRow *row, int totface) |
static void | shade_tra_samples_fill (ShadeSample *ssamp, int x, int y, int z, int obi, int facenr, int curmask) |
static int | shade_tra_samples (ShadeSample *ssamp, StrandShadeCache *cache, int x, int y, ZTranspRow *row, int addpassflag) |
static void | addvecmul (float *v1, float *v2, float fac) |
static int | addtosamp_shr (ShadeResult *samp_shr, ShadeSample *ssamp, int addpassflag) |
static void | reset_sky_speedvectors (RenderPart *pa, RenderLayer *rl, float *rectf) |
unsigned short * | zbuffer_transp_shade (RenderPart *pa, RenderLayer *rl, float *pass, ListBase *UNUSED(psmlist)) |
Variables | |
struct Render | R |
Definition in file zbuf.c.
#define EXTEND_PIXEL | ( | a | ) | if(temprectp[a]) {z+= rectz[a]; tot++;} |
Definition at line 1974 of file zbuf.c.
Referenced by zmask_rect().
#define MAX_ZROW 2000 |
Definition at line 3946 of file zbuf.c.
Referenced by zbuffer_transp_shade().
#define ZBUF_PROJECT_CACHE_SIZE 256 |
Definition at line 1733 of file zbuf.c.
Referenced by zbuf_project_cache_clear(), zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), and zbuffer_sss().
typedef struct DrawBufPixel DrawBufPixel |
typedef struct ZbufProjectCache ZbufProjectCache |
typedef struct ZTranspRow ZTranspRow |
static void add_transp_obindex | ( | RenderLayer * | rl, |
int | offset, | ||
Object * | ob | ||
) | [static] |
Definition at line 3501 of file zbuf.c.
References ListBase::first, Object::index, RenderPass::next, RenderLayer::passes, RenderPass::passtype, RenderPass::rect, SCE_PASS_INDEXMA, and SCE_PASS_INDEXOB.
Referenced by zbuffer_transp_shade().
void add_transp_passes | ( | RenderLayer * | rl, |
int | offset, | ||
ShadeResult * | shr, | ||
float | alpha | ||
) |
Definition at line 3618 of file zbuf.c.
References addAlphaOverFloat(), ShadeResult::ao, ShadeResult::col, ShadeResult::diff, ShadeResult::emit, ShadeResult::env, ListBase::first, ShadeResult::indirect, ShadeResult::mist, RenderPass::next, ShadeResult::nor, NULL, RenderLayer::passes, RenderPass::passtype, RenderPass::rect, ShadeResult::refl, ShadeResult::refr, SCE_PASS_AO, SCE_PASS_DIFFUSE, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT, SCE_PASS_INDIRECT, SCE_PASS_MIST, SCE_PASS_NORMAL, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_RGBA, SCE_PASS_SHADOW, SCE_PASS_SPEC, SCE_PASS_Z, ShadeResult::shad, ShadeResult::spec, and ShadeResult::z.
Referenced by zbuffer_transp_shade().
void add_transp_speed | ( | RenderLayer * | rl, |
int | offset, | ||
float * | speed, | ||
float | alpha, | ||
intptr_t * | rdrect | ||
) |
Definition at line 3467 of file zbuf.c.
References ABS, copy_v4_v4(), ListBase::first, RenderPass::next, NULL, PASS_VECTOR_MAX, RenderLayer::passes, RenderPass::passtype, RenderPass::rect, and SCE_PASS_VECTOR.
Referenced by zbuffer_transp_shade().
Definition at line 290 of file zbuf.c.
References addpsmainA(), ZSpan::apsmbase, ZSpan::apsmcounter, and ZSpan::curpstr.
Referenced by zbuffillAc4(), and zbuflineAc().
Definition at line 267 of file zbuf.c.
References BLI_addtail(), MEM_callocN(), MEM_mallocN(), and APixstrMain::ps.
Referenced by addpsA().
static int addtosamp_shr | ( | ShadeResult * | samp_shr, |
ShadeSample * | ssamp, | ||
int | addpassflag | ||
) | [static] |
Definition at line 3857 of file zbuf.c.
References addAlphaUnderFloat(), addvecmul(), ShadeResult::ao, ShadeResult::col, ShadeResult::combined, copy_v4_v4(), ShadeResult::diff, ShadeResult::emit, ShadeResult::env, ShadeResult::indirect, MIN2, ShadeResult::mist, ShadeResult::nor, R, ShadeResult::refl, ShadeResult::refr, SCE_PASS_AO, SCE_PASS_DIFFUSE, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT, SCE_PASS_INDIRECT, SCE_PASS_MIST, SCE_PASS_NORMAL, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_RGBA, SCE_PASS_SHADOW, SCE_PASS_SPEC, SCE_PASS_VECTOR, ShadeResult::shad, ShadeSample::shi, ShadeSample::shr, ShadeResult::spec, ShadeSample::tot, ShadeResult::winspeed, and ShadeResult::z.
Referenced by zbuffer_transp_shade().
static void addvecmul | ( | float * | v1, |
float * | v2, | ||
float | fac | ||
) | [static] |
Definition at line 3850 of file zbuf.c.
Referenced by addtosamp_shr().
void antialias_tagbuf | ( | int | xsize, |
int | ysize, | ||
char * | rectmove | ||
) |
Definition at line 2740 of file zbuf.c.
Referenced by do_idmask(), node_composit_exec_zcombine(), and RE_zbuf_accumulate_vecblur().
static int clipline | ( | float | v1[4], |
float | v2[4] | ||
) | [static] |
Definition at line 845 of file zbuf.c.
References cliptestf().
Referenced by zbufclipwire(), and zbufsinglewire().
static void clippyra | ( | float * | labda, |
float * | v1, | ||
float * | v2, | ||
int * | b2, | ||
int * | b3, | ||
int | a, | ||
float | clipcrop | ||
) | [static] |
(clip pyramid) Sets labda: flag, and parametrize the clipping of vertices in viewspace coordinates. labda = -1 means no clipping, labda in [0, 1] means a clipping. Note: uses globals.
v1 | start coordinate s |
v2 | target coordinate t |
b1 | |
b2 | |
b3 | |
a | index for coordinate (x, y, or z) |
Definition at line 1605 of file zbuf.c.
References cliptestf().
Referenced by zbufclip().
static short cliptestf | ( | float | p, |
float | q, | ||
float * | u1, | ||
float * | u2 | ||
) | [static] |
Definition at line 215 of file zbuf.c.
Referenced by clipline(), and clippyra().
static void copyto_abufz | ( | RenderPart * | pa, |
int * | arectz, | ||
int * | rectmask, | ||
int | sample | ||
) | [static] |
Copy results from the solid face z buffering to the transparent buffer.
Definition at line 3189 of file zbuf.c.
References fillrect(), PixStr::mask, PixStr::maskz, PixStr::next, R, RenderPart::rectdaps, RenderPart::rectmask, RenderPart::rectx, RenderPart::recty, RenderPart::rectz, and PixStr::z.
Referenced by zbuffer_abuf().
void fillrect | ( | int * | rect, |
int | x, | ||
int | y, | ||
int | val | ||
) |
Definition at line 201 of file zbuf.c.
References len(), and simple_enum_gen::val.
Referenced by copyto_abufz(), zbuffer_shadow(), zbuffer_solid(), and zbuffer_sss().
void freepsA | ( | ListBase * | lb | ) |
Definition at line 278 of file zbuf.c.
References ListBase::first, MEM_freeN(), APixstrMain::next, and APixstrMain::ps.
Referenced by makedeepshadowbuf(), and zbuffer_transp_shade().
void hoco_to_zco | ( | ZSpan * | zspan, |
float | zco[3], | ||
const float | hoco[4] | ||
) |
Definition at line 895 of file zbuf.c.
References div, ZSpan::zmulx, ZSpan::zmuly, ZSpan::zofsx, and ZSpan::zofsy.
static void makevertpyra | ( | float * | vez, |
float * | labda, | ||
float ** | trias, | ||
float * | v1, | ||
float * | v2, | ||
int * | b1, | ||
int * | clve | ||
) | [static] |
(make vertex pyramide clip) Checks labda and uses this to make decision about clipping the line segment from v1 to v2. labda is the factor by which the vector is cut. ( calculate s + l * ( t - s )). The result is appended to the vertex list of this face.
v1 | start coordinate s |
v2 | target coordinate t |
b1 | |
b2 | |
clve | vertex vector. |
Definition at line 1662 of file zbuf.c.
Referenced by zbufclip().
void merge_transp_passes | ( | RenderLayer * | rl, |
ShadeResult * | shr | ||
) |
Definition at line 3516 of file zbuf.c.
References ABS, ShadeResult::ao, ShadeResult::col, ShadeResult::combined, ShadeResult::diff, ShadeResult::emit, ShadeResult::env, ListBase::first, ShadeResult::indirect, ShadeResult::mist, RenderPass::next, ShadeResult::nor, NULL, RenderLayer::passes, RenderPass::passtype, R, ShadeResult::refl, ShadeResult::refr, SCE_PASS_AO, SCE_PASS_DIFFUSE, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT, SCE_PASS_INDIRECT, SCE_PASS_MIST, SCE_PASS_NORMAL, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_RGBA, SCE_PASS_SHADOW, SCE_PASS_SPEC, SCE_PASS_VECTOR, SCE_PASS_Z, ShadeResult::shad, ShadeResult::spec, ShadeResult::winspeed, and ShadeResult::z.
Referenced by zbuffer_transp_shade().
void projectvert | ( | const float | v1[3], |
float | winmat[][4], | ||
float | adr[4] | ||
) |
Converts a world coordinate into a homogenous coordinate in view coordinates.
Definition at line 1717 of file zbuf.c.
Referenced by calculate_speedvectors(), calculate_strandsurface_speedvectors(), copy_dbase_object_vectors(), do_strand_point_project(), isb_bsp_fillfaces(), load_fluidsimspeedvectors(), render_strand_segment(), strand_project_point(), strand_render(), strand_segment_recursive(), strand_test_clip(), zbuf_part_project(), zbuf_render_project(), and zbuf_shadow_project().
void projectverto | ( | const float | v1[3], |
float | winmat[][4], | ||
float | adr[4] | ||
) |
Definition at line 1699 of file zbuf.c.
Referenced by add_halo_flare(), database_fromscene_vectors(), find_next_pano_slice(), initstar(), RE_DataBase_ApplyWindow(), RE_Database_FromScene(), RE_inithalo(), RE_inithalo_particle(), RE_make_sticky(), render_envmap(), and zbuffer_abuf().
static void quad_bezier_2d | ( | float * | result, |
float * | v1, | ||
float * | v2, | ||
float * | ipodata | ||
) | [static] |
Definition at line 2839 of file zbuf.c.
Referenced by RE_zbuf_accumulate_vecblur().
void RE_zbuf_accumulate_vecblur | ( | NodeBlurData * | nbd, |
int | xsize, | ||
int | ysize, | ||
float * | newrect, | ||
float * | imgrect, | ||
float * | vecbufrect, | ||
float * | zbufrect | ||
) |
Definition at line 2866 of file zbuf.c.
References ABS, DrawBufPixel::alpha, antialias_tagbuf(), BLI_initjit(), DrawBufPixel::colpoin, NodeBlurData::curved, div, NodeBlurData::fac, jit, MAX2, NodeBlurData::maxspeed, MEM_freeN(), MEM_mapallocN(), NodeBlurData::minspeed, NULL, PASS_VECTOR_MAX, pow(), quad_bezier_2d(), ZSpan::rectp, ZSpan::rectz, NodeBlurData::samples, set_quad_bezier_ipo(), sqrt(), step(), SWAP, zbuf_alloc_span(), zbuf_fill_in_rgba(), zbuf_free_span(), ZSpan::zmulx, ZSpan::zmuly, ZSpan::zofsx, and ZSpan::zofsy.
Referenced by node_composit_exec_vecblur().
static void reset_sky_speedvectors | ( | RenderPart * | pa, |
RenderLayer * | rl, | ||
float * | rectf | ||
) | [static] |
Definition at line 3925 of file zbuf.c.
References NULL, PASS_VECTOR_MAX, RE_RenderLayerGetPass(), RenderPart::rectx, RenderPart::recty, and SCE_PASS_VECTOR.
Referenced by zbuffer_transp_shade().
static void set_quad_bezier_ipo | ( | float | fac, |
float * | data | ||
) | [static] |
Definition at line 2857 of file zbuf.c.
Referenced by RE_zbuf_accumulate_vecblur().
static void shade_strand_samples | ( | StrandShadeCache * | cache, |
ShadeSample * | ssamp, | ||
int | UNUSEDx, | ||
int | UNUSEDy, | ||
ZTranspRow * | row, | ||
int | addpassflag | ||
) | [static] |
Definition at line 3701 of file zbuf.c.
References StrandRen::buffer, StrandSegment::buffer, ZTranspRow::mask, ShadeInput::mask, StrandSegment::obi, ZTranspRow::obi, ObjectInstanceRen::obr, ZTranspRow::p, R, RE_findOrAddStrand(), ZTranspRow::segment, ShadeSample::shi, StrandSegment::strand, strand_shade_segment(), ShadeSample::tot, StrandRen::totvert, ZTranspRow::u, ZTranspRow::v, StrandSegment::v, and StrandRen::vert.
Referenced by shade_tra_samples().
static int shade_tra_samples | ( | ShadeSample * | ssamp, |
StrandShadeCache * | cache, | ||
int | x, | ||
int | y, | ||
ZTranspRow * | row, | ||
int | addpassflag | ||
) | [static] |
Definition at line 3811 of file zbuf.c.
References ShadeResult::combined, ZTranspRow::mask, ZTranspRow::obi, ZTranspRow::p, ShadeInput::passflag, R, R_LAMPHALO, renderspothalo(), SCE_LAY_HALO, SCE_PASS_INDEXMA, SCE_PASS_INDEXOB, SCE_PASS_Z, ZTranspRow::segment, shade_input_do_shade(), shade_input_set_shade_texco(), shade_samples_do_AO(), shade_strand_samples(), shade_tra_samples_fill(), ShadeSample::shi, ShadeSample::shr, ShadeSample::tot, ShadeResult::z, and ZTranspRow::z.
Referenced by zbuffer_transp_shade().
static void shade_tra_samples_fill | ( | ShadeSample * | ssamp, |
int | x, | ||
int | y, | ||
int | z, | ||
int | obi, | ||
int | facenr, | ||
int | curmask | ||
) | [static] |
Definition at line 3751 of file zbuf.c.
References VlakRen::flag, ShadeInput::mask, R, R_FULL_OSA, ShadeInput::sample, ShadeInput::samplenr, shade_input_copy_triangle(), shade_input_set_normals(), shade_input_set_triangle(), shade_input_set_uv(), shade_input_set_vertex_normals(), shade_input_set_viewco(), ShadeSample::shi, ShadeInput::thread, ShadeSample::tot, and ShadeInput::vlr.
Referenced by shade_tra_samples().
static void unref_strand_samples | ( | StrandShadeCache * | cache, |
ZTranspRow * | row, | ||
int | totface | ||
) | [static] |
Definition at line 3726 of file zbuf.c.
References ZTranspRow::obi, ObjectInstanceRen::obr, p, R, RE_findOrAddStrand(), ZTranspRow::segment, strand_shade_unref(), and StrandRen::vert.
Referenced by zbuffer_transp_shade().
static int vergzvlak | ( | const void * | a1, |
const void * | a2 | ||
) | [static] |
Definition at line 3692 of file zbuf.c.
References ZTranspRow::z.
Referenced by zbuffer_transp_shade().
static void zbuf_add_to_span | ( | ZSpan * | zspan, |
float * | v1, | ||
float * | v2 | ||
) | [static] |
Definition at line 119 of file zbuf.c.
References ZSpan::maxp1, ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, MIN2, ZSpan::minp1, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, ZSpan::recty, ZSpan::span1, and ZSpan::span2.
Referenced by zbuf_fill_in_rgba(), zbuffill_sss(), zbuffillAc4(), zbuffillGL4(), zbuffillGL_onlyZ(), zbuffillGLinv4(), zspan_scanconvert(), and zspan_scanconvert_strand().
void zbuf_alloc_span | ( | ZSpan * | zspan, |
int | rectx, | ||
int | recty, | ||
float | clipcrop | ||
) |
Definition at line 89 of file zbuf.c.
References Render::clipcrop, ZSpan::clipcrop, MEM_mallocN(), Render::rectx, ZSpan::rectx, Render::recty, ZSpan::recty, ZSpan::span1, and ZSpan::span2.
Referenced by isb_bsp_fillfaces(), RE_zbuf_accumulate_vecblur(), shade_tface(), zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), zbuffer_sss(), and zbuffer_strands_abuf().
static void zbuf_fill_in_rgba | ( | ZSpan * | zspan, |
DrawBufPixel * | col, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
float * | v4 | ||
) | [static] |
Definition at line 2641 of file zbuf.c.
References ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, ZSpan::rectp, ZSpan::rectx, ZSpan::rectz, ZSpan::span1, ZSpan::span2, zbuf_add_to_span(), and zbuf_init_span().
Referenced by RE_zbuf_accumulate_vecblur().
void zbuf_free_span | ( | ZSpan * | zspan | ) |
Definition at line 102 of file zbuf.c.
References MEM_freeN(), NULL, ZSpan::span1, and ZSpan::span2.
Referenced by isb_bsp_fillfaces(), RE_bake_shade_all_selected(), RE_zbuf_accumulate_vecblur(), shade_tface(), zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), zbuffer_sss(), and zbuffer_strands_abuf().
static void zbuf_init_span | ( | ZSpan * | zspan | ) | [static] |
Definition at line 112 of file zbuf.c.
References ZSpan::maxp1, ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp1, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, and ZSpan::recty.
Referenced by zbuf_fill_in_rgba(), zbuffill_sss(), zbuffillAc4(), zbuffillGL4(), zbuffillGL_onlyZ(), zbuffillGLinv4(), zspan_scanconvert(), and zspan_scanconvert_strand().
void zbuf_make_winmat | ( | Render * | re, |
float | winmat[][4] | ||
) |
Definition at line 1818 of file zbuf.c.
References copy_m4_m4(), MAT4_UNITY, RenderData::mode, mult_m4_m4m4(), Render::panoco, Render::panosi, Render::r, R_PANORAMA, and Render::winmat.
Referenced by shade_input_set_shade_texco(), zbuffer_abuf_render(), zbuffer_solid(), and zbuffer_sss().
static int zbuf_part_project | ( | ZbufProjectCache * | cache, |
int | index, | ||
float | winmat[][4], | ||
float * | bounds, | ||
float * | co, | ||
float * | ho | ||
) | [static] |
Definition at line 1781 of file zbuf.c.
References ZbufProjectCache::clip, copy_v3_v3(), copy_v4_v4(), ZbufProjectCache::index, and projectvert().
Referenced by zbuffer_abuf(), zbuffer_solid(), and zbuffer_sss().
static void zbuf_project_cache_clear | ( | ZbufProjectCache * | cache, |
int | size | ||
) | [static] |
Definition at line 1740 of file zbuf.c.
References i, size(), and ZBUF_PROJECT_CACHE_SIZE.
Referenced by zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), and zbuffer_sss().
void zbuf_render_project | ( | float | winmat[][4], |
const float | co[3], | ||
float | ho[4] | ||
) |
Definition at line 1810 of file zbuf.c.
References copy_v3_v3(), and projectvert().
Referenced by shade_input_set_shade_texco().
static int zbuf_shadow_project | ( | ZbufProjectCache * | cache, |
int | index, | ||
float | winmat[][4], | ||
float * | co, | ||
float * | ho | ||
) | [static] |
Definition at line 1752 of file zbuf.c.
References ZbufProjectCache::clip, copy_v4_v4(), ZbufProjectCache::index, projectvert(), and testclip().
Referenced by zbuffer_shadow().
void zbufclip | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | f1, | ||
float * | f2, | ||
float * | f3, | ||
int | c1, | ||
int | c2, | ||
int | c3 | ||
) |
Definition at line 1836 of file zbuf.c.
References ZSpan::clipcrop, clippyra(), hoco_to_zco(), makevertpyra(), NULL, testclip(), and ZSpan::zbuffunc.
Referenced by isb_bsp_fillfaces(), zbufclip4(), zbuffer_abuf(), zbuffer_shadow(), zbuffer_solid(), and zbuffer_sss().
void zbufclip4 | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | f1, | ||
float * | f2, | ||
float * | f3, | ||
float * | f4, | ||
int | c1, | ||
int | c2, | ||
int | c3, | ||
int | c4 | ||
) |
Definition at line 1949 of file zbuf.c.
References hoco_to_zco(), zbufclip(), and ZSpan::zbuffunc.
Referenced by isb_bsp_fillfaces(), strand_render(), zbuffer_abuf(), zbuffer_shadow(), and zbuffer_solid().
void zbufclipwire | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
int | ec, | ||
float * | ho1, | ||
float * | ho2, | ||
float * | ho3, | ||
float * | ho4, | ||
int | c1, | ||
int | c2, | ||
int | c3, | ||
int | c4 | ||
) |
Definition at line 905 of file zbuf.c.
References clipline(), copy_v4_v4(), hoco_to_zco(), ME_V1V2, ME_V2V3, ME_V3V1, ME_V3V4, ME_V4V1, and ZSpan::zbuflinefunc.
Referenced by isb_bsp_fillfaces(), zbuffer_abuf(), zbuffer_shadow(), and zbuffer_solid().
static int zbuffer_abuf | ( | Render * | re, |
RenderPart * | pa, | ||
APixstr * | APixbuf, | ||
ListBase * | apsmbase, | ||
unsigned int | lay, | ||
int | negzmask, | ||
float | winmat[][4], | ||
int | winx, | ||
int | winy, | ||
int | samples, | ||
float(*) | jit[2], | ||
float | UNUSEDclipcrop, | ||
int | shadow | ||
) | [static] |
Do accumulation z buffering.
Definition at line 3245 of file zbuf.c.
References ZSpan::apixbuf, ZSpan::apsmbase, ZSpan::arectz, ObjectRen::boundbox, bounds(), clip_render_object(), Render::clipcrop, VertRen::co, copy_m4_m4(), copy_v3_v3(), copyto_abufz(), RenderPart::disprect, VlakRen::ec, fabs(), ListBase::first, VlakRen::flag, ObjectInstanceRen::flag, i, VertRen::index, Render::instancetable, jit, ObjectInstanceRen::lay, MA_ONLYCAST, MA_SHADBUF, MA_TRANSP, MA_TYPE_WIRE, MA_ZTRANSP, ZSpan::mask, VlakRen::mat, ObjectInstanceRen::mat, Material::material_type, MEM_freeN(), MEM_mallocN(), Material::mode, mul(), mult_m4_m4m4(), ObjectInstanceRen::next, NULL, ObjectInstanceRen::obr, ZSpan::polygon_offset, projectverto(), R_HIDDEN, R_STRAND, R_TRANSFORMED, RE_QUAD_OFFS, ZSpan::rectmask, RenderPart::rectx, RenderPart::recty, Render::tbh, Render::test_break, testclip(), ObjectRen::totvert, ObjectRen::totvlak, VlakRen::v1, VlakRen::v2, VlakRen::v3, VlakRen::v4, VlakTableNode::vlak, ObjectRen::vlaknodes, rcti::xmin, rcti::ymin, zbuf_alloc_span(), zbuf_free_span(), zbuf_part_project(), zbuf_project_cache_clear(), ZBUF_PROJECT_CACHE_SIZE, zbufclip(), zbufclip4(), zbufclipwire(), zbuffer_part_bounds(), zbuffillAc4(), ZSpan::zbuffunc, zbuflineAc(), ZSpan::zbuflinefunc, ZSpan::zmulx, ZSpan::zmuly, Material::zoffs, ZSpan::zofsx, and ZSpan::zofsy.
Referenced by zbuffer_abuf_render(), and zbuffer_abuf_shadow().
static int zbuffer_abuf_render | ( | RenderPart * | pa, |
APixstr * | APixbuf, | ||
APixstrand * | APixbufstrand, | ||
ListBase * | apsmbase, | ||
RenderLayer * | rl, | ||
StrandShadeCache * | sscache | ||
) | [static] |
Definition at line 3418 of file zbuf.c.
References RenderLayer::lay, RenderLayer::layflag, NULL, R, SCE_LAY_NEG_ZMASK, SCE_LAY_STRAND, SCE_LAY_ZMASK, SCE_LAY_ZTRA, zbuf_make_winmat(), zbuffer_abuf(), and zbuffer_strands_abuf().
Referenced by zbuffer_transp_shade().
void zbuffer_abuf_shadow | ( | Render * | re, |
LampRen * | lar, | ||
float | winmat[][4], | ||
APixstr * | APixbuf, | ||
APixstrand * | APixbufstrand, | ||
ListBase * | apsmbase, | ||
int | size, | ||
int | samples, | ||
float(*) | jit[2] | ||
) |
Definition at line 3443 of file zbuf.c.
References RenderPart::disprect, jit, LA_LAYER, LampRen::lay, LampRen::mode, NULL, RenderPart::rectx, RenderPart::recty, size(), rcti::xmax, rcti::xmin, rcti::ymax, rcti::ymin, zbuffer_abuf(), and zbuffer_strands_abuf().
Referenced by makedeepshadowbuf().
static void zbuffer_part_bounds | ( | int | winx, |
int | winy, | ||
RenderPart * | pa, | ||
float * | bounds | ||
) | [static] |
Definition at line 1773 of file zbuf.c.
References RenderPart::disprect, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by zbuffer_abuf(), zbuffer_solid(), and zbuffer_sss().
void zbuffer_shadow | ( | Render * | re, |
float | winmat[][4], | ||
LampRen * | lar, | ||
int * | rectz, | ||
int | size, | ||
float | jitx, | ||
float | jity | ||
) |
Definition at line 2281 of file zbuf.c.
References StrandBuffer::adaptcos, StrandBuffer::bound, StrandBound::boundbox, ObjectRen::boundbox, StrandRen::buffer, StrandSegment::buffer, LampRen::buftype, clip_render_object(), StrandVert::co, VertRen::co, copy_m4_m4(), VlakRen::ec, Render::excludeob, fillrect(), ListBase::first, VlakRen::flag, ObjectInstanceRen::flag, i, VertRen::index, Render::instancetable, LA_LAYER, LA_LAYER_SHADOW, LA_SHADBUF_HALFWAY, StrandBuffer::lay, ObjectInstanceRen::lay, LampRen::lay, StrandBuffer::ma, MA_SHADBUF, MA_TYPE_WIRE, VlakRen::mat, ObjectInstanceRen::mat, Material::material_type, MEM_freeN(), MEM_mallocN(), Material::mode, LampRen::mode, mult_m4_m4m4(), ObjectInstanceRen::next, NULL, ObjectRen::ob, StrandSegment::obi, ObjectInstanceRen::obr, R_HIDDEN, R_STRAND, R_TRANSFORMED, RE_findOrAddStrand(), ZSpan::rectz, ZSpan::rectz1, render_strand_segment(), StrandSegment::sqadaptcos, StrandBound::start, StrandSegment::strand, ObjectRen::strandbuf, Render::tbh, Render::test_break, StrandBuffer::totbound, StrandRen::totvert, ObjectRen::totvert, ObjectRen::totvlak, StrandSegment::v, VlakRen::v1, VlakRen::v2, VlakRen::v3, VlakRen::v4, StrandRen::vert, VlakTableNode::vlak, ObjectRen::vlaknodes, zbuf_alloc_span(), zbuf_free_span(), zbuf_project_cache_clear(), ZBUF_PROJECT_CACHE_SIZE, zbuf_shadow_project(), zbufclip(), zbufclip4(), zbufclipwire(), zbuffillGL_onlyZ(), ZSpan::zbuffunc, zbufline_onlyZ(), ZSpan::zbuflinefunc, ZSpan::zmulx, ZSpan::zmuly, ZSpan::zofsx, and ZSpan::zofsy.
Referenced by makeflatshadowbuf().
void zbuffer_solid | ( | RenderPart * | pa, |
RenderLayer * | rl, | ||
void(*)(RenderPart *, ZSpan *, int, void *) | fillfunc, | ||
void * | data | ||
) |
Definition at line 2047 of file zbuf.c.
References ObjectRen::boundbox, bounds(), clip_render_object(), VertRen::co, copy_m4_m4(), RenderPart::disprect, VlakRen::ec, fillrect(), VlakRen::flag, ObjectInstanceRen::flag, i, VertRen::index, ObjectInstanceRen::lay, RenderLayer::lay, RenderLayer::lay_zmask, RenderLayer::layflag, MA_ENV, MA_ONLYCAST, MA_TRANSP, MA_TYPE_WIRE, MA_ZINV, MA_ZTRANSP, VlakRen::mat, ObjectInstanceRen::mat, Material::material_type, MEM_freeN(), MEM_mallocN(), MIN2, Material::mode, mult_m4_m4m4(), ObjectInstanceRen::next, NULL, ObjectInstanceRen::obr, R, R_HIDDEN, R_STRAND, R_TRANSFORMED, RE_QUAD_OFFS, ZSpan::rectmask, RenderPart::rectmask, RenderPart::recto, ZSpan::recto, RenderPart::rectp, ZSpan::rectp, RenderPart::rectx, RenderPart::recty, RenderPart::rectz, ZSpan::rectz, RenderPart::sample, SCE_LAY_ALL_Z, SCE_LAY_NEG_ZMASK, SCE_LAY_ZMASK, testclip(), ObjectRen::totvert, ObjectRen::totvlak, VlakRen::v1, VlakRen::v2, VlakRen::v3, VlakRen::v4, VlakTableNode::vlak, ObjectRen::vlaknodes, rcti::xmin, rcti::ymin, zbuf_alloc_span(), zbuf_free_span(), zbuf_make_winmat(), zbuf_part_project(), zbuf_project_cache_clear(), ZBUF_PROJECT_CACHE_SIZE, zbufclip(), zbufclip4(), zbufclipwire(), zbuffer_part_bounds(), zbuffillGL4(), zbuffillGLinv4(), ZSpan::zbuffunc, zbufline(), ZSpan::zbuflinefunc, zmask_rect(), ZSpan::zmulx, ZSpan::zmuly, ZSpan::zofsx, and ZSpan::zofsy.
void zbuffer_sss | ( | RenderPart * | pa, |
unsigned int | lay, | ||
void * | handle, | ||
void(*)(void *, int, int, int, int, int) | func | ||
) |
Definition at line 2515 of file zbuf.c.
References ObjectRen::boundbox, bounds(), clip_render_object(), VertRen::co, copy_m4_m4(), RenderPart::disprect, fillrect(), ObjectInstanceRen::flag, i, VertRen::index, ObjectInstanceRen::lay, MA_ENV, MA_ONLYCAST, MA_TYPE_WIRE, VlakRen::mat, ObjectInstanceRen::mat, material_in_material(), Material::material_type, Material::mode, mult_m4_m4m4(), ObjectInstanceRen::next, NULL, ObjectInstanceRen::obr, R, R_TRANSFORMED, RE_QUAD_OFFS, RenderPart::rectbacko, RenderPart::rectbackp, RenderPart::rectbackz, RenderPart::recto, RenderPart::rectp, RenderPart::rectx, RenderPart::recty, RenderPart::rectz, ZSpan::sss_func, ZSpan::sss_handle, testclip(), ObjectRen::totvert, ObjectRen::totvlak, VlakRen::v1, VlakRen::v2, VlakRen::v3, VlakRen::v4, VlakTableNode::vlak, ObjectRen::vlaknodes, rcti::xmin, rcti::ymin, zbuf_alloc_span(), zbuf_free_span(), zbuf_make_winmat(), zbuf_part_project(), zbuf_project_cache_clear(), ZBUF_PROJECT_CACHE_SIZE, zbufclip(), zbuffer_part_bounds(), zbuffill_sss(), ZSpan::zbuffunc, ZSpan::zmulx, ZSpan::zmuly, ZSpan::zofsx, and ZSpan::zofsy.
Referenced by zbufshade_sss_tile().
unsigned short* zbuffer_transp_shade | ( | RenderPart * | pa, |
RenderLayer * | rl, | ||
float * | pass, | ||
ListBase * | UNUSEDpsmlist | ||
) |
Definition at line 3950 of file zbuf.c.
References RenderLayer::acolrect, add_filt_fmask(), add_transp_obindex(), add_transp_passes(), add_transp_speed(), addAlphaOverFloat(), addAlphaUnderFloat(), addtosamp_shr(), ShadeResult::combined, RenderPart::crop, RenderPart::disprect, ListBase::first, freepsA(), RenderPart::fullresult, G, get_sample_layers(), ISB_create(), ISB_free(), RenderLayer::layflag, APixstrand::mask, APixstr::mask, ZTranspRow::mask, MAX_ZROW, MEM_callocN(), MEM_freeN(), merge_transp_passes(), APixstrand::next, APixstr::next, NULL, ObjectRen::ob, APixstrand::obi, APixstr::obi, ZTranspRow::obi, offs, ZTranspRow::p, APixstrand::p, APixstr::p, PASS_VECTOR_MAX, RenderLayer::passflag, R, R_SHADOW, RE_MAX_OSA, RenderPart::rectdaps, RenderLayer::rectf, RenderResult::rectx, RenderPart::rectx, RenderPart::recty, RenderResult::renlay, RenderResult::renrect, reset_sky_speedvectors(), RenderPart::result, ShadeSample::rlpp, SCE_LAY_SOLID, SCE_LAY_STRAND, SCE_PASS_COMBINED, SCE_PASS_INDEXMA, SCE_PASS_INDEXOB, SCE_PASS_VECTOR, APixstrand::seg, ZTranspRow::segment, shade_sample_initialize(), shade_tra_samples(), ShadeSample::shr, strand_shade_cache_create(), strand_shade_cache_free(), SWAP, APixstrand::u, ZTranspRow::u, unref_strand_samples(), APixstrand::v, ZTranspRow::v, vergzvlak(), ShadeResult::winspeed, rcti::xmin, rcti::ymax, rcti::ymin, ShadeResult::z, APixstrand::z, APixstr::z, ZTranspRow::z, and zbuffer_abuf_render().
static void zbuffill_sss | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
float * | v4 | ||
) | [static] |
Definition at line 2442 of file zbuf.c.
References ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, ZSpan::rectx, ZSpan::span1, ZSpan::span2, ZSpan::sss_func, ZSpan::sss_handle, zbuf_add_to_span(), and zbuf_init_span().
Referenced by zbuffer_sss().
static void zbuffillAc4 | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
float * | v4 | ||
) | [static] |
Definition at line 304 of file zbuf.c.
References addpsA(), ZSpan::apixbuf, ZSpan::arectz, CLAMPIS, ZSpan::mask, APixstr::mask, ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, APixstr::next, NULL, APixstr::obi, APixstr::p, ZSpan::polygon_offset, ZSpan::rectmask, Render::rectx, ZSpan::rectx, ZSpan::span1, ZSpan::span2, APixstr::z, zbuf_add_to_span(), and zbuf_init_span().
Referenced by zbuffer_abuf().
static void zbuffillGL4 | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
float * | v4 | ||
) | [static] |
Definition at line 1164 of file zbuf.c.
References CLAMPIS, ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, ZSpan::rectmask, ZSpan::recto, ZSpan::rectp, Render::rectx, ZSpan::rectx, ZSpan::rectz, ZSpan::span1, ZSpan::span2, zbuf_add_to_span(), and zbuf_init_span().
Referenced by zbuffer_solid().
static void zbuffillGL_onlyZ | ( | ZSpan * | zspan, |
int | UNUSEDobi, | ||
int | UNUSEDzvlnr, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
float * | v4 | ||
) | [static] |
Fill the z buffer. The face buffer is not operated on!
This is one of the z buffer fill functions called in zbufclip() and zbufwireclip().
v1 | [4 floats, world coordinates] first vertex |
v2 | [4 floats, world coordinates] second vertex |
v3 | [4 floats, world coordinates] third vertex |
Definition at line 1294 of file zbuf.c.
References CLAMPIS, ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, Render::rectx, ZSpan::rectx, ZSpan::rectz, ZSpan::rectz1, ZSpan::span1, ZSpan::span2, zbuf_add_to_span(), and zbuf_init_span().
Referenced by zbuffer_shadow().
static void zbuffillGLinv4 | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
float * | v4 | ||
) | [static] |
Fill the z buffer, but invert z order, and add the face index to the corresponing face buffer.
This is one of the z buffer fill functions called in zbufclip() and zbufwireclip().
v1 | [4 floats, world coordinates] first vertex |
v2 | [4 floats, world coordinates] second vertex |
v3 | [4 floats, world coordinates] third vertex |
Definition at line 1042 of file zbuf.c.
References CLAMPIS, ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, ZSpan::rectmask, ZSpan::recto, ZSpan::rectp, Render::rectx, ZSpan::rectx, ZSpan::rectz, ZSpan::span1, ZSpan::span2, zbuf_add_to_span(), and zbuf_init_span().
Referenced by zbuffer_solid().
static void zbufline | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | vec1, | ||
float * | vec2 | ||
) | [static] |
Definition at line 587 of file zbuf.c.
References copy_v3_v3(), fabs(), ZSpan::rectmask, ZSpan::recto, ZSpan::rectp, Render::rectx, ZSpan::rectx, ZSpan::recty, Render::recty, and ZSpan::rectz.
Referenced by zbuffer_solid().
static void zbufline_onlyZ | ( | ZSpan * | zspan, |
int | UNUSEDobi, | ||
int | UNUSEDzvlnr, | ||
float * | vec1, | ||
float * | vec2 | ||
) | [static] |
Definition at line 717 of file zbuf.c.
References copy_v3_v3(), fabs(), NULL, Render::rectx, ZSpan::rectx, ZSpan::recty, Render::recty, ZSpan::rectz, and ZSpan::rectz1.
Referenced by zbuffer_shadow().
static void zbuflineAc | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | vec1, | ||
float * | vec2 | ||
) | [static] |
Definition at line 430 of file zbuf.c.
References addpsA(), ZSpan::apixbuf, ZSpan::arectz, copy_v3_v3(), fabs(), APixstr::mask, ZSpan::mask, APixstr::next, APixstr::obi, APixstr::p, ZSpan::polygon_offset, ZSpan::rectmask, Render::rectx, ZSpan::rectx, ZSpan::recty, Render::recty, and APixstr::z.
Referenced by zbuffer_abuf().
void zbufsinglewire | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
const float | ho1[4], | ||
const float | ho2[4] | ||
) |
Definition at line 1000 of file zbuf.c.
References clipline(), copy_v4_v4(), hoco_to_zco(), testclip(), and ZSpan::zbuflinefunc.
static void zmask_rect | ( | int * | rectz, |
int * | rectp, | ||
int | xs, | ||
int | ys, | ||
int | neg | ||
) | [static] |
Definition at line 1977 of file zbuf.c.
References EXTEND_PIXEL, len(), MEM_dupallocN(), and MEM_freeN().
Referenced by zbuffer_solid().
void zspan_scanconvert | ( | ZSpan * | zspan, |
void * | handle, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
void(*)(void *, int, int, float, float) | func | ||
) |
Definition at line 1503 of file zbuf.c.
References ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, Render::rectx, ZSpan::rectx, ZSpan::span1, ZSpan::span2, zbuf_add_to_span(), and zbuf_init_span().
Referenced by shade_tface().
void zspan_scanconvert_strand | ( | ZSpan * | zspan, |
void * | handle, | ||
float * | v1, | ||
float * | v2, | ||
float * | v3, | ||
void(*)(void *, int, int, float, float, float) | func | ||
) |
Definition at line 1403 of file zbuf.c.
References ZSpan::maxp2, ZSpan::maxy1, ZSpan::maxy2, ZSpan::minp2, ZSpan::miny1, ZSpan::miny2, NULL, Render::rectx, ZSpan::rectx, ZSpan::span1, ZSpan::span2, zbuf_add_to_span(), and zbuf_init_span().
Referenced by do_scanconvert_strand().
Definition at line 127 of file pipeline.c.