mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-07 19:58:32 +09:00
93 lines
4.5 KiB
C++
93 lines
4.5 KiB
C++
//
|
|
// Created by BZLZHH on 2025/3/15.
|
|
//
|
|
|
|
#include "GL_Texture.h"
|
|
|
|
namespace MG_GL::GL {
|
|
void ActiveTexture(GLenum texture) {
|
|
MG_Util::Debug::LogD("glActiveTexture, texture: %d", texture);
|
|
GLenum result = MG_State::BindTextureUnit(texture);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void BindTexture(GLenum target, GLuint texture) {
|
|
MG_Util::Debug::LogD("glBindTexture, target: %d, texture: %d", target, texture);
|
|
GLenum result = MG_State::BindTexture(target, texture);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void DeleteTextures(GLsizei n, const GLuint* textures) {
|
|
MG_Util::Debug::LogD("glDeleteTextures, n: %d, textures: %p", n, textures);
|
|
GLenum result = MG_State::DeleteTextures(n, textures);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void GenTextures(GLsizei n, GLuint* textures) {
|
|
MG_Util::Debug::LogD("glGenTextures, n: %d, textures: %p", n, textures);
|
|
GLenum result = MG_State::CreateTextures(n, textures);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void TexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border,
|
|
GLenum format, GLenum type, const void* data) {
|
|
MG_Util::Debug::LogD("glTexImage2D, target: %d, level: %d, internalFormat: %d, width: %d, height: %d, format: %d, type: %d, data: %p",
|
|
target, level, internalFormat, width, height, format, type, data);
|
|
GLenum result = MG_State::UploadTexture2D(target, level, internalFormat, width, height, border, format, type, data);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void TexParameterf(GLenum target, GLenum pname, GLfloat param) {
|
|
MG_Util::Debug::LogD("glTexParameterf, target: %d, pname: %d, param: %f", target, pname, param);
|
|
GLenum result = MG_State::SetTexturePropertyFloat(target, pname, param);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void TexParameteri(GLenum target, GLenum pname, GLint param) {
|
|
MG_Util::Debug::LogD("glTexParameteri, target: %d, pname: %d, param: %d", target, pname, param);
|
|
GLenum result = MG_State::SetTexturePropertyInt(target, pname, param);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
|
|
GLsizei height, GLenum format, GLenum type, const void* pixels) {
|
|
MG_Util::Debug::LogD("glTexSubImage2D, target: %d, level: %d, xoffset: %d, yoffset: %d, width: %d, height: %d, format: %d, type: %d, pixels: %p",
|
|
target, level, xoffset, yoffset, width, height, format, type, pixels);
|
|
GLenum result = MG_State::UpdateTextureRegion2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
|
|
void GetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params) {
|
|
MG_Util::Debug::LogD("glGetTexLevelParameteriv, target: %d, level: %d, pname: %d, params: %p",
|
|
target, level, pname, params);
|
|
GLenum result = MG_State::QueryTextureLevelPropertyIntVector(target, level, pname, params);
|
|
if (result == GL_NO_ERROR)
|
|
return;
|
|
MG_State::SetError(result);
|
|
MG_Util::Debug::LogE("Error from MG State: %s", MG_Util::Debug::GLEnumToString(result));
|
|
}
|
|
} |