Blender V2.61 - r43446
|
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "DNA_key_types.h"
#include "DNA_material_types.h"
#include "DNA_meshdata_types.h"
#include "BLI_math.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
#include "BLI_memarena.h"
#include "BLI_rand.h"
#include "BKE_DerivedMesh.h"
#include "BKE_key.h"
#include "render_types.h"
#include "initrender.h"
#include "rendercore.h"
#include "renderdatabase.h"
#include "renderpipeline.h"
#include "pixelblending.h"
#include "shading.h"
#include "strand.h"
#include "zbuf.h"
Go to the source code of this file.
Classes | |
struct | StrandShadeCache |
struct | StrandPart |
struct | StrandSortSegment |
Defines | |
#define | MAX_ZROW 2000 |
#define | CHECK_ADD(n) |
#define | CHECK_ASSIGN(n) |
Typedefs | |
typedef struct StrandPart | StrandPart |
typedef struct StrandSortSegment | StrandSortSegment |
Functions | |
void | hoco_to_zco (ZSpan *zspan, float *zco, float *hoco) |
void | zspan_scanconvert_strand (ZSpan *zspan, void *handle, float *v1, float *v2, float *v3, void(*func)(void *, int, int, float, float, float)) |
void | zbufsinglewire (ZSpan *zspan, int obi, int zvlnr, float *ho1, float *ho2) |
static float | strand_eval_width (Material *ma, float strandco) |
void | strand_eval_point (StrandSegment *sseg, StrandPoint *spoint) |
static void | interpolate_vec1 (float *v1, float *v2, float t, float negt, float *v) |
static void | interpolate_vec3 (float *v1, float *v2, float t, float negt, float *v) |
static void | interpolate_vec4 (float *v1, float *v2, float t, float negt, float *v) |
static void | interpolate_shade_result (ShadeResult *shr1, ShadeResult *shr2, float t, ShadeResult *shr, int addpassflag) |
static void | strand_apply_shaderesult_alpha (ShadeResult *shr, float alpha) |
static void | strand_shade_point (Render *re, ShadeSample *ssamp, StrandSegment *sseg, StrandVert *svert, StrandPoint *spoint) |
StrandShadeCache * | strand_shade_cache_create (void) |
void | strand_shade_cache_free (StrandShadeCache *cache) |
static void | strand_shade_get (Render *re, StrandShadeCache *cache, ShadeSample *ssamp, StrandSegment *sseg, StrandVert *svert) |
void | strand_shade_segment (Render *re, StrandShadeCache *cache, StrandSegment *sseg, ShadeSample *ssamp, float t, float s, int addpassflag) |
void | strand_shade_unref (StrandShadeCache *cache, StrandVert *svert) |
static void | strand_shade_refcount (StrandShadeCache *cache, StrandVert *svert) |
static int | compare_strand_segment (const void *poin1, const void *poin2) |
static void | do_strand_point_project (float winmat[][4], ZSpan *zspan, float *co, float *hoco, float *zco) |
static void | strand_project_point (float winmat[][4], float winx, float winy, StrandPoint *spoint) |
static APixstrand * | addpsmainAstrand (ListBase *lb) |
static APixstrand * | addpsAstrand (ZSpan *zspan) |
static void | do_strand_fillac (void *handle, int x, int y, float u, float v, float z) |
static int | strand_test_clip (float winmat[][4], ZSpan *UNUSED(zspan), float *bounds, float *co, float *zcomp, float widthx, float widthy) |
static void | do_scanconvert_strand (Render *UNUSED(re), StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample) |
static void | strand_render (Render *re, StrandSegment *sseg, float winmat[][4], StrandPart *spart, ZSpan *zspan, int totzspan, StrandPoint *p1, StrandPoint *p2) |
static int | strand_segment_recursive (Render *re, float winmat[][4], StrandPart *spart, ZSpan *zspan, int totzspan, StrandSegment *sseg, StrandPoint *p1, StrandPoint *p2, int depth) |
void | render_strand_segment (Render *re, float winmat[][4], StrandPart *spart, ZSpan *zspan, int totzspan, StrandSegment *sseg) |
int | zbuffer_strands_abuf (Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int UNUSED(negzmask), float winmat[][4], int winx, int winy, int UNUSED(sample), float(*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache) |
StrandSurface * | cache_strand_surface (Render *re, ObjectRen *obr, DerivedMesh *dm, float mat[][4], int timeoffset) |
void | free_strand_surface (Render *re) |
void | strand_minmax (StrandRen *strand, float *min, float *max, float width) |
Definition in file strand.c.
#define CHECK_ADD | ( | n | ) |
if(apn->p[n]==strnr && apn->obi[n]==obi && apn->seg[n]==seg) \ { if(!(apn->mask[n] & mask)) { apn->mask[n] |= mask; apn->v[n] += t; apn->u[n] += s; } break; }
Referenced by do_strand_fillac().
#define CHECK_ASSIGN | ( | n | ) |
if(apn->p[n]==0) \ {apn->obi[n]= obi; apn->p[n]= strnr; apn->z[n]= zverg; apn->mask[n]= mask; apn->v[n]= t; apn->u[n]= s; apn->seg[n]= seg; break; }
Referenced by do_strand_fillac().
#define MAX_ZROW 2000 |
Definition at line 507 of file strand.c.
Referenced by do_strand_fillac().
typedef struct StrandPart StrandPart |
typedef struct StrandSortSegment StrandSortSegment |
static APixstrand* addpsAstrand | ( | ZSpan * | zspan | ) | [static] |
Definition at line 493 of file strand.c.
References addpsmainAstrand(), ZSpan::apsmbase, ZSpan::apstrandmcounter, and ZSpan::curpstrand.
Referenced by do_strand_fillac().
static APixstrand* addpsmainAstrand | ( | ListBase * | lb | ) | [static] |
Definition at line 482 of file strand.c.
References BLI_addtail(), MEM_callocN(), MEM_mallocN(), and APixstrMain::ps.
Referenced by addpsAstrand().
StrandSurface* cache_strand_surface | ( | Render * | re, |
ObjectRen * | obr, | ||
DerivedMesh * | dm, | ||
float | mat[][4], | ||
int | timeoffset | ||
) | [read] |
Definition at line 968 of file strand.c.
References StrandSurface::ao, BLI_addtail(), MVert::co, StrandSurface::co, co, copy_v3_v3(), StrandSurface::env, StrandSurface::face, ListBase::first, DerivedMesh::getFaceArray, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getVertArray, ObjectRen::index, StrandSurface::indirect, MEM_callocN(), mul_m4_v3(), StrandSurface::next, StrandSurface::nextco, ObjectRen::ob, StrandSurface::obr, ObjectRen::par, StrandSurface::prevco, Render::strandsurface, StrandSurface::totface, StrandSurface::totvert, MFace::v1, MFace::v2, MFace::v3, and MFace::v4.
Referenced by render_new_particle_system().
static int compare_strand_segment | ( | const void * | poin1, |
const void * | poin2 | ||
) | [static] |
Definition at line 452 of file strand.c.
References StrandSortSegment::z.
Referenced by zbuffer_strands_abuf().
static void do_scanconvert_strand | ( | Render * | UNUSEDre, |
StrandPart * | spart, | ||
ZSpan * | zspan, | ||
float | t, | ||
float | dt, | ||
float * | co1, | ||
float * | co2, | ||
float * | co3, | ||
float * | co4, | ||
int | sample | ||
) | [static] |
Definition at line 613 of file strand.c.
References copy_v3_v3(), do_strand_fillac(), StrandPart::jit, StrandPart::s, StrandPart::sample, StrandPart::t, and zspan_scanconvert_strand().
Referenced by strand_render().
static void do_strand_fillac | ( | void * | handle, |
int | x, | ||
int | y, | ||
float | u, | ||
float | v, | ||
float | z | ||
) | [static] |
Definition at line 509 of file strand.c.
References addpsAstrand(), StrandPart::apixbuf, StrandPart::cache, CHECK_ADD, CHECK_ASSIGN, fabs(), StrandRen::index, PixStr::mask, PixStr::maskz, MAX_ZROW, APixstrand::next, PixStr::next, StrandSortSegment::obi, StrandSegment::obi, Render::objectinstance, StrandPart::re, StrandPart::rectdaps, StrandPart::rectmask, StrandPart::rectx, StrandPart::rectz, StrandPart::s, StrandPart::sample, StrandPart::segment, StrandSegment::strand, strand_shade_refcount(), SWAP, StrandPart::t, StrandPart::totapixbuf, StrandSegment::v, StrandRen::vert, PixStr::z, and StrandPart::zspan.
Referenced by do_scanconvert_strand().
static void do_strand_point_project | ( | float | winmat[][4], |
ZSpan * | zspan, | ||
float * | co, | ||
float * | hoco, | ||
float * | zco | ||
) | [static] |
Definition at line 465 of file strand.c.
References hoco_to_zco(), and projectvert().
Referenced by render_strand_segment(), and strand_segment_recursive().
void free_strand_surface | ( | Render * | re | ) |
Definition at line 1022 of file strand.c.
References StrandSurface::ao, BLI_freelistN(), StrandSurface::co, StrandSurface::env, StrandSurface::face, ListBase::first, StrandSurface::indirect, MEM_freeN(), StrandSurface::next, StrandSurface::nextco, StrandSurface::prevco, and Render::strandsurface.
Referenced by RE_Database_Free().
void hoco_to_zco | ( | ZSpan * | zspan, |
float * | zco, | ||
float * | hoco | ||
) |
Referenced by do_strand_point_project(), zbufclip(), zbufclip4(), zbufclipwire(), and zbufsinglewire().
static void interpolate_shade_result | ( | ShadeResult * | shr1, |
ShadeResult * | shr2, | ||
float | t, | ||
ShadeResult * | shr, | ||
int | addpassflag | ||
) | [static] |
Definition at line 208 of file strand.c.
References ShadeResult::ao, ShadeResult::col, ShadeResult::combined, ShadeResult::diff, ShadeResult::emit, ShadeResult::env, ShadeResult::indirect, interpolate_vec1(), interpolate_vec3(), interpolate_vec4(), ShadeResult::mist, ShadeResult::nor, normalize_v3(), 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 strand_shade_segment().
static void interpolate_vec1 | ( | float * | v1, |
float * | v2, | ||
float | t, | ||
float | negt, | ||
float * | v | ||
) | [static] |
Definition at line 188 of file strand.c.
Referenced by interpolate_shade_result().
static void interpolate_vec3 | ( | float * | v1, |
float * | v2, | ||
float | t, | ||
float | negt, | ||
float * | v | ||
) | [static] |
Definition at line 193 of file strand.c.
Referenced by interpolate_shade_result().
static void interpolate_vec4 | ( | float * | v1, |
float * | v2, | ||
float | t, | ||
float | negt, | ||
float * | v | ||
) | [static] |
Definition at line 200 of file strand.c.
Referenced by interpolate_shade_result().
void render_strand_segment | ( | Render * | re, |
float | winmat[][4], | ||
StrandPart * | spart, | ||
ZSpan * | zspan, | ||
int | totzspan, | ||
StrandSegment * | sseg | ||
) |
Definition at line 738 of file strand.c.
References StrandSegment::buffer, StrandPoint::clip1, StrandPoint::clip2, StrandPoint::co1, StrandPoint::co2, do_strand_point_project(), StrandPoint::hoco1, StrandPoint::hoco2, StrandSegment::point1, StrandSegment::point2, projectvert(), strand_eval_point(), strand_project_point(), strand_render(), strand_segment_recursive(), StrandPoint::t, testclip(), StrandBuffer::winmat, StrandBuffer::winx, StrandBuffer::winy, StrandPoint::zco1, and StrandPoint::zco2.
Referenced by zbuffer_shadow(), and zbuffer_strands_abuf().
static void strand_apply_shaderesult_alpha | ( | ShadeResult * | shr, |
float | alpha | ||
) | [static] |
Definition at line 250 of file strand.c.
References ShadeResult::alpha, ShadeResult::col, and ShadeResult::combined.
Referenced by strand_shade_point(), and strand_shade_segment().
void strand_eval_point | ( | StrandSegment * | sseg, |
StrandPoint * | spoint | ||
) |
Definition at line 88 of file strand.c.
References add_v3_v3v3(), StrandPoint::alpha, StrandSegment::buffer, StrandPoint::co, StrandVert::co, StrandPoint::co1, StrandPoint::co2, copy_v3_v3(), cross(), cross_v3_v3v3(), data, StrandPoint::dsco, StrandPoint::dtco, StrandPoint::dtstrandco, ObjectInstanceRen::flag, StrandBuffer::flag, KEY_BSPLINE, KEY_CARDINAL, key_curve_position_weights(), key_curve_tangent_weights(), len_v3(), StrandBuffer::ma, ObjectInstanceRen::mat, StrandBuffer::minwidth, mul_m4_v3(), mul_v3_fl(), negate_v3(), StrandPoint::nor, normalize_v3_v3(), StrandSegment::obi, StrandBuffer::obr, p, R_STRAND_B_UNITS, R_STRAND_BSPLINE, R_TRANSFORMED, RE_strandren_get_simplify(), sqrt(), StrandSegment::strand, strand_eval_width(), StrandVert::strandco, StrandPoint::strandco, sub_v3_v3v3(), StrandPoint::t, StrandPoint::tan, StrandSegment::v, simple_enum_gen::w, StrandPoint::width, StrandBuffer::winmat, StrandBuffer::winx, and StrandBuffer::winy.
Referenced by render_strand_segment(), strand_segment_recursive(), and strand_shade_get().
static float strand_eval_width | ( | Material * | ma, |
float | strandco | ||
) | [static] |
Definition at line 71 of file strand.c.
References pow(), Material::strand_ease, Material::strand_end, and Material::strand_sta.
Referenced by strand_eval_point().
void strand_minmax | ( | StrandRen * | strand, |
float * | min, | ||
float * | max, | ||
float | width | ||
) |
Definition at line 1039 of file strand.c.
References StrandVert::co, copy_v3_v3(), DO_MINMAX, and StrandRen::vert.
Referenced by finalize_render_object().
static void strand_project_point | ( | float | winmat[][4], |
float | winx, | ||
float | winy, | ||
StrandPoint * | spoint | ||
) | [static] |
Definition at line 471 of file strand.c.
References StrandPoint::co, div, StrandPoint::hoco, projectvert(), StrandPoint::x, and StrandPoint::y.
Referenced by render_strand_segment(), and strand_segment_recursive().
static void strand_render | ( | Render * | re, |
StrandSegment * | sseg, | ||
float | winmat[][4], | ||
StrandPart * | spart, | ||
ZSpan * | zspan, | ||
int | totzspan, | ||
StrandPoint * | p1, | ||
StrandPoint * | p2 | ||
) | [static] |
Definition at line 652 of file strand.c.
References StrandPoint::clip1, StrandPoint::clip2, StrandPoint::co, do_scanconvert_strand(), StrandPoint::hoco1, StrandPoint::hoco2, StrandRen::index, StrandSortSegment::obi, StrandSegment::obi, Render::objectinstance, Render::osa, projectvert(), StrandSegment::strand, StrandPoint::t, zbufclip4(), zbufsinglewire(), StrandPoint::zco1, and StrandPoint::zco2.
Referenced by render_strand_segment(), and strand_segment_recursive().
static int strand_segment_recursive | ( | Render * | re, |
float | winmat[][4], | ||
StrandPart * | spart, | ||
ZSpan * | zspan, | ||
int | totzspan, | ||
StrandSegment * | sseg, | ||
StrandPoint * | p1, | ||
StrandPoint * | p2, | ||
int | depth | ||
) | [static] |
Definition at line 689 of file strand.c.
References StrandSegment::buffer, StrandPoint::clip1, StrandPoint::clip2, StrandPoint::co1, StrandPoint::co2, do_strand_point_project(), dot(), StrandPoint::hoco1, StrandPoint::hoco2, StrandBuffer::maxdepth, p, projectvert(), StrandSegment::sqadaptcos, strand_eval_point(), strand_project_point(), strand_render(), StrandPoint::t, testclip(), StrandBuffer::winmat, StrandBuffer::winx, StrandBuffer::winy, StrandPoint::x, StrandPoint::y, StrandPoint::zco1, and StrandPoint::zco2.
Referenced by render_strand_segment().
StrandShadeCache* strand_shade_cache_create | ( | void | ) | [read] |
Definition at line 326 of file strand.c.
References BLI_ghash_new(), BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, MEM_callocN(), StrandShadeCache::memarena, StrandShadeCache::refcounthash, and StrandShadeCache::resulthash.
Referenced by zbuffer_transp_shade().
void strand_shade_cache_free | ( | StrandShadeCache * | cache | ) |
Definition at line 338 of file strand.c.
References BLI_ghash_free(), BLI_memarena_free(), MEM_freeN(), StrandShadeCache::memarena, NULL, StrandShadeCache::refcounthash, and StrandShadeCache::resulthash.
Referenced by zbuffer_transp_shade().
static void strand_shade_get | ( | Render * | re, |
StrandShadeCache * | cache, | ||
ShadeSample * | ssamp, | ||
StrandSegment * | sseg, | ||
StrandVert * | svert | ||
) | [static] |
Definition at line 346 of file strand.c.
References BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_remove(), MEM_callocN(), MEM_freeN(), NULL, p, StrandShadeCache::refcounthash, StrandShadeCache::resulthash, ShadeSample::shr, strand_eval_point(), strand_shade_point(), StrandPoint::t, and StrandSegment::v.
Referenced by strand_shade_segment().
static void strand_shade_point | ( | Render * | re, |
ShadeSample * | ssamp, | ||
StrandSegment * | sseg, | ||
StrandVert * | svert, | ||
StrandPoint * | spoint | ||
) | [static] |
Definition at line 267 of file strand.c.
References StrandPoint::alpha, BLI_thread_srandom(), StrandSegment::buffer, ShadeResult::combined, Render::flag, VlakRen::flag, StrandRen::index, ShadeInput::layflag, StrandBuffer::ma, MA_TANGENT_STR, ShadeInput::mask, Material::mode, NULL, StrandSegment::obi, ShadeInput::obi, ObjectInstanceRen::obr, ShadeInput::obr, R_LAMPHALO, R_SMOOTH, R_TANGENT, renderspothalo(), ShadeInput::samplenr, SCE_LAY_HALO, shade_input_do_shade(), shade_input_init_material(), shade_input_set_strand(), shade_input_set_strand_texco(), shade_samples_do_AO(), Render::shadowsamplenr, ShadeSample::shi, ShadeSample::shr, StrandSegment::strand, ShadeInput::strand, strand_apply_shaderesult_alpha(), ShadeInput::thread, StrandSegment::v, ShadeInput::v1, ShadeInput::v2, ShadeInput::v3, StrandRen::vert, and ShadeInput::vlr.
Referenced by strand_shade_get().
static void strand_shade_refcount | ( | StrandShadeCache * | cache, |
StrandVert * | svert | ||
) | [static] |
Definition at line 411 of file strand.c.
References BLI_ghash_insert(), BLI_ghash_lookup(), BLI_memarena_alloc(), StrandShadeCache::memarena, and StrandShadeCache::refcounthash.
Referenced by do_strand_fillac().
void strand_shade_segment | ( | Render * | re, |
StrandShadeCache * | cache, | ||
StrandSegment * | sseg, | ||
ShadeSample * | ssamp, | ||
float | t, | ||
float | s, | ||
int | addpassflag | ||
) |
Definition at line 377 of file strand.c.
References StrandSegment::buffer, fabs(), interpolate_shade_result(), pow(), ShadeSample::shr, strand_apply_shaderesult_alpha(), strand_shade_get(), StrandSegment::v, and StrandBuffer::widthfade.
Referenced by shade_strand_samples().
void strand_shade_unref | ( | StrandShadeCache * | cache, |
StrandVert * | svert | ||
) |
Definition at line 397 of file strand.c.
References BLI_ghash_lookup(), BLI_ghash_remove(), MEM_freeN(), NULL, StrandShadeCache::refcounthash, and StrandShadeCache::resulthash.
Referenced by unref_strand_samples().
static int strand_test_clip | ( | float | winmat[][4], |
ZSpan * | UNUSEDzspan, | ||
float * | bounds, | ||
float * | co, | ||
float * | zcomp, | ||
float | widthx, | ||
float | widthy | ||
) | [static] |
Definition at line 592 of file strand.c.
References projectvert(), and testclip().
Referenced by zbuffer_strands_abuf().
int zbuffer_strands_abuf | ( | Render * | re, |
RenderPart * | pa, | ||
APixstrand * | apixbuf, | ||
ListBase * | apsmbase, | ||
unsigned int | lay, | ||
int | UNUSEDnegzmask, | ||
float | winmat[][4], | ||
int | winx, | ||
int | winy, | ||
int | UNUSEDsample, | ||
float(*) | jit[2], | ||
float | clipcrop, | ||
int | shadow, | ||
StrandShadeCache * | cache | ||
) |
Definition at line 776 of file strand.c.
References StrandBuffer::adaptcos, StrandPart::apixbuf, ZSpan::apsmbase, BLI_memarena_alloc(), BLI_memarena_free(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, StrandBuffer::bound, StrandBound::boundbox, ObjectRen::boundbox, bounds(), StrandRen::buffer, StrandSegment::buffer, StrandPart::cache, clip_render_object(), co, StrandVert::co, compare_strand_segment(), copy_m4_m4(), RenderPart::disprect, ListBase::first, ObjectInstanceRen::flag, i, StrandRen::index, Render::instancetable, jit, StrandPart::jit, StrandBuffer::lay, StrandBuffer::ma, MA_ONLYCAST, MA_SHADBUF, ObjectInstanceRen::mat, StrandBuffer::maxwidth, MEM_callocN(), MEM_freeN(), MEM_mallocN(), Material::mode, mult_m4_m4m4(), StrandSortSegment::next, ObjectInstanceRen::next, NULL, StrandSegment::obi, StrandSortSegment::obi, Render::objectinstance, ObjectInstanceRen::obr, R_TRANSFORMED, StrandPart::re, RE_findOrAddStrand(), RenderPart::rectdaps, StrandPart::rectdaps, RenderPart::rectmask, StrandPart::rectmask, RenderPart::rectx, StrandPart::rectx, RenderPart::recty, StrandPart::recty, RenderPart::rectz, StrandPart::rectz, render_strand_segment(), StrandPart::segment, StrandSegment::shaded, StrandPart::shadow, StrandSegment::sqadaptcos, StrandBound::start, StrandSegment::strand, StrandSortSegment::strand, strand_test_clip(), ObjectRen::strandbuf, Render::tbh, Render::test_break, StrandPart::totapixbuf, StrandBuffer::totbound, Render::totstrand, StrandRen::totvert, StrandSegment::v, StrandRen::vert, rcti::xmax, rcti::xmin, rcti::ymax, rcti::ymin, StrandSortSegment::z, zbuf_alloc_span(), zbuf_free_span(), ZSpan::zmulx, ZSpan::zmuly, ZSpan::zofsx, ZSpan::zofsy, and StrandPart::zspan.
void zbufsinglewire | ( | ZSpan * | zspan, |
int | obi, | ||
int | zvlnr, | ||
float * | ho1, | ||
float * | ho2 | ||
) |
Referenced by strand_render().
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().