Changeset 3728 in orxonox.OLD for orxonox/branches/shadows/src/shadow.cc
- Timestamp:
- Apr 5, 2005, 9:53:42 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/branches/shadows/src/shadow.cc
r3712 r3728 29 29 #include <math.h> 30 30 #include "shadow.h" 31 #include "vector.h" 32 31 33 32 34 #define SIZE 128 … … 39 41 */ 40 42 41 Shadow::Shadow(OBJModel* player,Player* playerangle ,float groundVertexes[])43 Shadow::Shadow(OBJModel* player,Player* playerangle) 42 44 { 43 45 this->player=player; … … 101 103 void Shadow::createShadow() 102 104 { 103 glViewport(0,0, 2*SIZE,2*SIZE);104 glScissor(0,0, 2*SIZE,2*SIZE);105 glViewport(0,0,SIZE,SIZE); 106 glScissor(0,0,SIZE,SIZE); 105 107 glEnable(GL_SCISSOR_TEST); 106 108 glBindTexture(GL_TEXTURE_2D,this->shadow_id); … … 133 135 134 136 glDisable(GL_SCISSOR_TEST); 135 glViewport(0,0, 1024,768); //Achtung: hier Aufloesung von Orxonox einstellen!137 glViewport(0,0,400,300); //Achtung: hier Aufloesung von Orxonox einstellen! 136 138 137 139 … … 159 161 160 162 163 } 164 165 /** 166 brief takes the ground data from the world.cc class and passes it to shadow.cc 167 168 */ 169 170 void Shadow::setGround() 171 { 172 this->ground_id=glGenLists(1); 173 glNewList(this->ground_id,GL_COMPILE); 174 glBegin(GL_QUADS); 175 for(int i=0;i<100;i+=1) 176 for(int j=0;j<80;j+=1) 177 { 178 glNormal3f(normal_vectors[i][j].x,normal_vectors[i][j].y,normal_vectors[i][j].z); 179 glTexCoord2f(0.0f,0.0f); 180 glVertex3f(vertexes[0][i][j].x,vertexes[0][i][j].y,vertexes[0][i][j].z); 181 glNormal3f(normal_vectors[i+1][j].x,normal_vectors[i+1][j].y,normal_vectors[i+1][j].z); 182 glTexCoord2f(1.0f,0.0f); 183 glVertex3f(vertexes[1][i][j].x,vertexes[1][i][j].y,vertexes[1][i][j].z); 184 glNormal3f(normal_vectors[i+1][j+1].x,normal_vectors[i+1][j+1].y,normal_vectors[i+1][j+1].z); 185 glTexCoord2f(1.0f,1.0f); 186 glVertex3f(vertexes[2][i][j].x,vertexes[2][i][j].y,vertexes[2][i][j].z); 187 glNormal3f(normal_vectors[i][j+1].x,normal_vectors[i][j+1].y,normal_vectors[i][j+1].z); 188 glTexCoord2f(0.0f,1.0f); 189 glVertex3f(vertexes[3][i][j].x,vertexes[3][i][j].y,vertexes[3][i][j].z); 190 } 191 glEnd(); 192 glEndList(); 193 194 195 196 } 197 198 void Shadow::setNormal(Vector a,int i,int j) 199 { 200 normal_vectors[i][j]=a; 201 202 } 203 204 void Shadow::setVertexNum(Vector a,int i,int j,int num) 205 { 206 vertexes[num][i][j]=a; 207 161 208 } 162 209 /** … … 209 256 createShadow(); 210 257 211 / *glClearColor(0,0,0,0);212 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);213 glMatrixMode(GL_PROJECTION);214 glLoadIdentity();215 gluPerspective(45,4.0/3.0,.5,100);216 glMatrixMode(GL_MODELVIEW);217 glLoadIdentity();218 219 gluLookAt(this->cameraPos[0],this->cameraPos[1],this->cameraPos[2],this->playerPos[0],this->playerPos[1],this->playerPos[2],0,0,1);220 */258 //glClearColor(0,0,0,0); 259 //glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 260 //glMatrixMode(GL_PROJECTION); 261 //glLoadIdentity(); 262 //gluPerspective(45,4.0/3.0,.5,100); 263 //glMatrixMode(GL_MODELVIEW); 264 //glLoadIdentity(); 265 266 //gluLookAt(this->cameraPos[0],this->cameraPos[1],this->cameraPos[2],this->playerPos[0],this->playerPos[1],this->playerPos[2],0,0,1); 267 221 268 glEnable(GL_TEXTURE_GEN_S); 222 269 glEnable(GL_TEXTURE_GEN_T); … … 228 275 glLoadIdentity(); 229 276 glTranslatef(0.5,0.5,1.0); 277 glScalef(0.5,0.5,1.0); 230 278 glOrtho(-1,1,-1,1,-1,1); 231 279 … … 237 285 glEnable(GL_BLEND); 238 286 glBlendFunc(GL_DST_COLOR,GL_SRC_COLOR); 239 glCallList( ground_id);287 glCallList(this->ground_id); 240 288 glDisable(GL_BLEND); 241 289
Note: See TracChangeset
for help on using the changeset viewer.