Changeset 4830 in orxonox.OLD for orxonox/trunk/src/world_entities/weapons/crosshair.cc
- Timestamp:
- Jul 11, 2005, 5:43:37 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/world_entities/weapons/crosshair.cc
r4826 r4830 23 23 #include "p_node.h" 24 24 #include "state.h" 25 #include "model.h" 25 26 26 27 #include <iostream> … … 37 38 this->setName("Crosshair"); 38 39 40 this->material = NULL; 41 this->model = NULL; 42 this->rotation = 0; 43 44 this->material = new Material("Crosshair Material"); 45 this->material->setDiffuseMap("maps/aim.png"); 46 47 float size = 50; 48 this->model = new Model(); 49 this->model->addVertex (-0.5*size, -0.5*size, 0); 50 this->model->addVertex (0.5*size, -0.5*size, 0); 51 this->model->addVertex (0.5*size, 0.5*size, 0); 52 this->model->addVertex (-0.5*size, 0.5*size, 0); 53 54 this->model->addVertexTexture(0,0); 55 this->model->addVertexTexture(1,0); 56 this->model->addVertexTexture(1,1); 57 this->model->addVertexTexture(0,1); 58 59 this->model->setMaterial(this->material); 60 this->model->addFace(4, VERTEX_TEXCOORD, 0,0, 1,1 ,2,2, 3,3); 61 this->model->finalize(); 62 39 63 EventHandler::getInstance()->subscribe(this, ES_GAME, EV_MOUSE_MOTION); 40 64 … … 47 71 Crosshair::~Crosshair () 48 72 { 73 // delete this->model; 74 49 75 // delete what has to be deleted here 50 76 EventHandler::getInstance()->unsubscribe(this); … … 81 107 82 108 83 void Crosshair::draw() const109 void Crosshair::draw() 84 110 { 85 111 /* … … 118 144 GraphicsEngine::storeMatrices(); 119 145 120 float z; 121 glReadPixels ((int)position2D[0], GraphicsEngine::getInstance()->getResolutionY()-(int)position2D[1]-1, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &z); 122 123 124 printf("%f %f %f\n", (int)position2D[0], (int)position2D[1], z); 146 /// float z; 147 // glReadPixels ((int)position2D[0], GraphicsEngine::getInstance()->getResolutionY()-(int)position2D[1]-1, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &z); 148 125 149 126 150 //cout << z <<" "<< scale << " " << bias<< endl; 151 127 152 128 153 GLdouble objX, objY, objZ; 129 154 gluUnProject(position2D[0], 130 155 GraphicsEngine::getInstance()->getResolutionY()-position2D[1]-1, 131 . 5,156 .99, 132 157 GraphicsEngine::modMat, 133 158 GraphicsEngine::projMat, … … 137 162 &objZ ); 138 163 139 glBegin(GL_TRIANGLES); 140 glColor3f(1,0,0); 141 glVertex3f(objX, objY, objZ); 142 glVertex3f(objX, objY+1, objZ); 143 glVertex3f(objX, objY, objZ+1); 164 this->setAbsCoor(objX, objY, objZ); 165 166 // glBegin(GL_TRIANGLES); 167 // glColor3f(1,0,0); 168 // glVertex3f(objX, objY, objZ); 169 // glVertex3f(objX, objY+1, objZ); 170 // glVertex3f(objX, objY, objZ+1); 171 // glEnd(); 172 173 174 GraphicsEngine::enter2DMode(); 175 GLdouble pos[3]; 176 gluProject(this->getAbsCoor().x, 177 this->getAbsCoor().y, 178 this->getAbsCoor().z, 179 GraphicsEngine::modMat, 180 GraphicsEngine::projMat, 181 GraphicsEngine::viewPort, 182 pos, pos+1, pos+2 ); 183 184 printf("%d %d %d\n", (int)pos[0], (int)pos[1], (int)pos[2]); 185 this->rotation += 5; 186 187 glTranslatef(position2D[0], position2D[1], 0); 188 glRotatef(this->rotation, 0,0,1); 189 this->model->draw(); 190 /* 191 glBegin(GL_QUADS); 192 { 193 glColor4f(1,0,0,1); 194 glVertex2f(position2D[0]-10, position2D[1]-10); 195 glVertex2f(position2D[0]+10, position2D[1]-10); 196 glVertex2f(position2D[0]+10, position2D[1]+10); 197 glVertex2f(position2D[0]-10, position2D[1]+10); 198 199 // glVertex2f(pos[0]-10, pos[1]-10); 200 // glVertex2f(pos[0]-10, pos[1]+10); 201 // glVertex2f(pos[0]+10, pos[1]+10); 202 // glVertex2f(pos[0]+10, pos[1]-10); 203 } 144 204 glEnd(); 145 } 205 */ 206 GraphicsEngine::leave2DMode(); 207 }
Note: See TracChangeset
for help on using the changeset viewer.