diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2008-05-14 11:56:32 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2008-05-14 11:56:32 (GMT) |
commit | aee762191d706d03d5e1a42bf98415466f584bda (patch) | |
tree | 6e0f14bfe36a6d57736f804802b156a979424fa4 /matchblox/C_Environment.cpp | |
parent | d4d35970d88edccdd963e53ea3e11f702e1e2bab (diff) | |
download | 2iv55-aee762191d706d03d5e1a42bf98415466f584bda.zip 2iv55-aee762191d706d03d5e1a42bf98415466f584bda.tar.gz 2iv55-aee762191d706d03d5e1a42bf98415466f584bda.tar.bz2 |
moved stuff around
Diffstat (limited to 'matchblox/C_Environment.cpp')
-rw-r--r-- | matchblox/C_Environment.cpp | 119 |
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(); - -} |