summaryrefslogtreecommitdiffstats
path: root/matchblox/C_Environment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'matchblox/C_Environment.cpp')
-rw-r--r--matchblox/C_Environment.cpp119
1 files changed, 0 insertions, 119 deletions
diff --git a/matchblox/C_Environment.cpp b/matchblox/C_Environment.cpp
deleted file mode 100644
index 0c7cbfd..0000000
--- a/matchblox/C_Environment.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-#include <GL/glut.h>
-#include <string>
-#include <iostream>
-
-#include "bitmap.h"
-#include "C_Environment.h"
-
-#ifndef GL_CLAMP_TO_EDGE
-#define GL_CLAMP_TO_EDGE 0x812F
-#endif //GL_CLAMP_TO_EDGE
-
-using namespace std;
-
-C_Environment::C_Environment(const char *f_strEnvMapBaseName,
- double f_dDistance)
- : m_dDist(f_dDistance)
-{
- string l_strBase = f_strEnvMapBaseName,
- l_strFilename;
- const char *l_suffix[] = { "negative_x.bmp",
- "negative_y.bmp",
- "negative_z.bmp",
- "positive_x.bmp",
- "positive_y.bmp",
- "positive_z.bmp"
- };
-
- BitmapStruct l_bmp;
-
- //load textures
- for (int i=0; i<6; i++)
- {
- l_strFilename = l_strBase + l_suffix[i];
- l_bmp = BitmapLoad((char*)l_strFilename.c_str());
- m_uiFaceTex[i] = (GLuint)l_bmp.m_iImageId;
-
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-
- }
-}
-
-C_Environment::~C_Environment()
-{
- glDeleteTextures(6, m_uiFaceTex);
-}
-
-void C_Environment::Render()
-{
- double l_Vertices[8][3] =
- { { -m_dDist, -m_dDist, m_dDist },
- { m_dDist, -m_dDist, m_dDist },
- { m_dDist, -m_dDist, -m_dDist },
- { -m_dDist, -m_dDist, -m_dDist },
- { -m_dDist, m_dDist, m_dDist },
- { m_dDist, m_dDist, m_dDist },
- { m_dDist, m_dDist, -m_dDist },
- { -m_dDist, m_dDist, -m_dDist } };
-
-
- //init render settings for rendering of the environment
- //mapped cube
-
- glPushAttrib(GL_TEXTURE_BIT | GL_ENABLE_BIT);
-
- //no lighting
- glDisable(GL_LIGHTING);
- //enable texturing
- glEnable(GL_TEXTURE_2D);
- glTexEnvf(GL_TEXTURE_2D, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- //neg x (left)
- glBindTexture(GL_TEXTURE_2D, m_uiFaceTex[0]);
- RenderFace(l_Vertices, 3, 0, 4, 7);
-
- //neg y (down)
- glBindTexture(GL_TEXTURE_2D, m_uiFaceTex[1]);
- RenderFace(l_Vertices, 3, 2, 1, 0);
-
- //nez z (front)
- glBindTexture(GL_TEXTURE_2D, m_uiFaceTex[2]);
- RenderFace(l_Vertices, 2, 3, 7, 6);
-
- //pos x (right)
- glBindTexture(GL_TEXTURE_2D, m_uiFaceTex[3]);
- RenderFace(l_Vertices, 1, 2, 6, 5);
-
- //pos y (top)
- glBindTexture(GL_TEXTURE_2D, m_uiFaceTex[4]);
- RenderFace(l_Vertices, 4, 5, 6, 7);
-
- //pos z (back)
- glBindTexture(GL_TEXTURE_2D, m_uiFaceTex[5]);
- RenderFace(l_Vertices, 0, 1, 5, 4);
-
- glPopAttrib();
-}
-
-void C_Environment::RenderFace(double f_verts[8][3],
- int f_v00, int f_v10,
- int f_v11, int f_v01)
-{
- //render textured quad in counter clockwise order
- glBegin(GL_QUADS);
- glTexCoord2i(0,0);
- glVertex3dv(f_verts[f_v00]);
-
- glTexCoord2i(1,0);
- glVertex3dv(f_verts[f_v10]);
-
- glTexCoord2i(1,1);
- glVertex3dv(f_verts[f_v11]);
-
- glTexCoord2i(0,1);
- glVertex3dv(f_verts[f_v01]);
- glEnd();
-
-}