Blender V2.61 - r43446
Defines | Functions

renderdatabase.c File Reference

#include <limits.h>
#include <math.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
#include "BLI_memarena.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_texture_types.h"
#include "BKE_customdata.h"
#include "BKE_texture.h"
#include "BKE_DerivedMesh.h"
#include "RE_render_ext.h"
#include "rayobject.h"
#include "renderpipeline.h"
#include "render_types.h"
#include "renderdatabase.h"
#include "texture.h"
#include "strand.h"
#include "zbuf.h"

Go to the source code of this file.

Defines

#define RE_STICKY_ELEMS   2
#define RE_STRESS_ELEMS   1
#define RE_RAD_ELEMS   4
#define RE_STRAND_ELEMS   1
#define RE_TANGENT_ELEMS   3
#define RE_STRESS_ELEMS   1
#define RE_WINSPEED_ELEMS   4
#define RE_MTFACE_ELEMS   1
#define RE_MCOL_ELEMS   4
#define RE_UV_ELEMS   2
#define RE_SURFNOR_ELEMS   3
#define RE_RADFACE_ELEMS   1
#define RE_SIMPLIFY_ELEMS   2
#define RE_FACE_ELEMS   1
#define RE_NMAP_TANGENT_ELEMS   16

Functions

float * RE_vertren_get_sticky (ObjectRen *obr, VertRen *ver, int verify)
float * RE_vertren_get_stress (ObjectRen *obr, VertRen *ver, int verify)
float * RE_vertren_get_rad (ObjectRen *obr, VertRen *ver, int verify)
float * RE_vertren_get_strand (ObjectRen *obr, VertRen *ver, int verify)
float * RE_vertren_get_tangent (ObjectRen *obr, VertRen *ver, int verify)
float * RE_vertren_get_winspeed (ObjectInstanceRen *obi, VertRen *ver, int verify)
VertRenRE_vertren_copy (ObjectRen *obr, VertRen *ver)
VertRenRE_findOrAddVert (ObjectRen *obr, int nr)
MTFaceRE_vlakren_get_tface (ObjectRen *obr, VlakRen *vlr, int n, char **name, int verify)
MColRE_vlakren_get_mcol (ObjectRen *obr, VlakRen *vlr, int n, char **name, int verify)
float * RE_vlakren_get_surfnor (ObjectRen *obr, VlakRen *vlak, int verify)
float * RE_vlakren_get_nmap_tangent (ObjectRen *obr, VlakRen *vlak, int verify)
RadFace ** RE_vlakren_get_radface (ObjectRen *obr, VlakRen *vlak, int verify)
VlakRenRE_vlakren_copy (ObjectRen *obr, VlakRen *vlr)
void RE_vlakren_get_normal (Render *UNUSED(re), ObjectInstanceRen *obi, VlakRen *vlr, float *nor)
void RE_set_customdata_names (ObjectRen *obr, CustomData *data)
VlakRenRE_findOrAddVlak (ObjectRen *obr, int nr)
float * RE_strandren_get_surfnor (ObjectRen *obr, StrandRen *strand, int verify)
float * RE_strandren_get_uv (ObjectRen *obr, StrandRen *strand, int n, char **name, int verify)
MColRE_strandren_get_mcol (ObjectRen *obr, StrandRen *strand, int n, char **name, int verify)
float * RE_strandren_get_simplify (struct ObjectRen *obr, struct StrandRen *strand, int verify)
int * RE_strandren_get_face (ObjectRen *obr, StrandRen *strand, int verify)
float * RE_strandren_get_winspeed (ObjectInstanceRen *obi, StrandRen *strand, int verify)
StrandRenRE_findOrAddStrand (ObjectRen *obr, int nr)
StrandBufferRE_addStrandBuffer (ObjectRen *obr, int totvert)
ObjectRenRE_addRenderObject (Render *re, Object *ob, Object *par, int index, int psysindex, int lay)
void free_renderdata_vertnodes (VertTableNode *vertnodes)
void free_renderdata_vlaknodes (VlakTableNode *vlaknodes)
static void free_renderdata_strandnodes (StrandTableNode *strandnodes)
void free_renderdata_tables (Render *re)
HaloRenRE_findOrAddHalo (ObjectRen *obr, int nr)
HaloRenRE_inithalo (Render *re, ObjectRen *obr, Material *ma, float *vec, float *vec1, float *orco, float hasize, float vectsize, int seed)
HaloRenRE_inithalo_particle (Render *re, ObjectRen *obr, DerivedMesh *dm, Material *ma, float *vec, float *vec1, float *orco, float *uvco, float hasize, float vectsize, int seed, float *pa_co)
static int panotestclip (Render *re, int do_pano, float *v)
void project_renderdata (Render *re, void(*projectfunc)(const float *, float mat[][4], float *), int do_pano, float xoffs, int UNUSED(do_buckets))
ObjectInstanceRenRE_addRenderInstance (Render *re, ObjectRen *obr, Object *ob, Object *par, int index, int psysindex, float mat[][4], int lay)
void RE_makeRenderInstances (Render *re)
int clip_render_object (float boundbox[][3], float *bounds, float winmat[][4])

