#include <ExCSDKParticule.h>
|
Definition at line 3 of file ExCSDKParticule.cpp. References m_Acceleration, m_ColorB, m_ColorG, m_ColorR, m_Gravity, m_LifeSpan, m_Mass, m_Position, m_Size, m_Type, m_Velocity, m_Weight, and ExCVec3D::SetValue().
00005 { 00006 m_LifeSpan=1000; 00007 m_Size=0.2; 00008 m_Weight=1; 00009 m_Mass=1; 00010 m_Type=PARTICULE_LINE; 00011 m_ColorR=255; 00012 m_ColorG=255; 00013 m_ColorB=255; 00014 m_Velocity.SetValue(0.0f,0.1f,0.0f); 00015 m_Position.SetValue(0.0f,0.0f,0.0f); 00016 m_Acceleration.SetValue(1.0f,1.0f,1.0f); 00017 m_Gravity.SetValue(0.0f,0.0f,0.0f); |
|
Definition at line 19 of file ExCSDKParticule.cpp.
00021 { |
|
Definition at line 178 of file ExCSDKParticule.cpp.
00180 { |
|
Definition at line 88 of file ExCSDKParticule.h. References m_LifeSpan.
00088 {m_LifeSpan--;} |
|
Definition at line 35 of file ExCSDKParticule.cpp.
00037 { 00038 /* float x,y,z,x1,y1,z1; 00039 float GravityX,GravityY,GravityZ; 00040 int TimeNow=(m_TotalLife-m_LifeSpan); 00041 00042 GLfloat no_mat[] = {0.0f,0.0f,0.0f,1.0f}; 00043 GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; 00044 GLfloat mat_ambient_color[] = {0.8f,0.8f,0.2f,1.0f}; 00045 GLfloat mat_diffuse[] = {0.1f,0.5f,0.8f,1.0f}; 00046 GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f}; 00047 GLfloat no_shininess[] = {0.0f}; 00048 GLfloat low_shininess[] = {5.0f}; 00049 GLfloat high_shininess[] = {100.0f}; 00050 GLfloat mat_emission[] = {0.3f,0.2f,0.2f,0.0f}; 00051 00052 switch(m_Type) 00053 { 00054 case PARTICULE_POINT: 00055 00056 glPushMatrix(); 00057 00058 glTranslatef(m_Position.m_Vector[0], 00059 m_Position.m_Vector[1], 00060 m_Position.m_Vector[2]); 00061 m_Position=m_Position+m_Velocity; 00062 00063 glColor4ub(m_ColorR,m_ColorG,m_ColorB,m_Blending); 00064 glBegin(GL_POINT); 00065 glVertex3fv(m_Position.m_Vector); 00066 glEnd(); 00067 glPopMatrix(); 00068 break; 00069 00070 case PARTICULE_LINE: 00071 glPushMatrix(); 00072 00073 GravityX=((TimeNow*TimeNow)*(m_Gravity.m_Vector[0])/20); 00074 GravityY=((TimeNow*TimeNow)*(m_Gravity.m_Vector[1])/20); 00075 GravityZ=((TimeNow*TimeNow)*(m_Gravity.m_Vector[2])/20); 00076 00077 x=m_Position.m_Vector[0]+(m_Velocity.m_Vector[0]*TimeNow)-GravityX; 00078 y=m_Position.m_Vector[1]+(m_Velocity.m_Vector[1]*TimeNow)-GravityY; 00079 z=m_Position.m_Vector[2]+(m_Velocity.m_Vector[2]*TimeNow)-GravityZ; 00080 00081 x1=m_Position.m_Vector[0]+(m_Velocity.m_Vector[0]*(TimeNow+m_Size))-GravityX; 00082 y1=m_Position.m_Vector[1]+(m_Velocity.m_Vector[1]*(TimeNow+m_Size))-GravityY; 00083 z1=m_Position.m_Vector[2]+(m_Velocity.m_Vector[2]*(TimeNow+m_Size))-GravityZ; 00084 00085 glTranslatef(x,y,z); 00086 glColor4ub(m_ColorR,m_ColorG,m_ColorB,m_Blending); 00087 00088 glEnable(GL_BLEND); 00089 glEnable(GL_ALPHA); 00090 glBlendFunc(GL_ONE,GL_ONE); 00091 glEnable(GL_ALPHA_TEST); 00092 glAlphaFunc(GL_GREATER,0); 00093 glLineWidth(2.0f); 00094 //glEnable(GL_LIGHTING); 00095 00096 glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT,no_mat); 00097 glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE,mat_diffuse); 00098 glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,mat_specular); 00099 glMaterialfv(GL_FRONT_AND_BACK,GL_SHININESS,high_shininess); 00100 glMaterialfv(GL_FRONT_AND_BACK,GL_EMISSION,no_mat); 00101 00102 glBegin(GL_LINES); 00103 glVertex3f(x,y,z); 00104 glVertex3f(x1,y1,z1); 00105 glEnd(); 00106 glDisable(GL_LIGHTING); 00107 glDisable(GL_BLEND); 00108 glDisable(GL_ALPHA); 00109 glLineWidth(1.5); 00110 glPopMatrix(); 00111 break; 00112 00113 case PARTICULE_TEXTURE: 00114 glPushMatrix(); 00115 ExCVec3D position; 00116 if(TimeNow<m_TotalLife) 00117 { 00118 position=m_VecPosition.at(TimeNow); 00119 glTranslatef(position.m_Vector[0],position.m_Vector[1],position.m_Vector[2]); 00120 // Orienation of particule 00121 GLfloat viewMatrix[16]; 00122 glGetFloatv(GL_MODELVIEW_MATRIX, viewMatrix); 00123 ExCVec3D right; 00124 ExCVec3D up; 00125 00126 right.SetValue(viewMatrix[0],viewMatrix[4],viewMatrix[8]); 00127 up.SetValue(viewMatrix[1],viewMatrix[5],viewMatrix[9]); 00128 00129 ExCVec3D v1,v2,v3,v4; 00130 v1=m_Position+(right+up)*-m_Size; 00131 v2=m_Position+(right-up)*m_Size; 00132 v3=m_Position+(right+up)*m_Size; 00133 v4=m_Position+(up-right)*m_Size; 00134 00135 00136 //DRAW PARTICULE 00137 glColor4ub(m_ColorR,m_ColorG,m_ColorB,m_Blending); 00138 glEnable(GL_BLEND); 00139 glEnable(GL_ALPHA); 00140 glEnable(GL_TEXTURE_2D); 00141 glBlendFunc(GL_ONE,GL_ONE); 00142 glEnable(GL_ALPHA_TEST); 00143 glAlphaFunc(GL_GREATER,0); 00144 glDisable(GL_LIGHTING); 00145 glBindTexture(GL_TEXTURE_2D,m_Texture); 00146 glBegin(GL_QUADS); 00147 glTexCoord2f(0.0f, 0.0f); glVertex3fv(v1.m_Vector); 00148 glTexCoord2f(1.0f, 0.0f); glVertex3fv(v2.m_Vector); 00149 glTexCoord2f(1.0f, 1.0f); glVertex3fv(v3.m_Vector); 00150 glTexCoord2f(0.0f, 1.0f); glVertex3fv(v4.m_Vector); 00151 glEnd(); 00152 glDisable(GL_TEXTURE_2D); 00153 glDisable(GL_BLEND); 00154 glDisable(GL_ALPHA); 00155 glEnable(GL_LIGHTING); 00156 } 00157 glPopMatrix(); 00158 break; 00159 }*/ |
|
Definition at line 80 of file ExCSDKParticule.h.
00080 {return m_Acceleration;} |
|
Definition at line 74 of file ExCSDKParticule.h. References m_Blending.
00074 {return m_Blending;} |
|
Definition at line 71 of file ExCSDKParticule.h. References m_ColorB.
00071 {return m_ColorB;} |
|
Definition at line 68 of file ExCSDKParticule.h. References m_ColorG.
00068 {return m_ColorG;} |
|
Definition at line 65 of file ExCSDKParticule.h. References m_ColorR.
00065 {return m_ColorR;} |
|
Definition at line 83 of file ExCSDKParticule.h.
00083 {return m_Gravity;} |
|
Definition at line 59 of file ExCSDKParticule.h. References m_LifeSpan.
00059 {return m_LifeSpan;} |
|
Definition at line 56 of file ExCSDKParticule.h. References m_Mass.
00056 {return m_Mass;} |
|
Definition at line 86 of file ExCSDKParticule.h.
00086 {return m_Position;} |
|
Definition at line 53 of file ExCSDKParticule.h. References m_Size.
00053 {return m_Size;} |
|
Definition at line 77 of file ExCSDKParticule.h.
00077 {return m_Velocity;} |
|
Definition at line 62 of file ExCSDKParticule.h. References m_Weight.
00062 {return m_Weight;} |
|
Definition at line 161 of file ExCSDKParticule.cpp. References m_Gravity, m_Position, m_VecPosition, ExCVec3D::m_Vector, and m_Velocity.
00163 { 00164 float GravityX,GravityY,GravityZ; 00165 ExCVec3D Position; 00166 for(int i=start;i<end;i++) 00167 { 00168 GravityX=((i*i)*(m_Gravity.m_Vector[0])/2000); 00169 GravityY=((i*i)*(m_Gravity.m_Vector[1])/2000); 00170 GravityZ=((i*i)*(m_Gravity.m_Vector[2])/2000); 00171 00172 Position.m_Vector[0]=m_Position.m_Vector[0]+(m_Velocity.m_Vector[0]*i)-GravityX; 00173 Position.m_Vector[1]=m_Position.m_Vector[1]+(m_Velocity.m_Vector[1]*i)-GravityY; 00174 Position.m_Vector[2]=m_Position.m_Vector[2]+(m_Velocity.m_Vector[2]*i)-GravityZ; 00175 m_VecPosition.push_back(Position); 00176 } |
|
Definition at line 79 of file ExCSDKParticule.h.
00079 {m_Acceleration=Acceleration;} |
|
Definition at line 73 of file ExCSDKParticule.h. References m_Blending.
00073 {m_Blending=Blending;} |
|
Definition at line 70 of file ExCSDKParticule.h. References m_ColorB.
00070 {m_ColorB=ColorB;} |
|
Definition at line 67 of file ExCSDKParticule.h. References m_ColorG.
00067 {m_ColorG=ColorG;} |
|
Definition at line 64 of file ExCSDKParticule.h. References m_ColorR.
00064 {m_ColorR=ColorR;} |
|
Definition at line 82 of file ExCSDKParticule.h.
00082 {m_Gravity=Gravity;} |
|
Definition at line 58 of file ExCSDKParticule.h. References m_LifeSpan, and m_TotalLife.
00058 {m_LifeSpan=life;m_TotalLife=life;} |
|
Definition at line 55 of file ExCSDKParticule.h. References m_Mass.
00055 {m_Mass=Mass;} |
|
Definition at line 85 of file ExCSDKParticule.h.
00085 {m_Position=Position;} |
|
Definition at line 52 of file ExCSDKParticule.h. References m_Size.
00052 {m_Size=Size;} |
|
Definition at line 29 of file ExCSDKParticule.cpp. References m_Texture.
00031 { 00032 m_Texture=texture; |
|
Definition at line 23 of file ExCSDKParticule.cpp. References m_Type.
|
|
Definition at line 76 of file ExCSDKParticule.h.
00076 {m_Velocity=Velocity;} |
|
Definition at line 61 of file ExCSDKParticule.h. References m_Weight.
00061 {m_Weight=Weight;} |
|
Definition at line 23 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(). |
|
Definition at line 34 of file ExCSDKParticule.h. Referenced by GetParticuleBlending(), and SetParticuleBlending(). |
|
Definition at line 33 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), GetParticuleColorB(), and SetParticuleColorB(). |
|
Definition at line 32 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), GetParticuleColorG(), and SetParticuleColorG(). |
|
Definition at line 31 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), GetParticuleColorR(), and SetParticuleColorR(). |
|
Definition at line 24 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), and PrecalculeParticuleTrajectory(). |
|
Definition at line 38 of file ExCSDKParticule.h. |
|
Definition at line 27 of file ExCSDKParticule.h. Referenced by DecreaseLifeSpan(), ExCSDKParticule(), GetParticuleLife(), and SetParticuleLife(). |
|
Definition at line 26 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), GetParticuleMass(), and SetParticuleMass(). |
|
Definition at line 21 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), and PrecalculeParticuleTrajectory(). |
|
Definition at line 25 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), GetParticuleSize(), and SetParticuleSize(). |
|
Definition at line 35 of file ExCSDKParticule.h. Referenced by SetParticuleTexture(). |
|
Definition at line 28 of file ExCSDKParticule.h. Referenced by SetParticuleLife(). |
|
Definition at line 30 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), and SetParticuleType(). |
|
Definition at line 37 of file ExCSDKParticule.h. Referenced by PrecalculeParticuleTrajectory(). |
|
Definition at line 22 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), and PrecalculeParticuleTrajectory(). |
|
Definition at line 29 of file ExCSDKParticule.h. Referenced by ExCSDKParticule(), GetParticuleWeight(), and SetParticuleWeight(). |