Clean up Render/CWeb

This commit is contained in:
Pasalc 2024-01-06 19:18:50 +03:00
parent 39d34440d8
commit 4db6803c5c

View File

@ -87,119 +87,12 @@ CWeb::~CWeb(){
m_browser->GetHost()->CloseBrowser(true);
}
//TODO Remove
GLuint compileShaderFromCode(GLenum shader_type, const char *src)
{
GLuint shader = glCreateShader(shader_type);
glShaderSource(shader, 1, &src, NULL);
glCompileShader(shader);
GLint status;
glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
if (status == GL_TRUE) {
return shader;
}
// shader compile fail!
fprintf(stderr, "SHADER COMPILE ERROR\n");
GLint info_len = 0;
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &info_len);
if (info_len > 1) {
char *info_log = (char*)malloc(sizeof(char) * info_len);
glGetShaderInfoLog(shader, info_len, NULL, info_log);
fprintf(stderr, "Error compiling shader: \n%s\n", info_log);
free(info_log);
}
glDeleteShader(shader);
return 0;
}
GLuint createShaderProgram(GLuint vert, GLuint frag)
{
GLuint program = glCreateProgram();
glAttachShader(program, vert);
glAttachShader(program, frag);
glLinkProgram(program);
glDetachShader(program, vert);
glDetachShader(program, frag);
GLint linked;
glGetProgramiv(program, GL_LINK_STATUS, &linked);
if (linked) {
return program;
}
// fail...
GLint info_len = 0;
glGetProgramiv(program, GL_INFO_LOG_LENGTH, &info_len);
if (info_len > 1) {
char *info_log = (char*)malloc(sizeof(char) * info_len);
glGetProgramInfoLog(program, info_len, NULL, info_log);
fprintf(stderr, "Error linking program: \n%s\n", info_log);
free(info_log);
}
glDeleteProgram(program);
return 0;
}
CWeb::RenderHandler::RenderHandler(CWeb* webdata):
m_webdata(webdata)
{
// m_prog = GLCore::createShaderProgram("shaders/tex.vert", "shaders/tex.frag");
//GLuint vertShader = compileShaderFromFile(GL_VERTEX_SHADER, vert);
// const char *vertCode = R"(
// #version 150
// uniform mat4 mvp;
// in vec2 position;
// out vec2 Texcoord;
// void main() {
// Texcoord = (vec2(position.x + 1.0f, position.y - 1.0f) * 0.5);
// Texcoord.y *= -1.0f;
// gl_Position = mvp * vec4(position.x, position.y, 0.0f, 1.0f);
// })";
// GLuint vertShader = compileShaderFromCode(GL_VERTEX_SHADER, vertCode);
// const char *fragCode = R"(
// #version 150
// in vec2 Texcoord;
// out vec4 outputColor;
// uniform sampler2D tex;
// void main() {
// outputColor = texture2D(tex, Texcoord);
// if (outputColor.a < 0.1)
// {
// discard;
// }
// }
// )";
// GLuint fragShader = compileShaderFromCode(GL_FRAGMENT_SHADER, fragCode);
// if (vertShader == 0 || fragShader == 0) {
// sLog.exception("Can't compile vert or frag shader in Web");
// }
// this->m_prog = createShaderProgram(vertShader, fragShader);
// if(this->m_prog==0){
// sLog.exception("Can't create program from shaders in Web");
// }
}
CWeb::RenderHandler::~RenderHandler(){
// glDeleteProgram(this->m_prog);
// glDeleteBuffers(1, &this->m_vbo);
// glDeleteVertexArrays(1, &this->m_vao);
}
//Required by CEF
void CWeb::RenderHandler::GetViewRect(CefRefPtr<CefBrowser> browser, CefRect &rect)
@ -217,12 +110,6 @@ void CWeb::RenderHandler::OnPaint(CefRefPtr<CefBrowser> browser, PaintElementTyp
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_BGRA_EXT,
GL_UNSIGNED_BYTE, (unsigned char*)buffer);
glBindTexture(GL_TEXTURE_2D, 0);
// GLCHECK(glActiveTexture(GL_TEXTURE0));
// GLCHECK(glBindTexture(GL_TEXTURE_2D, this->texture()));
// GLCHECK(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_BGRA_EXT,
// GL_UNSIGNED_BYTE, (unsigned char*)buffer));
// GLCHECK(glBindTexture(GL_TEXTURE_2D, 0));
}
const std::string CWeb::Type = "web";