#include <ExCSDKParticule.h>
|
|
Définition à la ligne 3 du fichier ExCSDKParticule.cpp. Références m_Acceleration, m_ColorB, m_ColorG, m_ColorR, m_Gravity, m_LifeSpan, m_Mass, m_Position, m_Size, m_Type, m_Velocity, m_Weight, et 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);
|
|
|
Définition à la ligne 19 du fichier ExCSDKParticule.cpp.
00021 {
|
|
|
Définition à la ligne 178 du fichier ExCSDKParticule.cpp.
00180 {
|
|
|
Définition à la ligne 88 du fichier ExCSDKParticule.h. Références m_LifeSpan.
00088 {m_LifeSpan--;}
|
|
|
Définition à la ligne 35 du fichier 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 }*/
|
|
|
Définition à la ligne 80 du fichier ExCSDKParticule.h.
00080 {return m_Acceleration;}
|
|
|
Définition à la ligne 74 du fichier ExCSDKParticule.h. Références m_Blending.
00074 {return m_Blending;}
|
|
|
Définition à la ligne 71 du fichier ExCSDKParticule.h. Références m_ColorB.
00071 {return m_ColorB;}
|
|
|
Définition à la ligne 68 du fichier ExCSDKParticule.h. Références m_ColorG.
00068 {return m_ColorG;}
|
|
|
Définition à la ligne 65 du fichier ExCSDKParticule.h. Références m_ColorR.
00065 {return m_ColorR;}
|
|
|
Définition à la ligne 83 du fichier ExCSDKParticule.h.
00083 {return m_Gravity;}
|
|
|
Définition à la ligne 59 du fichier ExCSDKParticule.h. Références m_LifeSpan.
00059 {return m_LifeSpan;}
|
|
|
Définition à la ligne 56 du fichier ExCSDKParticule.h. Références m_Mass.
00056 {return m_Mass;}
|
|
|
Définition à la ligne 86 du fichier ExCSDKParticule.h.
00086 {return m_Position;}
|
|
|
Définition à la ligne 53 du fichier ExCSDKParticule.h. Références m_Size.
00053 {return m_Size;}
|
|
|
Définition à la ligne 77 du fichier ExCSDKParticule.h.
00077 {return m_Velocity;}
|
|
|
Définition à la ligne 62 du fichier ExCSDKParticule.h. Références m_Weight.
00062 {return m_Weight;}
|
|
||||||||||||
|
Définition à la ligne 161 du fichier ExCSDKParticule.cpp. Références m_Gravity, m_Position, m_VecPosition, ExCVec3D::m_Vector, et 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 }
|
|
|
Définition à la ligne 79 du fichier ExCSDKParticule.h.
00079 {m_Acceleration=Acceleration;}
|
|
|
Définition à la ligne 73 du fichier ExCSDKParticule.h. Références m_Blending.
00073 {m_Blending=Blending;}
|
|
|
Définition à la ligne 70 du fichier ExCSDKParticule.h. Références m_ColorB.
00070 {m_ColorB=ColorB;}
|
|
|
Définition à la ligne 67 du fichier ExCSDKParticule.h. Références m_ColorG.
00067 {m_ColorG=ColorG;}
|
|
|
Définition à la ligne 64 du fichier ExCSDKParticule.h. Références m_ColorR.
00064 {m_ColorR=ColorR;}
|
|
|
Définition à la ligne 82 du fichier ExCSDKParticule.h.
00082 {m_Gravity=Gravity;}
|
|
|
Définition à la ligne 58 du fichier ExCSDKParticule.h. Références m_LifeSpan, et m_TotalLife.
00058 {m_LifeSpan=life;m_TotalLife=life;}
|
|
|
Définition à la ligne 55 du fichier ExCSDKParticule.h. Références m_Mass.
00055 {m_Mass=Mass;}
|
|
|
Définition à la ligne 85 du fichier ExCSDKParticule.h.
00085 {m_Position=Position;}
|
|
|
Définition à la ligne 52 du fichier ExCSDKParticule.h. Références m_Size.
00052 {m_Size=Size;}
|
|
|
Définition à la ligne 29 du fichier ExCSDKParticule.cpp. Références m_Texture.
00031 {
00032 m_Texture=texture;
|
|
|
Définition à la ligne 23 du fichier ExCSDKParticule.cpp. Références m_Type.
|
|
|
Définition à la ligne 76 du fichier ExCSDKParticule.h.
00076 {m_Velocity=Velocity;}
|
|
|
Définition à la ligne 61 du fichier ExCSDKParticule.h. Références m_Weight.
00061 {m_Weight=Weight;}
|
|
|
Définition à la ligne 23 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(). |
|
|
Définition à la ligne 34 du fichier ExCSDKParticule.h. Référencé par GetParticuleBlending(), et SetParticuleBlending(). |
|
|
Définition à la ligne 33 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), GetParticuleColorB(), et SetParticuleColorB(). |
|
|
Définition à la ligne 32 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), GetParticuleColorG(), et SetParticuleColorG(). |
|
|
Définition à la ligne 31 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), GetParticuleColorR(), et SetParticuleColorR(). |
|
|
Définition à la ligne 24 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), et PrecalculeParticuleTrajectory(). |
|
|
Définition à la ligne 38 du fichier ExCSDKParticule.h. |
|
|
Définition à la ligne 27 du fichier ExCSDKParticule.h. Référencé par DecreaseLifeSpan(), ExCSDKParticule(), GetParticuleLife(), et SetParticuleLife(). |
|
|
Définition à la ligne 26 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), GetParticuleMass(), et SetParticuleMass(). |
|
|
Définition à la ligne 21 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), et PrecalculeParticuleTrajectory(). |
|
|
Définition à la ligne 25 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), GetParticuleSize(), et SetParticuleSize(). |
|
|
Définition à la ligne 35 du fichier ExCSDKParticule.h. Référencé par SetParticuleTexture(). |
|
|
Définition à la ligne 28 du fichier ExCSDKParticule.h. Référencé par SetParticuleLife(). |
|
|
Définition à la ligne 30 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), et SetParticuleType(). |
|
|
Définition à la ligne 37 du fichier ExCSDKParticule.h. Référencé par PrecalculeParticuleTrajectory(). |
|
|
Définition à la ligne 22 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), et PrecalculeParticuleTrajectory(). |
|
|
Définition à la ligne 29 du fichier ExCSDKParticule.h. Référencé par ExCSDKParticule(), GetParticuleWeight(), et SetParticuleWeight(). |
1.3-rc1