mirror of
https://github.com/Almamu/linux-wallpaperengine.git
synced 2025-09-14 13:56:48 +08:00
Clean up Render/CWeb
This commit is contained in:
parent
39d34440d8
commit
4db6803c5c
@ -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";
|
Loading…
Reference in New Issue
Block a user