#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(). |
1.3-rc1