Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 2, 2005, 11:35:29 PM (20 years ago)
Author:
bensch
Message:

orxonox/trunk: the mighty useless crosshair…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/world_entities/weapons/crosshair.cc

    r4780 r4781  
    1818#include "crosshair.h"
    1919#include "event_handler.h"
     20
     21#include "graphics_engine.h"
     22#include "glincl.h"
     23#include "p_node.h"
     24#include "state.h"
     25
    2026using namespace std;
    2127
     
    4450void Crosshair::process(const Event &event)
    4551{
    46   printf("wow\n");
     52  if  (event.type == EV_MOUSE_MOTION)
     53  {
     54    this->position2D[0] = event.x;
     55    this->position2D[1] = event.y;
     56  }
    4757
    4858}
     59
     60
     61void Crosshair::draw() const
     62{
     63  const PNode* camera = State::getInstance()->getCamera();  //!< \todo MUST be different
     64  Vector cameraPos = camera->getAbsCoor();
     65  Vector cameraTargetPos = State::getInstance()->getCameraTarget()->getAbsCoor();
     66  Vector view = cameraTargetPos - cameraPos;
     67  Vector up = Vector(0, 1, 0);
     68  up = camera->getAbsDir().apply(up);
     69  Vector h = up.cross(view);
     70  Vector v = h.cross(view);
     71  h.normalize();
     72  v.normalize();
     73
     74  float px = (position2D[0]-GraphicsEngine::getInstance()->getResolutionX()/2)*.05;
     75  float py = -(position2D[1]-GraphicsEngine::getInstance()->getResolutionY()/2)*.05;
     76
     77
     78
     79  glBegin(GL_TRIANGLES);
     80  glVertex3f(cameraTargetPos.x - h.x*px - v.x*py,
     81             cameraTargetPos.y - h.y*px - v.y*py,
     82             cameraTargetPos.z - h.z*px - v.z*py);
     83
     84  glVertex3f(cameraTargetPos.x - h.x*(px+1) - v.x*py,
     85             cameraTargetPos.y - h.y*(px+1) - v.y*py,
     86             cameraTargetPos.z - h.z*(px+1) - v.z*py);
     87
     88  glVertex3f(cameraTargetPos.x - h.x*px - v.x*(py+1),
     89             cameraTargetPos.y - h.y*px - v.y*(py+1),
     90             cameraTargetPos.z - h.z*px - v.z*(py+1));
     91
     92  glEnd();
     93
     94}
Note: See TracChangeset for help on using the changeset viewer.