diff --git a/example/main.cpp b/example/main.cpp index a589260..fd68134 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -36,30 +36,30 @@ void manage_inputs() if (InputStatus::is_special_key_pressed(GLUT_KEY_RIGHT)) { timer_ticks += 5; - OGLE::camera.local_translate({0, 0, 0.1}); + OGLE::camera.translate({0,0,0.1}); } if (InputStatus::is_special_key_pressed(GLUT_KEY_LEFT)) { timer_ticks -= 5; - OGLE::camera.local_translate({0, 0, -0.1}); + OGLE::camera.translate({0,0,-0.1}); } if (InputStatus::is_key_pressed(' ')) { - OGLE::camera.local_translate({0, 0.1, 0}); + OGLE::camera.translate({0,0.1,0}); } if (InputStatus::is_special_key_pressed(GLUT_KEY_PAGE_DOWN)) { - OGLE::camera.local_translate({0, -0.1, 0}); + OGLE::camera.translate({0,-0.1,0}); } if (InputStatus::is_special_key_pressed(GLUT_KEY_UP)) { - OGLE::camera.local_translate({0.1, 0, 0}); + OGLE::camera.translate({0.1,0,0}); } if (InputStatus::is_special_key_pressed(GLUT_KEY_DOWN)) { - OGLE::camera.local_translate({-0.1, 0, 0}); + OGLE::camera.translate({-0.1,0,0}); } // Get mouse delta since last frame @@ -103,9 +103,17 @@ int main(int argc, char** argv) // Load and generate tree texture tree_texture.load_rgba_tga("resources/arbre.tga","resources/arbre_masque.tga"); + glGenTextures(1,tree_texture.opengl_id); + // TODO : Put in the Texture class + glBindTexture(GL_TEXTURE_2D,tree_texture.opengl_id[0]); + gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGBA8,tree_texture.width,tree_texture.height,GL_RGBA,GL_UNSIGNED_BYTE,tree_texture.image_data); // Load and generate raptor texture raptor_texture.load_rgb_tga("resources/RAPTOR.tga"); + glGenTextures(1, raptor_texture.opengl_id); + // TODO : Put in the Texture class + glBindTexture(GL_TEXTURE_2D, raptor_texture.opengl_id[0]); + gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB8, raptor_texture.width, raptor_texture.height, GL_RGB, GL_UNSIGNED_BYTE, raptor_texture.image_data); // Load raptor model raptor.load_ascii_off_file("resources/RAPTOR.off"); diff --git a/example/resources/RAPTOR.off b/resources/RAPTOR.off similarity index 100% rename from example/resources/RAPTOR.off rename to resources/RAPTOR.off diff --git a/example/resources/RAPTOR.tga b/resources/RAPTOR.tga similarity index 100% rename from example/resources/RAPTOR.tga rename to resources/RAPTOR.tga diff --git a/example/resources/arbre.tga b/resources/arbre.tga similarity index 100% rename from example/resources/arbre.tga rename to resources/arbre.tga diff --git a/example/resources/arbre_masque.tga b/resources/arbre_masque.tga similarity index 100% rename from example/resources/arbre_masque.tga rename to resources/arbre_masque.tga diff --git a/src/Camera.cpp b/src/Camera.cpp index ea51a3a..f1d66b9 100644 --- a/src/Camera.cpp +++ b/src/Camera.cpp @@ -17,11 +17,7 @@ Camera::Camera(const Vec3d& eye_pos, const Vec3d& look_direction, const Vec3d& u compute_base_change(); } -void Camera::translate(const Vec3d &translation) { - eye = eye + translation; -} - -void Camera::local_translate(const Vec3d& translation) +void Camera::translate(const Vec3d& translation) { eye = eye + translation * rotation_quaternion; } @@ -59,21 +55,6 @@ void Camera::set_position(const Vec3d& eye_pos) gaze = eye_pos; } -const Vec3d& Camera::get_eyepos() const -{ - return eye; -} - -const Vec3d& Camera::get_gaze() const -{ - return gaze; -} - -const Vec3d& Camera::get_gazeup() const -{ - return gaze_up; -} - void Camera::compute_base_change() { // Third vector of the base, should already be normalized diff --git a/src/Camera.h b/src/Camera.h index d05cdc1..b6f1c38 100644 --- a/src/Camera.h +++ b/src/Camera.h @@ -15,12 +15,9 @@ class Camera { public: Camera(const Vec3d& eye_pos,const Vec3d& look_direction,const Vec3d& up_vector); - /// Translates the camera according to the world axises. - /// \param translation Translation in the world coordinates system. - void translate(const Vec3d& translation); /// Translates the camera relative to its current position and look direction. /// \param translation Translation where x is pointing in the direction of vision. - void local_translate(const Vec3d& translation); + void translate(const Vec3d& translation); /// Rotates the gaze around its local x and z but around global y, relatively to the current orientation. /// This is to provide a coherent movement in regards to mouse movement. /// \param rotation Angles are radians to rotate about each axis. @@ -30,10 +27,6 @@ public: void look(); void set_position(const Vec3d& eye_pos); - - const Vec3d& get_eyepos() const; - const Vec3d& get_gaze() const; - const Vec3d& get_gazeup() const; private: Vec3d eye; Vec3d gaze; diff --git a/src/DataHandling/Texture.cpp b/src/DataHandling/Texture.cpp index 4f64c7b..003d030 100644 --- a/src/DataHandling/Texture.cpp +++ b/src/DataHandling/Texture.cpp @@ -73,7 +73,6 @@ bool Texture::load_rgb_tga(const std::string& rgb_filename) { bool return_value = load_tga(rgb_filename,image_data); invert_channels(0,2); - generate_texture(); return return_value; } @@ -118,25 +117,9 @@ bool Texture::load_rgba_tga(const std::string& rgb_filename, const std::string& // Now we have an RGBA image, update color_bits color_bits = 32; - invert_channels(0,2); - generate_texture(); return true; } -void Texture::generate_texture() -{ - glGenTextures(1,opengl_id); - glBindTexture(GL_TEXTURE_2D,opengl_id[0]); - if (color_bits == 24) - { - gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB8,width,height,GL_RGB,GL_UNSIGNED_BYTE,image_data); - } - else if (color_bits == 32) - { - gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGBA8,width,height,GL_RGBA,GL_UNSIGNED_BYTE,image_data); - } -} - void Texture::invert_channels(uint8_t first_channel, uint8_t second_channel) { uint8_t increment = color_bits/8; diff --git a/src/DataHandling/Texture.h b/src/DataHandling/Texture.h index 0eed6d6..d0c791e 100644 --- a/src/DataHandling/Texture.h +++ b/src/DataHandling/Texture.h @@ -33,9 +33,6 @@ private: /// Load and RGB TGA image file to an array bool load_tga(const std::string& filename, uint8_t*& data_array); - /// Initialize the texture for OpenGL - void generate_texture(); - void invert_channels(uint8_t first_channel,uint8_t second_channel); };