264 void Generate_APT(ShareBufferClass <unsigned int> **apt,
unsigned int &active_point_count);
Color scale(const Color &a, const Color &b)
virtual bool Is_Complete(void)
void Reset_Blur_Times(ParticlePropertyStruct< float > &new_blur_times)
int NewParticleQueueCount
unsigned int * ColorKeyFrameTimes
Vector3 Get_Acceleration(void) const
int Get_Frame_Mode(void) const
ShaderClass Get_Shader(void) const
float * FrameKeyFrameDeltas
float Get_Initial_Orientation_Random(void) const
virtual int Calculate_Cost_Value_Arrays(float screen_area, float *values, float *costs) const
void Update_Bounding_Box(void)
static float Get_LOD_Max_Screen_Size(int lod_level)
float * RandomRotationEntries
ParticleEmitterClass * Emitter
SegLineRendererClass * LineRenderer
void Get_Rotation_Key_Frames(ParticlePropertyStruct< float > &rotations) const
void Set_Acceleration(const Vector3 &acceleration)
unsigned int * BlurTimeKeyFrameTimes
unsigned int DecimationThreshold
void Get_Frame_Key_Frames(ParticlePropertyStruct< float > &frames) const
int Is_Freeze_Random(void) const
virtual void Prepare_LOD(CameraClass &camera)
virtual void Notify_Removed(SceneClass *scene)
unsigned int * FrameKeyFrameTimes
virtual int Class_ID(void) const
ShareBufferClass< float > * Size
ShareBufferClass< uint8 > * Frame
virtual float Get_Cost(void) const
ShareBufferClass< float > * Alpha
virtual void Scale(float scale)
unsigned int NumFrameKeyFrames
unsigned int * RotationKeyFrameTimes
unsigned int NumRandomFrameEntriesMinus1
ShareBufferClass< unsigned char > * GroupID
unsigned char CurrentGroupID
float * BlurTimeKeyFrameValues
unsigned int NumRandomBlurTimeEntriesMinus1
virtual void Render(RenderInfoClass &rinfo)
unsigned int LastUpdateTime
virtual void Increment_LOD(void)
virtual int Get_LOD_Count(void) const
virtual ~ParticleBufferClass(void)
NewParticleStruct * Add_Uninitialized_New_Particle(void)
float Get_Future_Start_Time(void) const
unsigned int NumSizeKeyFrames
TailDiffuseTypeEnum Determine_Tail_Diffuse()
ShareBufferClass< Vector3 > * TailPosition
float Get_End_Opacity(void) const
void Render_Particles(RenderInfoClass &rinfo)
ParticleBufferClass(ParticleEmitterClass *emitter, unsigned int buffer_size, ParticlePropertyStruct< Vector3 > &color, ParticlePropertyStruct< float > &opacity, ParticlePropertyStruct< float > &size, ParticlePropertyStruct< float > &rotation, float orient_rnd, ParticlePropertyStruct< float > &frame, ParticlePropertyStruct< float > &blurtime, Vector3 accel, float max_age, float future_start, TextureClass *tex, ShaderClass shader, bool pingpong, int render_mode, int frame_mode, const W3dEmitterLinePropertiesStruct *line_props)
void Set_Texture(TextureClass *tex)
unsigned int FutureStartTime
float * RandomAlphaEntries
void Get_Size_Key_Frames(ParticlePropertyStruct< float > &sizes) const
void Generate_APT(ShareBufferClass< unsigned int > **apt, unsigned int &active_point_count)
int Get_Render_Mode(void) const
void Update_Visual_Particle_State(void)
void Get_Opacity_Key_Frames(ParticlePropertyStruct< float > &opacities) const
float * AlphaKeyFrameValues
float Get_Merge_Abort_Factor(void) const
float * AlphaKeyFrameDeltas
float Get_Texture_Tile_Factor(void) const
ShareBufferClass< Vector4 > * Diffuse
Vector3 Get_Start_Color(void) const
LineGroupClass * LineGroup
ShareBufferClass< unsigned int > * APT
virtual RenderObjClass * Clone(void) const
void Combine_Color_And_Alpha()
virtual void Set_LOD_Bias(float bias)
float Get_Particle_Size(void) const
unsigned int NewParticleQueueStart
void Reset_Opacity(ParticlePropertyStruct< float > &new_props)
unsigned int NumBlurTimeKeyFrames
unsigned int NumRandomSizeEntriesMinus1
float Get_Fade_Time(void) const
unsigned int NewParticleQueueEnd
virtual void Update_Cached_Bounding_Volumes(void) const
ParticleBufferClass & operator=(const ParticleBufferClass &)
unsigned int Get_Buffer_Size(void) const
Vector3 * RandomColorEntries
unsigned int * AlphaKeyFrameTimes
float Get_Noise_Amplitude(void) const
void Get_Color_Key_Frames(ParticlePropertyStruct< Vector3 > &colors) const
float * OrientationKeyFrameValues
ShareBufferClass< Vector4 > * TailDiffuse
virtual void Get_Obj_Space_Bounding_Sphere(SphereClass &sphere) const
ShareBufferClass< Vector3 > * Color
void Reset_Rotations(ParticlePropertyStruct< float > &new_rotations, float orient_rnd)
float * BlurTimeKeyFrameDeltas
float InitialOrientationRandom
float * RandomOrientationEntries
unsigned int NumRandomAlphaEntriesMinus1
Vector2 Get_UV_Offset_Rate(void) const
ShareBufferClass< uint8 > * Orientation
void Get_New_Particles(void)
int Get_Subdivision_Level(void) const
int Are_End_Caps_Enabled(void) const
virtual void Get_Obj_Space_Bounding_Box(AABoxClass &box) const
unsigned int NumRandomOrientationEntriesMinus1
void Kill_Old_Particles(void)
Vector3 * ColorKeyFrameDeltas
float * RandomSizeEntries
ShareBufferClass< Vector3 > * Position[2]
TextureClass * Get_Texture(void) const
NewParticleStruct * NewParticleQueue
virtual float Get_Value(void) const
void Emitter_Is_Dead(void)
void Update_Non_New_Particles(unsigned int elapsed)
unsigned int * SizeKeyFrameTimes
void Update_Kinematic_Particle_State(void)
Vector3 Get_End_Color(void) const
virtual void Decrement_LOD(void)
void Reset_Size(ParticlePropertyStruct< float > &new_props)
void Render_Line(RenderInfoClass &rinfo)
float * SizeKeyFrameValues
unsigned int NumRandomColorEntriesMinus1
unsigned int NumColorKeyFrames
float * RandomBlurTimeEntries
static unsigned int Get_Total_Active_Count(void)
Vector4 DefaultTailDiffuse
float Get_Start_Opacity(void) const
unsigned int NumRotationKeyFrames
virtual int Get_LOD_Level(void) const
Vector3 * ColorKeyFrameValues
PointGroupClass * PointGroup
static unsigned int TotalActiveCount
static const unsigned int PermutationArray[16]
float Get_Lifetime(void) const
int Get_Particle_Count(void) const
float * RandomFrameEntries
void Reset_Colors(ParticlePropertyStruct< Vector3 > &new_props)
int Get_Line_Texture_Mapping_Mode(void) const
int Is_Merge_Intersections(void) const
float * SizeKeyFrameDeltas
virtual void Set_LOD_Level(int lod)
virtual int Get_Num_Polys(void) const
ShareBufferClass< float > * UCoord
virtual float Get_Post_Increment_Value(void) const
void Reset_Frames(ParticlePropertyStruct< float > &new_frames)
int Is_Sorting_Disabled(void) const
float * RotationKeyFrameValues
float * HalfRotationKeyFrameDeltas
virtual void Notify_Added(SceneClass *scene)
void Render_Line_Group(RenderInfoClass &rinfo)
@ SAME_AS_HEAD_ALPHA_ZERO
void Set_Current_GroupID(unsigned char grp)
static float LODMaxScreenSizes[17]
static void Set_LOD_Max_Screen_Size(int lod_level, float max_screen_size)
unsigned int NumAlphaKeyFrames
float * FrameKeyFrameValues
unsigned int NumRandomRotationEntriesMinus1
void Set_Emitter(ParticleEmitterClass *emitter)
virtual void On_Frame_Update(void)
void Get_Blur_Time_Key_Frames(ParticlePropertyStruct< float > &blurtimes) const
bool operator==(const NewParticleStruct &p)
bool operator!=(const NewParticleStruct &p)