Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions | Variables

zbuf.c File Reference

#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 APixstraddpsmainA (ListBase *lb)
void freepsA (ListBase *lb)
static APixstraddpsA (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

Detailed Description

Definition in file zbuf.c.


Define Documentation

#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

Typedef Documentation

typedef struct DrawBufPixel DrawBufPixel
typedef struct ZTranspRow ZTranspRow

Function Documentation

static void add_transp_obindex ( RenderLayer rl,
int  offset,
Object ob 
) [static]
void add_transp_passes ( RenderLayer rl,
int  offset,
ShadeResult shr,
float  alpha 
)
void add_transp_speed ( RenderLayer rl,
int  offset,
float *  speed,
float  alpha,
intptr_t *  rdrect 
)
static APixstr* addpsA ( ZSpan zspan) [static]

Definition at line 290 of file zbuf.c.

References addpsmainA(), ZSpan::apsmbase, ZSpan::apsmcounter, and ZSpan::curpstr.

Referenced by zbuffillAc4(), and zbuflineAc().

static APixstr* addpsmainA ( ListBase lb) [static]

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]
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.

References next, and step().

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.

Parameters:
v1start coordinate s
v2target coordinate t
b1
b2
b3
aindex 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.

References p, and Render::r.

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.

Parameters:
v1start coordinate s
v2target coordinate t
b1
b2
clvevertex vector.

Definition at line 1662 of file zbuf.c.

Referenced by zbufclip().

void merge_transp_passes ( RenderLayer rl,
ShadeResult shr 
)
void projectvert ( const float  v1[3],
float  winmat[][4],
float  adr[4] 
)
void projectverto ( const float  v1[3],
float  winmat[][4],
float  adr[4] 
)
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 
)
static void reset_sky_speedvectors ( RenderPart pa,
RenderLayer rl,
float *  rectf 
) [static]
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]
static int shade_tra_samples ( ShadeSample ssamp,
StrandShadeCache cache,
int  x,
int  y,
ZTranspRow row,
int  addpassflag 
) [static]
static void shade_tra_samples_fill ( ShadeSample ssamp,
int  x,
int  y,
int  z,
int  obi,
int  facenr,
int  curmask 
) [static]
int testclip ( const float  v[4])

Definition at line 241 of file zbuf.c.

References fabs().

static void unref_strand_samples ( StrandShadeCache cache,
ZTranspRow row,
int  totface 
) [static]
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]
void zbuf_alloc_span ( ZSpan zspan,
int  rectx,
int  recty,
float  clipcrop 
)
static void zbuf_fill_in_rgba ( ZSpan zspan,
DrawBufPixel col,
float *  v1,
float *  v2,
float *  v3,
float *  v4 
) [static]
void zbuf_free_span ( ZSpan zspan)
static void zbuf_init_span ( ZSpan zspan) [static]
void zbuf_make_winmat ( Render re,
float  winmat[][4] 
)
static int zbuf_part_project ( ZbufProjectCache cache,
int  index,
float  winmat[][4],
float *  bounds,
float *  co,
float *  ho 
) [static]
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 
)
void zbufclip4 ( ZSpan zspan,
int  obi,
int  zvlnr,
float *  f1,
float *  f2,
float *  f3,
float *  f4,
int  c1,
int  c2,
int  c3,
int  c4 
)
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 
)
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]
static int zbuffer_abuf_render ( RenderPart pa,
APixstr APixbuf,
APixstrand APixbufstrand,
ListBase apsmbase,
RenderLayer rl,
StrandShadeCache sscache 
) [static]
void zbuffer_abuf_shadow ( Render re,
LampRen lar,
float  winmat[][4],
APixstr APixbuf,
APixstrand APixbufstrand,
ListBase apsmbase,
int  size,
int  samples,
float(*)  jit[2] 
)
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 
)
void zbuffer_sss ( RenderPart pa,
unsigned int  lay,
void *  handle,
void(*)(void *, int, int, int, int, int)  func 
)
unsigned short* zbuffer_transp_shade ( RenderPart pa,
RenderLayer rl,
float *  pass,
ListBase UNUSEDpsmlist 
)
static void zbuffill_sss ( ZSpan zspan,
int  obi,
int  zvlnr,
float *  v1,
float *  v2,
float *  v3,
float *  v4 
) [static]
static void zbuffillAc4 ( ZSpan zspan,
int  obi,
int  zvlnr,
float *  v1,
float *  v2,
float *  v3,
float *  v4 
) [static]
static void zbuffillGL4 ( ZSpan zspan,
int  obi,
int  zvlnr,
float *  v1,
float *  v2,
float *  v3,
float *  v4 
) [static]
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().

Parameters:
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().

Parameters:
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]
static void zbufline_onlyZ ( ZSpan zspan,
int   UNUSEDobi,
int   UNUSEDzvlnr,
float *  vec1,
float *  vec2 
) [static]
static void zbuflineAc ( ZSpan zspan,
int  obi,
int  zvlnr,
float *  vec1,
float *  vec2 
) [static]
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 
)
void zspan_scanconvert_strand ( ZSpan zspan,
void *  handle,
float *  v1,
float *  v2,
float *  v3,
void(*)(void *, int, int, float, float, float)  func 
)

Variable Documentation

struct Render R

Definition at line 127 of file pipeline.c.