|
From: <wil...@us...> - 2009-07-15 02:36:55
|
Revision: 423
http://hgengine.svn.sourceforge.net/hgengine/?rev=423&view=rev
Author: willmurnane
Date: 2009-07-15 02:36:45 +0000 (Wed, 15 Jul 2009)
Log Message:
-----------
Use int instead of GLenum to avoid needing gl.h et al #included
Modified Paths:
--------------
Mercury2/src/GLHelpers.cpp
Mercury2/src/GLHelpers.h
Modified: Mercury2/src/GLHelpers.cpp
===================================================================
--- Mercury2/src/GLHelpers.cpp 2009-07-15 01:59:15 UTC (rev 422)
+++ Mercury2/src/GLHelpers.cpp 2009-07-15 02:36:45 UTC (rev 423)
@@ -55,6 +55,29 @@
return mm;
}
+MercuryVertex pointFromScreenLoc(int screen_x, int screen_y)
+{
+ GLfloat winX, winY, winZ;
+ GLdouble mouseX = 0, mouseY = 0, mouseZ = 0;
+ GLint viewport[4];
+ GLdouble modelview[16];
+ GLdouble projection[16];
+
+ glGetIntegerv(GL_VIEWPORT, viewport);
+ glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
+ glGetDoublev(GL_PROJECTION_MATRIX, projection);
+
+ winX = (float)screen_x;
+ winY = (float)viewport[3] - (float)screen_y;
+ glReadPixels( screen_x, (int)winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ );
+
+ gluUnProject(
+ winX, winY, winZ,
+ modelview, projection, viewport,
+ &mouseX, &mouseY, &mouseZ);
+ return MercuryVertex( mouseX, mouseY, mouseZ );
+}
+
/****************************************************************************
* Copyright (C) 2009 by Joshua Allen *
* *
Modified: Mercury2/src/GLHelpers.h
===================================================================
--- Mercury2/src/GLHelpers.h 2009-07-15 01:59:15 UTC (rev 422)
+++ Mercury2/src/GLHelpers.h 2009-07-15 02:36:45 UTC (rev 423)
@@ -4,7 +4,7 @@
MString GlError2String(uint32_t e);
void glLoadMatrix(const MercuryMatrix& m);
-MercuryMatrix glGetMatrix(GLenum m);
+MercuryMatrix glGetMatrix(int m);
/****************************************************************************
* Copyright (C) 2009 by Joshua Allen *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|