engineer-thesis-WUT/Engine/engine/textures.hpp

39 lines
1.9 KiB
C++

// "Copyright [2023] <Krzysztof Rudnicki>"
#ifndef TEXTURES_HPP
#define TEXTURES_HPP
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
void setTextureParametersINT(const GLenum textureTarget = GL_TEXTURE_2D,
const GLint sCoordinateOption = GL_REPEAT,
const GLint tCoordinateOption = GL_REPEAT,
const GLint rCoordinateOption = GL_REPEAT,
const float* borderColor = NULL);
void setTextureSCoordinate(const GLenum textureTarget = GL_TEXTURE_2D,
const GLint sCoordinateOption = GL_REPEAT,
const float* borderColor = NULL);
void setTextureTCoordinate(const GLenum textureTarget = GL_TEXTURE_2D,
const GLint tCoordinateOption = GL_REPEAT,
const float* borderColor = NULL);
void setTextureRCoordinate(const GLenum textureTarget = GL_TEXTURE_3D,
const GLint rCoordinateOption = GL_REPEAT,
const float* borderColor = NULL);
void setTextureFilteringAndMipMap(
const GLenum textureTarget = GL_TEXTURE_2D,
const GLenum filterType = GL_TEXTURE_MAG_FILTER,
const GLint textureFilteringMethod = GL_NEAREST,
const GLint mipMapFilteringMethod = GL_NEAREST_MIPMAP_NEAREST);
unsigned int generateAndBindTexture(const GLenum textureTarget);
// const char* texturePath, int textureWidth, int textureHeight, int
// colorChannels, const GLenum textureTarget, const GLint sCoordinateOption,
// const GLint tCoordinateOption, const GLint rCoordinateOption, const float*
// borderColor
unsigned int loadAndCreateTexture(const char* texturePath, bool flipImage);
void activateAndBindTextures(unsigned int texture, GLenum textureNumber);
unsigned int loadAndBindTextureFile(unsigned int texture,
const char* texturePath, bool flipImage);
#endif // TEXTURES_HPP