From 54ae0b087ab8dcc0171e01b6ff042e5d1d70784e Mon Sep 17 00:00:00 2001 From: Mathieu Duval <9343789@etu.cegepsth.qc.ca> Date: Sat, 16 Sep 2023 00:12:14 -0400 Subject: [PATCH] =?UTF-8?q?PUSH=20-=20Ajout=20section=20=C3=89QUIPEMENT/AR?= =?UTF-8?q?ME=20pour=20le=20HUD.=20+1=20texture=20(gun01.png).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SQCSim2021/engine.cpp | 119 ++++++++++++++++++++-------- SQCSim2021/engine.h | 4 +- SQCSim2021/media/textures/gun01.png | Bin 0 -> 80823 bytes SQCSim2021/player.cpp | 2 +- SQCSim2021/texture.cpp | 13 ++- SQCSim2021/texture.h | 2 +- 6 files changed, 98 insertions(+), 42 deletions(-) create mode 100644 SQCSim2021/media/textures/gun01.png diff --git a/SQCSim2021/engine.cpp b/SQCSim2021/engine.cpp index 9fe2b28..4bebb61 100644 --- a/SQCSim2021/engine.cpp +++ b/SQCSim2021/engine.cpp @@ -61,9 +61,11 @@ void Engine::Init() { void Engine::DeInit() {} void Engine::LoadResource() { - LoadTexture(m_skybox.GetTexture(), TEXTURE_PATH "skybox.png"); - LoadTexture(m_textureCrosshair, TEXTURE_PATH "cross.bmp"); - LoadTexture(m_textureFont, TEXTURE_PATH "font.bmp"); + LoadTexture(m_skybox.GetTexture(), TEXTURE_PATH "skybox.png", true); + LoadTexture(m_textureCrosshair, TEXTURE_PATH "cross.bmp", true); + LoadTexture(m_textureFont, TEXTURE_PATH "font.bmp", true); + LoadTexture(m_textureGun, TEXTURE_PATH "gun01.png", false); + TextureAtlas::TextureIndex texDirtIndex = m_textureAtlas.AddTexture(TEXTURE_PATH "metal3.png"); TextureAtlas::TextureIndex texIceIndex = m_textureAtlas.AddTexture(TEXTURE_PATH "metal2.png"); TextureAtlas::TextureIndex texGrassIndex = m_textureAtlas.AddTexture(TEXTURE_PATH "grass.png"); @@ -115,39 +117,75 @@ void Engine::DisplayCrosshair() { glEnd(); } +void Engine::DisplayCurrentItem() { +} + void Engine::DisplayHud() { glBindTexture(GL_TEXTURE_2D, 0); glLoadIdentity(); - glDisable(GL_BLEND); - float fBarWidth = Width() / 6; + glDisable(GL_BLEND); + + // Barre HP + float fBarWidth = Width() / 4; float fBarHeight = Height() / 25; float fPosX = Width() / 20; - float fPosY = Height() - (Height() - (fBarHeight + fBarHeight + fBarHeight + fBarHeight)); + float fPosY = Height() - (Height() - (fBarHeight * 4)); float playerHp = m_player.GetHP(); + float facteurOmbrage = m_displayInfo ? 0.5f : 1.0f; - glColor3f(1.0f, 1.0f, 1.0f); + // Arrière-plan (Barre HP) + glColor3f(1.0f * facteurOmbrage, 1.0f * facteurOmbrage, 1.0f * facteurOmbrage); glBegin(GL_QUADS); - glVertex2f(fPosX, fPosY - fBarHeight); // Bottom-left - glVertex2f(fPosX + fBarWidth, fPosY - fBarHeight); // Bottom-right - glVertex2f(fPosX + fBarWidth, fPosY); // Top-right - glVertex2f(fPosX, fPosY); // Top-left + glVertex2f(fPosX, fPosY - fBarHeight); // Bas-Gauche + glVertex2f(fPosX + fBarWidth, fPosY - fBarHeight); // Bas-Droite + glVertex2f(fPosX + fBarWidth, fPosY); // Haut-Droite + glVertex2f(fPosX, fPosY); // Haut-Gauche glEnd(); - glColor3f(0.0f, 1.0f, 0.0f); + //TODO: Associer avec méchanique de vie du joueur + + // Barre HP + glColor3f(0.0f * facteurOmbrage, 1.0f * facteurOmbrage, 0.0f * facteurOmbrage); glBegin(GL_QUADS); - glVertex2f(fPosX, fPosY - fBarHeight); // Bottom-left - glVertex2f(fPosX + fBarWidth * playerHp, fPosY - fBarHeight); // Bottom-right - glVertex2f(fPosX + fBarWidth * playerHp, fPosY); // Top-right - glVertex2f(fPosX, fPosY); // Top-left + glVertex2f(fPosX, fPosY - fBarHeight); // Bas-Gauche + glVertex2f(fPosX + fBarWidth * playerHp, fPosY - fBarHeight); // Bas-Droite + glVertex2f(fPosX + fBarWidth * playerHp, fPosY); // Haut-Droite + glVertex2f(fPosX, fPosY); // Haut-Gauche glEnd(); + + // Barre équip glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glColor3f(1.0f * facteurOmbrage, 1.0f * facteurOmbrage, 1.0f * facteurOmbrage); + m_textureGun.Bind(); + + float margin = Width() * 0.05; + float itemWidth = Width() * 0.33; + float itemHeight = itemWidth / 2.208; + float startX = Width() - itemWidth - margin; + float startY = margin; + + glTranslated(startX, startY, 0); + + glBegin(GL_QUADS); + glTexCoord2f(1, 0); glVertex2i(0, 0); + glTexCoord2f(0, 0); glVertex2i(itemWidth, 0); + glTexCoord2f(0, 1); glVertex2i(itemWidth, itemHeight); + glTexCoord2f(1, 1); glVertex2i(0, itemHeight); + glEnd(); + + glDisable(GL_BLEND); + + // Username + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE); - m_textureFont.Bind(); glColor3f(1.0f, 1.0f, 1.0f); - std::ostringstream ss; - float scale = 1.5f; unsigned int x = Width() / 20; unsigned int y = Height() - (Height() - 85); + float scale = 1.5f; + m_textureFont.Bind(); + std::ostringstream ss; ss << m_player.GetUsername(); PrintText(x, y, scale, ss.str()); } @@ -156,8 +194,10 @@ void Engine::DisplayInfo(float elapsedTime, BlockType bloc) { // Bind de la texture pour le font m_textureFont.Bind(); std::ostringstream ss; + float scale = 1.0f; unsigned int x = Width() / 25; + ss << " Fps : " << GetFps(elapsedTime); PrintText(x, Height() - 25, scale, ss.str()); ss.str(""); @@ -177,43 +217,54 @@ void Engine::DisplayInfo(float elapsedTime, BlockType bloc) { PrintText(x, 30, scale, ss.str()); ss.str(""); ss << " Block : "; + if (bloc == BTYPE_LAST) ss << "Weapon."; else ss << (int)bloc; + PrintText(x, 40, scale, ss.str()); } void Engine::DrawHud(float elapsedTime, BlockType bloc) { - // Setter le blend function , tout ce qui sera noir sera transparent + // Setter le blend function, tout ce qui sera noir sera transparent glDisable(GL_STENCIL_TEST); + glDisable(GL_DEPTH_TEST); + glBlendFunc(GL_SRC_ALPHA, GL_ONE); glBlendEquation(GL_FUNC_ADD); - glDisable(GL_DEPTH_TEST); + glMatrixMode(GL_PROJECTION); glPushMatrix(); + glLoadIdentity(); glOrtho(0, Width(), 0, Height(), -1, 1); + glMatrixMode(GL_MODELVIEW); glPushMatrix(); - if (m_displayHud) { - DisplayHud(); - } if (m_displayInfo) { DisplayInfo(elapsedTime, bloc); } + if (m_displayHud) { + DisplayHud(); + } + if (m_displayCrosshair) { DisplayCrosshair(); } + // Reset du blend function glBlendFunc(GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR); glBlendEquation(GL_FUNC_SUBTRACT); - glEnable(GL_DEPTH_TEST); + glEnable(GL_STENCIL_TEST); + glEnable(GL_DEPTH_TEST); + glMatrixMode(GL_PROJECTION); glPopMatrix(); + glMatrixMode(GL_MODELVIEW); glPopMatrix(); } @@ -221,19 +272,17 @@ void Engine::DrawHud(float elapsedTime, BlockType bloc) { void Engine::PrintText(unsigned int x, unsigned int y, float scale, const std::string& t) { glLoadIdentity(); glTranslated(x, y, 0); + for (unsigned int i = 0; i < t.length(); ++i) { float left = (float)((t[i] - 32) % 16) / 16.f; float top = (float)((t[i] - 32) / 16) / 16.f; top += .5f; + glBegin(GL_QUADS); - glTexCoord2f(left, 1.f - top - .0625f); - glVertex2f(0, 0); - glTexCoord2f(left + .0625f, 1.f - top - .0625f); - glVertex2f(12, 0); - glTexCoord2f(left + .0625f, 1.f - top); - glVertex2f(12, 12); - glTexCoord2f(left, 1.f - top); - glVertex2f(0, 12); + glTexCoord2f(left, 1.f - top - .0625f); glVertex2f(0, 0); + glTexCoord2f(left + .0625f, 1.f - top - .0625f); glVertex2f(12, 0); + glTexCoord2f(left + .0625f, 1.f - top); glVertex2f(12, 12); + glTexCoord2f(left, 1.f - top); glVertex2f(0, 12); glEnd(); glTranslated(8, 0, 0); @@ -493,8 +542,8 @@ void Engine::MouseReleaseEvent(const MOUSE_BUTTON& button, int x, int y) { } } -bool Engine::LoadTexture(Texture& texture, const std::string& filename, bool stopOnError) { - texture.Load(filename); +bool Engine::LoadTexture(Texture& texture, const std::string& filename, bool useMipmaps, bool stopOnError) { + texture.Load(filename, useMipmaps); if (!texture.IsValid()) { std::cerr << "Unable to load texture (" << filename << ")" << std::endl; if (stopOnError) diff --git a/SQCSim2021/engine.h b/SQCSim2021/engine.h index 6f3765f..19013e0 100644 --- a/SQCSim2021/engine.h +++ b/SQCSim2021/engine.h @@ -31,8 +31,9 @@ public: virtual void MouseReleaseEvent(const MOUSE_BUTTON &button, int x, int y); private: - bool LoadTexture(Texture& texture, const std::string& filename, bool stopOnError = true); + bool LoadTexture(Texture& texture, const std::string& filename, bool useMipmaps = true, bool stopOnError = true); void DisplayCrosshair(); + void DisplayCurrentItem(); void DisplayHud(); void DisplayInfo(float elapsedTime, BlockType bloc); void DrawHud(float elapsedTime, BlockType bloc); @@ -53,6 +54,7 @@ private: Texture m_textureSkybox; Texture m_textureFont; Texture m_textureCrosshair; + Texture m_textureGun; Skybox m_skybox; Audio m_audio = Audio(AUDIO_PATH "start.wav"); diff --git a/SQCSim2021/media/textures/gun01.png b/SQCSim2021/media/textures/gun01.png new file mode 100644 index 0000000000000000000000000000000000000000..c7b701a07327601f37d01e8487557975d68f1180 GIT binary patch literal 80823 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 a2LBS+uAZtjRw+tj!BUo2mn)Mo3HTpKUiBIP literal 0 HcmV?d00001 diff --git a/SQCSim2021/player.cpp b/SQCSim2021/player.cpp index b795ce0..df1c663 100644 --- a/SQCSim2021/player.cpp +++ b/SQCSim2021/player.cpp @@ -4,7 +4,7 @@ Player::Player(const Vector3f& position, float rotX, float rotY) : m_position(position), m_rotX(rotX), m_rotY(rotY) { m_velocity = Vector3f(0, 0, 0); m_airborne = true; - m_hp = 0.75f; + m_hp = 0.75f; //TODO: Remettre à 1.0f m_username = "Zelda Bee-Bop"; } diff --git a/SQCSim2021/texture.cpp b/SQCSim2021/texture.cpp index f7d98b5..cea4a2a 100644 --- a/SQCSim2021/texture.cpp +++ b/SQCSim2021/texture.cpp @@ -13,8 +13,7 @@ Texture::~Texture() glDeleteTextures(1, &m_textureId); } - -bool Texture::Load(const std::string& filename) +bool Texture::Load(const std::string& filename, bool useMipMaps) { // Initialize Devil only once: static bool alreadyInitialized = false; @@ -42,8 +41,14 @@ bool Texture::Load(const std::string& filename) glGenTextures(1, &m_textureId); glBindTexture(GL_TEXTURE_2D, m_textureId); - gluBuild2DMipmaps(GL_TEXTURE_2D, 4, ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE, ilGetData()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + if (useMipMaps) { + gluBuild2DMipmaps(GL_TEXTURE_2D, 4, ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE, ilGetData()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + } + else { + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), 0, ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE, ilGetData()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + } glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); ilDeleteImages(1, &texid); diff --git a/SQCSim2021/texture.h b/SQCSim2021/texture.h index 6e88180..1a37395 100644 --- a/SQCSim2021/texture.h +++ b/SQCSim2021/texture.h @@ -11,7 +11,7 @@ public: Texture(const std::string& filename = ""); ~Texture(); - bool Load(const std::string& filename); + bool Load(const std::string& filename, bool useMipMaps = true); bool IsValid() const; void Bind() const;