Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gl/gllib.cc14
-rw-r--r--src/gl/gllib.h164
2 files changed, 14 insertions, 164 deletions
diff --git a/src/gl/gllib.cc b/src/gl/gllib.cc
index 3d3e26c..b8ca232 100644
--- a/src/gl/gllib.cc
+++ b/src/gl/gllib.cc
@@ -17,9 +17,23 @@ using math::Color;
namespace gl
{
+std::string renderer;
+std::string version;
+std::string extensions;
+std::string vendor;
+
void init()
{
con_debug << "Initializing gl..." << std::endl;
+
+ renderer = std::string ((char *)glGetString(GL_RENDERER));
+ vendor = std::string ((char *)glGetString(GL_VENDOR));
+ version = std::string ((char *)glGetString(GL_VERSION));
+ extensions = std::string ((char *)glGetString(GL_EXTENSIONS));
+
+ con_print << "Renderer: " << renderer << std::endl;
+ con_print << "Vendor: " << vendor << std::endl;
+ con_print << "Version: " << version << std::endl;
}
void shutdown()
diff --git a/src/gl/gllib.h b/src/gl/gllib.h
index 42fcea1..e69de29 100644
--- a/src/gl/gllib.h
+++ b/src/gl/gllib.h
@@ -1,164 +0,0 @@
-/*
- gl/gllib.h
- This file is part of the Osirion project and is distributed under
- the terms of the GNU General Public License version 2
-*/
-
-#ifndef __INCLUDED_GL_GLLIB_H__
-#define __INCLUDED_GL_GLLIB_H__
-
-// project headers
-#include "math/vector3f.h"
-#include "math/color.h"
-
-// OpenGL headers
-#include <GL/gl.h>
-
-/// wrapper namespace for OpenGL operations
-/** The gl namespace provides a wrapper to the OpenGL library functions.
- * All methods take floats or Vector3f and Color as parameters.
- */
-namespace gl
-{
- /// initialize the OpenGL subsystem
- void init();
-
- /// shutdown the OpenGL subsystem
- void shutdown();
-
- /// enum to denote Vertex drawing modes
- enum Primitive {
- Points=GL_POINTS,
- Lines=GL_LINES,
- LineStrip=GL_LINE_STRIP,
- LineLoop=GL_LINE_LOOP,
- Triangles=GL_TRIANGLES,
- TriangleStrip=GL_TRIANGLE_STRIP,
- TriangleFan=GL_TRIANGLE_FAN,
- Quads=GL_QUADS,
- QuadStrip=GL_QUAD_STRIP,
- Polygon=GL_POLYGON
- };
-
- /// glViewPort
- void viewport(GLint x, GLint y, GLsizei width, GLsizei height );
-
- /// set the color used to clear to buffer
- void clearcolor(math::Color const &color);
- void clearcolor(const float r, const float g, const float b, const float a);
-
- /// clear buffers to preset values
- void clear (GLbitfield mask);
-
- /// glMatrixMode
- void matrixmode(GLenum mode);
-
- /// glEnable
- void enable(GLenum cap);
-
- /// glDisable
- void disable(GLenum cap);
-
- /// glShadeModel
- void shademodel(GLenum mode);
-
- /// glCullFace
- void cullface(GLenum mode);
-
- /// glFrontFace
- void frontface(GLenum mode);
-
- /// glDepthMask
- void depthmask(GLenum mode);
-
- /// glBlendFunc
- void blendfunc(GLenum sfactor, GLenum dfactor);
-
- /// Delimite the start of a sequence of verteces describing a primitive or group of primitives
- /** @param primitive The type of drawing primitive
- * @see end()
- */
- void begin(Primitive primitive);
-
- /// delimit the end of a sequence of verteces describing a primitive or group of primitives
- /** @see begin()
- */
- void end();
-
- /// Add the next vertex the the current drawing operation
- /** From the glVertex() description:
- * vertex() commands are used within begin()/end() pairs to specify point,
- * line, and polygon vertices. The current color, normal, and texture
- * coordinates are associated with the vertex when vertex() is called.
- */
- void vertex(const math::Vector3f& vector);
-
- void vertex(const float x, const float y, const float z);
-
- /// multiply the current matrix by a general rotation matrix
- /** @param angle The angle of the rotation, in degrees [0-360]
- * @param vector The rotation axes, relative to the origin (0,0,0)
- */
- void rotate(const float angle, const math::Vector3f& vector);
-
- /// multiply the current matrix by a general rotation matrix
- /** @param angle The angle of the rotation, in degrees
- * @param x The x-coordinate of the rotation vector
- * @param y The y-coordinate of the rotation vector
- * @param z The z-coordinate of the rotation vector
- */
- void rotate(const float angle, const float x, const float y, const float z);
-
- /// multiply the current matrix by a general translation matrix
- /** @param vector The translation vector, relative to the origin (0,0,0)
- */
- void translate(const math::Vector3f& vector);
-
- /// multiply the current matrix by a general translation matrix
- /** @param x The x-coordinate of the translation vector
- * @param y The y-coordinate of the translation vector
- * @param z The z-coordinate of the translation vector
- */
- void translate(const float x, const float y, const float z);
-
- /// multiply the current matrix by a general scaling matrix
- /** @param vector The scale factor for all 3 axes
- */
- void scale(const math::Vector3f& vector);
-
- /// multiply the current matrix by a general scaling matrix
- /** @param x x-scaling factor
- * @param y y-scaling factor
- * @param z z-scaling factor
- */
- void scale(const float x, const float y, const float z);
-
- /// specify the drawing color for the next GL functions
- /** @param color the new drawing color
- */
- void color(math::Color const & color);
-
- /** @param r red value of the new drawing color
- * @param g green value of the new drawing color
- * @param b blue value of the new drawing color
- * @param a alpha value of the new drawing color
- */
- void color(const float r, const float g, const float b, const float a=1.0f);
-
- /// Push the current transformation matrix to the stack
- void push();
-
- /// Replace the transformation matrix with the top from the stack
- void pop();
-
- /// Replace the transformation matrix with the identity matrtix
- void loadidentity();
-
- /// Perspective matrix
- void frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble znear, GLdouble zfar);
-};
-
-#include "gl/box.h"
-#include "gl/sphere.h"
-
-#endif // __INCLUDED_GL_GLLIB_H__