diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-12-04 16:57:28 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2007-12-04 16:57:28 +0300 |
commit | 32a8b4f8e686938ec2f0f95e6acc2eb3c25ebfdf (patch) | |
tree | ff232d89da0b2f0db1da4becb1980af513ea2274 /source/blender/makesdna | |
parent | ebfedd20b290e356f35eb1fcbcb5ddfb8e8bf0a9 (diff) |
Particles
=========
- Fix crash in particle transform with the particle system not editable.
- Particle child distribution and caching is now multithreaded.
- Child particles now have a separate Render Amount next to the existing
Amount. The render amount particles are now only distributed and cached
at render time, which should make editing with child particles faster.
- Two new options for diffuse strand shading:
- Surface Diffuse: computes the strand normal taking the normal at
the surface into account.
- Blending Distance: the distance in Blender units over which to
blend in the normal at the surface.
- Special strand rendering for more memory efficient and faster hair and
grass. This is a work in progress, and has a number of known issues,
don't report bugs to me for this feature yet.
More info:
http://www.blender.org/development/current-projects/changes-since-244/particles/
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_material_types.h | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_particle_types.h | 13 |
2 files changed, 11 insertions, 8 deletions
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h index c7301d4f974..489ba71d639 100644 --- a/source/blender/makesdna/DNA_material_types.h +++ b/source/blender/makesdna/DNA_material_types.h @@ -84,11 +84,11 @@ typedef struct Material { int mode, mode_l; /* mode_l is the or-ed result of all layer modes */ short flarec, starc, linec, ringc; float hasize, flaresize, subsize, flareboost; - float strand_sta, strand_end, strand_ease; + float strand_sta, strand_end, strand_ease, strand_surfnor; char strand_uvname[32]; float sbias; /* shadow bias */ - float shad_alpha, padf; /* in use for irregular shadowbuffer */ + float shad_alpha; /* in use for irregular shadowbuffer */ /* for buttons and render*/ char rgbsel, texact, pr_type, use_nodes; @@ -121,6 +121,7 @@ typedef struct Material { float fhdist, xyfrict; short dynamode, pad2; + /* subsurface scattering */ float sss_radius[3], sss_col[3]; float sss_error, sss_scale, sss_ior; float sss_colfac, sss_texfac; @@ -191,6 +192,7 @@ typedef struct Material { #define MA_GROUP_NOLAY 0x10000000 #define MA_FACETEXTURE_ALPHA 0x20000000 #define MA_STR_B_UNITS 0x40000000 +#define MA_STR_SURFDIFF 0x80000000 #define MA_MODE_MASK 0x4fffffff /* all valid mode bits */ diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h index f41a0d63142..fc2fa7cab20 100644 --- a/source/blender/makesdna/DNA_particle_types.h +++ b/source/blender/makesdna/DNA_particle_types.h @@ -134,9 +134,9 @@ typedef struct ParticleSettings { /* global physical properties */ float acc[3], dragfac, brownfac, dampfac; /* length */ - float length, abslength, randlength; + float length, abslength, randlength, pad; /* children */ - int child_nbr; + int child_nbr, ren_child_nbr; float parents, childsize, childrandsize; float childrad, childflat, childspread; /* clumping */ @@ -204,7 +204,7 @@ typedef struct ParticleSystem{ /* no special why's, just seem reasonable */ /* changing these (atleast upwards) should not cause any major problems */ #define MAX_PARTS 100000 /* real particles/system */ -#define MAX_PART_CHILDREN 1000 /* child particles/real particles */ +#define MAX_PART_CHILDREN 10000 /* child particles/real particles */ #define MAX_BOIDNEIGHBOURS 10 /* neigbours considered/boid */ /* part->type */ @@ -299,9 +299,10 @@ typedef struct ParticleSystem{ #define PART_DRAW_NUM 512 #define PART_DRAW_RAND_GR 1024 #define PART_DRAW_REN_ADAPT 2048 -#define PART_DRAW_VEL_LENGTH (1<<12) -#define PART_DRAW_MAT_COL (1<<13) -#define PART_DRAW_WHOLE_GR (1<<14) +#define PART_DRAW_VEL_LENGTH (1<<12) +#define PART_DRAW_MAT_COL (1<<13) +#define PART_DRAW_WHOLE_GR (1<<14) +#define PART_DRAW_REN_STRAND (1<<15) /* part->bb_align */ #define PART_BB_X 0 |