Detailed Description

Definition in file renderdatabase.c.


Define Documentation

#define RE_FACE_ELEMS   1

Definition at line 114 of file renderdatabase.c.

Referenced by RE_strandren_get_face().

#define RE_MCOL_ELEMS   4

Definition at line 109 of file renderdatabase.c.

Referenced by RE_strandren_get_mcol(), RE_vlakren_copy(), and RE_vlakren_get_mcol().

#define RE_MTFACE_ELEMS   1

Definition at line 108 of file renderdatabase.c.

Referenced by RE_vlakren_copy().

#define RE_NMAP_TANGENT_ELEMS   16

Definition at line 115 of file renderdatabase.c.

Referenced by RE_vlakren_copy(), and RE_vlakren_get_nmap_tangent().

#define RE_RAD_ELEMS   4

Definition at line 103 of file renderdatabase.c.

Referenced by RE_vertren_copy(), and RE_vertren_get_rad().

#define RE_RADFACE_ELEMS   1

Definition at line 112 of file renderdatabase.c.

Referenced by RE_vlakren_get_radface().

#define RE_SIMPLIFY_ELEMS   2

Definition at line 113 of file renderdatabase.c.

Referenced by RE_strandren_get_simplify().

#define RE_STICKY_ELEMS   2

Definition at line 101 of file renderdatabase.c.

Referenced by RE_vertren_copy(), and RE_vertren_get_sticky().

#define RE_STRAND_ELEMS   1

Definition at line 104 of file renderdatabase.c.

Referenced by RE_vertren_copy(), and RE_vertren_get_strand().

#define RE_STRESS_ELEMS   1

Definition at line 106 of file renderdatabase.c.

Referenced by RE_vertren_copy(), and RE_vertren_get_stress().

#define RE_STRESS_ELEMS   1

Definition at line 106 of file renderdatabase.c.

#define RE_SURFNOR_ELEMS   3

Definition at line 111 of file renderdatabase.c.

Referenced by RE_strandren_get_surfnor(), and RE_vlakren_get_surfnor().

#define RE_TANGENT_ELEMS   3

Definition at line 105 of file renderdatabase.c.

Referenced by RE_vertren_copy(), and RE_vertren_get_tangent().

#define RE_UV_ELEMS   2

Definition at line 110 of file renderdatabase.c.

Referenced by RE_strandren_get_uv().

#define RE_WINSPEED_ELEMS   4

Definition at line 107 of file renderdatabase.c.

Referenced by RE_strandren_get_winspeed(), and RE_vertren_get_winspeed().


Function Documentation

int clip_render_object ( float  boundbox[][3],
float *  bounds,
float  winmat[][4] 
)
static void free_renderdata_strandnodes ( StrandTableNode strandnodes) [static]

Definition at line 782 of file renderdatabase.c.

References MEM_freeN(), NULL, and StrandTableNode::strand.

Referenced by free_renderdata_tables().

void free_renderdata_tables ( Render re)
void free_renderdata_vertnodes ( VertTableNode vertnodes)

Definition at line 732 of file renderdatabase.c.

References MEM_freeN(), NULL, and VertTableNode::vert.

Referenced by free_renderdata_tables().

void free_renderdata_vlaknodes ( VlakTableNode vlaknodes)

Definition at line 758 of file renderdatabase.c.

References MEM_freeN(), NULL, and VlakTableNode::vlak.

Referenced by free_renderdata_tables().

