![]() |
Blender V2.61 - r43446
|
Go to the source code of this file.
Classes | |
| struct | StrandPoint |
| struct | StrandSegment |
Typedefs | |
| typedef struct StrandPoint | StrandPoint |
| typedef struct StrandSegment | StrandSegment |
| typedef struct StrandShadeCache | StrandShadeCache |
Functions | |
| void | strand_eval_point (StrandSegment *sseg, StrandPoint *spoint) |
| void | render_strand_segment (struct Render *re, float winmat[][4], struct StrandPart *spart, struct ZSpan *zspan, int totzspan, StrandSegment *sseg) |
| void | strand_minmax (struct StrandRen *strand, float *min, float *max, float width) |
| struct StrandSurface * | cache_strand_surface (struct Render *re, struct ObjectRen *obr, struct DerivedMesh *dm, float mat[][4], int timeoffset) |
| void | free_strand_surface (struct Render *re) |
| struct StrandShadeCache * | strand_shade_cache_create (void) |
| void | strand_shade_cache_free (struct StrandShadeCache *cache) |
| void | strand_shade_segment (struct Render *re, struct StrandShadeCache *cache, struct StrandSegment *sseg, struct ShadeSample *ssamp, float t, float s, int addpassflag) |
| void | strand_shade_unref (struct StrandShadeCache *cache, struct StrandVert *svert) |
| struct RenderBuckets * | init_buckets (struct Render *re) |
| void | add_buckets_primitive (struct RenderBuckets *buckets, float *min, float *max, void *prim) |
| void | free_buckets (struct RenderBuckets *buckets) |
| void | project_hoco_to_bucket (struct RenderBuckets *buckets, float *hoco, float *bucketco) |
| struct RenderPrimitiveIterator * | init_primitive_iterator (struct Render *re, struct RenderBuckets *buckets, struct RenderPart *pa) |
| void * | next_primitive_iterator (struct RenderPrimitiveIterator *iter) |
| void | free_primitive_iterator (struct RenderPrimitiveIterator *iter) |
Definition in file strand.h.
| typedef struct StrandPoint StrandPoint |
| typedef struct StrandSegment StrandSegment |
| typedef struct StrandShadeCache StrandShadeCache |
| void add_buckets_primitive | ( | struct RenderBuckets * | buckets, |
| float * | min, | ||
| float * | max, | ||
| void * | prim | ||
| ) |
| struct StrandSurface* cache_strand_surface | ( | struct Render * | re, |
| struct ObjectRen * | obr, | ||
| struct 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().
| void free_buckets | ( | struct RenderBuckets * | buckets | ) |
| void free_primitive_iterator | ( | struct RenderPrimitiveIterator * | iter | ) |
| void free_strand_surface | ( | struct 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().
| struct RenderBuckets* init_buckets | ( | struct Render * | re | ) | [read] |
| struct RenderPrimitiveIterator* init_primitive_iterator | ( | struct Render * | re, |
| struct RenderBuckets * | buckets, | ||
| struct RenderPart * | pa | ||
| ) | [read] |
| void* next_primitive_iterator | ( | struct RenderPrimitiveIterator * | iter | ) |
| void project_hoco_to_bucket | ( | struct RenderBuckets * | buckets, |
| float * | hoco, | ||
| float * | bucketco | ||
| ) |
| void render_strand_segment | ( | struct Render * | re, |
| float | winmat[][4], | ||
| struct StrandPart * | spart, | ||
| struct 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().
| void strand_eval_point | ( | StrandSegment * | sseg, |
| StrandPoint * | spoint | ||
| ) |
Definition at line 88 of file strand.c.
References add_v3_v3v3(), StrandPoint::alpha, StrandSegment::buffer, StrandVert::co, StrandPoint::co, StrandPoint::co1, StrandPoint::co2, copy_v3_v3(), cross(), cross_v3_v3v3(), data, StrandPoint::dsco, StrandPoint::dtco, StrandPoint::dtstrandco, StrandBuffer::flag, ObjectInstanceRen::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().
| void strand_minmax | ( | struct 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().
| struct 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 | ( | struct 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().
| void strand_shade_segment | ( | struct Render * | re, |
| struct StrandShadeCache * | cache, | ||
| struct StrandSegment * | sseg, | ||
| struct 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 | ( | struct StrandShadeCache * | cache, |
| struct 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().