ported the University CGI demo from WINDOWS + GLUT + GLEW + GLU + OpenGL 4 to LINUX WAYLAND + EGL + GLES 2 with minimal cuts

This commit is contained in:
beno
2025-07-03 01:26:25 +02:00
commit 6c125fb35e
85 changed files with 91688 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
#ifndef TEXMERGER_H
#define TEXMERGER_H
/*
#include <GL/glew.h>
*/
#include <GLES2/gl2.h>
#include <vector>
class TexMerger {
private:
GLuint program;
GLuint* mergeBuffers;
std::vector<bool> usageMap;
GLuint FBO;
GLuint quadVAO, vertVBO;
GLuint shaderTex1Id, shaderTex2Id;
int bufCount;
GLuint reserveBuffer();
bool isBuffer(GLuint number);
void freeBuffer(GLuint number);
GLfloat quadVerts[18] = {
-1.0f, -1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
-1.0f, 1.0f, -1.0f,
-1.0f, 1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
1.0f, 1.0f, -1.0f
};
public:
TexMerger(GLuint texCount, unsigned int texWidth, unsigned int texHeight);
GLuint merge(std::vector<GLuint> inTextures, int startIndex, int endIndex);
};
#endif // !TEXMERGER_H