static int panotestclip ( Render re,
int  do_pano,
float *  v 
) [static]

Definition at line 1203 of file renderdatabase.c.

References fabs(), testclip(), and Render::xparts.

Referenced by project_renderdata().

void project_renderdata ( Render re,
void(*)(const float *, float mat[][4], float *)  projectfunc,
int  do_pano,
float  xoffs,
int   UNUSEDdo_buckets 
)
ObjectInstanceRen* RE_addRenderInstance ( Render re,
ObjectRen obr,
Object ob,
Object par,
int  index,
int  psysindex,
float  mat[][4],
int  lay 
) [read]
ObjectRen* RE_addRenderObject ( Render re,
Object ob,
Object par,
int  index,
int  psysindex,
int  lay 
) [read]
StrandBuffer* RE_addStrandBuffer ( ObjectRen obr,
int  totvert 
) [read]
HaloRen* RE_findOrAddHalo ( ObjectRen obr,
int  nr 
) [read]
StrandRen* RE_findOrAddStrand ( ObjectRen obr,
int  nr 
) [read]
VertRen* RE_findOrAddVert ( ObjectRen obr,
int  nr 
) [read]
VlakRen* RE_findOrAddVlak ( ObjectRen obr,
int  nr 
) [read]
HaloRen* RE_inithalo ( Render re,
ObjectRen obr,
Material ma,
float *  vec,
float *  vec1,
float *  orco,
float  hasize,
float  vectsize,
int  seed 
) [read]
HaloRen* RE_inithalo_particle ( Render re,
ObjectRen obr,
DerivedMesh dm,
Material ma,
float *  vec,
float *  vec1,
float *  orco,
float *  uvco,
float  hasize,
float  vectsize,
int  seed,
float *  pa_co 
) [read]
void RE_makeRenderInstances ( Render re)
void RE_set_customdata_names ( ObjectRen obr,
CustomData data 
)
int* RE_strandren_get_face ( ObjectRen obr,
StrandRen strand,
int  verify 
)
MCol* RE_strandren_get_mcol ( ObjectRen obr,
StrandRen strand,
int  n,
char **  name,
int  verify 
) [read]
float* RE_strandren_get_simplify ( struct ObjectRen obr,
struct StrandRen strand,
int  verify 
)
float* RE_strandren_get_surfnor ( ObjectRen obr,
StrandRen strand,
int  verify 
)
float* RE_strandren_get_uv ( ObjectRen obr,
StrandRen strand,
int  n,
char **  name,
int  verify 
)
float* RE_strandren_get_winspeed ( ObjectInstanceRen obi,
StrandRen strand,
int  verify 
)
VertRen* RE_vertren_copy ( ObjectRen obr,
VertRen ver 
) [read]
float* RE_vertren_get_rad ( ObjectRen obr,
VertRen ver,
int  verify 
)
float* RE_vertren_get_sticky ( ObjectRen obr,
VertRen ver,
int  verify 
)
float* RE_vertren_get_strand ( ObjectRen obr,
VertRen ver,
int  verify 
)
float* RE_vertren_get_stress ( ObjectRen obr,
VertRen ver,
int  verify 
)
float* RE_vertren_get_tangent ( ObjectRen obr,
VertRen ver,
int  verify 
)
float* RE_vertren_get_winspeed ( ObjectInstanceRen obi,
VertRen ver,
int  verify 
)
VlakRen* RE_vlakren_copy ( ObjectRen obr,
VlakRen vlr 
) [read]
MCol* RE_vlakren_get_mcol ( ObjectRen obr,
VlakRen vlr,
int  n,
char **  name,
int  verify 
) [read]
float* RE_vlakren_get_nmap_tangent ( ObjectRen obr,
VlakRen vlak,
int  verify 
)
void RE_vlakren_get_normal ( Render UNUSEDre,
ObjectInstanceRen obi,
VlakRen vlr,
float *  nor 
)
RadFace** RE_vlakren_get_radface ( ObjectRen obr,
VlakRen vlak,
int  verify 
)
float* RE_vlakren_get_surfnor ( ObjectRen obr,
VlakRen vlak,
int  verify 
)
MTFace* RE_vlakren_get_tface ( ObjectRen obr,
VlakRen vlr,
int  n,
char **  name,
int  verify 
) [read]