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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≪3?6ZB|YE>_l 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 GGywoeUiBIP 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;