[Feat] (ProgramState): Implement automatic GLSL uniform management.

- Add SPIRV-Cross/glslang integration for uniform reflection.
- Auto-detect and assign locations for uniforms/samplers.
- Support most types of uniform.
- Implement glUniform* functions with type safety.
- Add MG_Util::Program:
  - GLSL-SPIRV conversion
  - SPIRV uniform reflection
  - Program uniform dumping
This commit is contained in:
BZLZHH
2025-05-03 22:50:41 +08:00
parent dc5f74cdb9
commit 383ec85400
16 changed files with 1696 additions and 171 deletions
+16
View File
@@ -0,0 +1,16 @@
//
// Created by BZLZHH on 2025/5/3.
//
#ifndef MOBILEGL_PROGRAM_DEBUGTOOL_H
#define MOBILEGL_PROGRAM_DEBUGTOOL_H
#include "../../Includes.h"
namespace MG_Util::Program {
std::string GLTypeToString(GLenum type);
std::string FormatUniformValue(const UniformValue& value);
void DumpUniforms(const ProgramState& state, GLuint program);
void DumpCurrentUniforms(const ProgramState& state);
}
#endif //MOBILEGL_PROGRAM_DEBUGTOOL_H