mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Remove dead legacy GL Texture class
texture.hpp / texture.cpp implemented an unfinished OpenGL texture loader (loadFromFile was a TODO stub) that had no callers — the project's texture loading is entirely handled by VkTexture (vk_texture.hpp/cpp) after the Vulkan migration. Remove both files and their CMakeLists entries.
This commit is contained in:
parent
43b9ecd857
commit
b23cf06f1c
3 changed files with 0 additions and 109 deletions
|
|
@ -506,7 +506,6 @@ set(WOWEE_SOURCES
|
||||||
src/rendering/renderer.cpp
|
src/rendering/renderer.cpp
|
||||||
src/rendering/amd_fsr3_runtime.cpp
|
src/rendering/amd_fsr3_runtime.cpp
|
||||||
src/rendering/shader.cpp
|
src/rendering/shader.cpp
|
||||||
src/rendering/texture.cpp
|
|
||||||
src/rendering/mesh.cpp
|
src/rendering/mesh.cpp
|
||||||
src/rendering/camera.cpp
|
src/rendering/camera.cpp
|
||||||
src/rendering/camera_controller.cpp
|
src/rendering/camera_controller.cpp
|
||||||
|
|
@ -620,7 +619,6 @@ set(WOWEE_HEADERS
|
||||||
include/rendering/vk_render_target.hpp
|
include/rendering/vk_render_target.hpp
|
||||||
include/rendering/renderer.hpp
|
include/rendering/renderer.hpp
|
||||||
include/rendering/shader.hpp
|
include/rendering/shader.hpp
|
||||||
include/rendering/texture.hpp
|
|
||||||
include/rendering/mesh.hpp
|
include/rendering/mesh.hpp
|
||||||
include/rendering/camera.hpp
|
include/rendering/camera.hpp
|
||||||
include/rendering/camera_controller.hpp
|
include/rendering/camera_controller.hpp
|
||||||
|
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <GL/glew.h>
|
|
||||||
|
|
||||||
namespace wowee {
|
|
||||||
namespace rendering {
|
|
||||||
|
|
||||||
class Texture {
|
|
||||||
public:
|
|
||||||
Texture() = default;
|
|
||||||
~Texture();
|
|
||||||
|
|
||||||
bool loadFromFile(const std::string& path);
|
|
||||||
bool loadFromMemory(const unsigned char* data, int width, int height, int channels);
|
|
||||||
|
|
||||||
void bind(GLuint unit = 0) const;
|
|
||||||
void unbind() const;
|
|
||||||
|
|
||||||
GLuint getID() const { return textureID; }
|
|
||||||
int getWidth() const { return width; }
|
|
||||||
int getHeight() const { return height; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
GLuint textureID = 0;
|
|
||||||
int width = 0;
|
|
||||||
int height = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Apply anisotropic filtering to the currently bound GL_TEXTURE_2D.
|
|
||||||
* Queries the driver maximum once and caches it. No-op if the extension
|
|
||||||
* is not available.
|
|
||||||
*/
|
|
||||||
void applyAnisotropicFiltering();
|
|
||||||
|
|
||||||
} // namespace rendering
|
|
||||||
} // namespace wowee
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
#include "rendering/texture.hpp"
|
|
||||||
#include "core/logger.hpp"
|
|
||||||
|
|
||||||
// Stub implementation - would use stb_image or similar
|
|
||||||
namespace wowee {
|
|
||||||
namespace rendering {
|
|
||||||
|
|
||||||
Texture::~Texture() {
|
|
||||||
if (textureID) {
|
|
||||||
glDeleteTextures(1, &textureID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Texture::loadFromFile(const std::string& path) {
|
|
||||||
// TODO: Implement with stb_image or BLP loader
|
|
||||||
LOG_WARNING("Texture loading not yet implemented: ", path);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Texture::loadFromMemory(const unsigned char* data, int w, int h, int channels) {
|
|
||||||
width = w;
|
|
||||||
height = h;
|
|
||||||
|
|
||||||
glGenTextures(1, &textureID);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, textureID);
|
|
||||||
|
|
||||||
GLenum format = (channels == 4) ? GL_RGBA : GL_RGB;
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, format, GL_UNSIGNED_BYTE, data);
|
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
|
|
||||||
glGenerateMipmap(GL_TEXTURE_2D);
|
|
||||||
applyAnisotropicFiltering();
|
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Texture::bind(GLuint unit) const {
|
|
||||||
glActiveTexture(GL_TEXTURE0 + unit);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, textureID);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Texture::unbind() const {
|
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void applyAnisotropicFiltering() {
|
|
||||||
static float maxAniso = -1.0f;
|
|
||||||
if (maxAniso < 0.0f) {
|
|
||||||
if (GLEW_EXT_texture_filter_anisotropic) {
|
|
||||||
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAniso);
|
|
||||||
if (maxAniso < 1.0f) maxAniso = 1.0f;
|
|
||||||
} else {
|
|
||||||
maxAniso = 0.0f; // Extension not available
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (maxAniso > 0.0f) {
|
|
||||||
float desired = 16.0f;
|
|
||||||
float clamped = (desired < maxAniso) ? desired : maxAniso;
|
|
||||||
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, clamped);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace rendering
|
|
||||||
} // namespace wowee
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue