Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 3728 in orxonox.OLD for orxonox/branches/shadows/src/shadow.cc


Ignore:
Timestamp:
Apr 5, 2005, 9:53:42 PM (19 years ago)
Author:
dave
Message:

branches/shadows:code erweitert fuer terrain

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/shadows/src/shadow.cc

    r3712 r3728  
    2929#include <math.h>
    3030#include "shadow.h"
     31#include "vector.h"
     32
    3133
    3234#define SIZE    128
     
    3941*/
    4042
    41 Shadow::Shadow(OBJModel* player,Player* playerangle,float groundVertexes[])
     43Shadow::Shadow(OBJModel* player,Player* playerangle)
    4244{
    4345    this->player=player;
     
    101103void Shadow::createShadow()
    102104{
    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);
    105107    glEnable(GL_SCISSOR_TEST);
    106108    glBindTexture(GL_TEXTURE_2D,this->shadow_id);
     
    133135   
    134136    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!
    136138     
    137139   
     
    159161
    160162   
     163}
     164
     165/**
     166    brief takes the ground data from the world.cc class and passes it to shadow.cc
     167
     168*/
     169
     170void 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
     198void Shadow::setNormal(Vector a,int i,int j)
     199{
     200    normal_vectors[i][j]=a;
     201
     202}
     203
     204void Shadow::setVertexNum(Vector a,int i,int j,int num)
     205{
     206    vertexes[num][i][j]=a;
     207
    161208}
    162209/**
     
    209256    createShadow();
    210257   
    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   
    221268    glEnable(GL_TEXTURE_GEN_S);
    222269    glEnable(GL_TEXTURE_GEN_T);
     
    228275    glLoadIdentity();
    229276    glTranslatef(0.5,0.5,1.0);
     277    glScalef(0.5,0.5,1.0);
    230278    glOrtho(-1,1,-1,1,-1,1);
    231279   
     
    237285    glEnable(GL_BLEND);
    238286    glBlendFunc(GL_DST_COLOR,GL_SRC_COLOR);
    239     glCallList(ground_id);
     287    glCallList(this->ground_id);
    240288    glDisable(GL_BLEND);
    241289   
Note: See TracChangeset for help on using the changeset viewer.