mirror of
https://github.com/TheRedShip/RT_GPU.git
synced 2025-09-27 10:48:34 +02:00
+ | Fixing texture limit on old gpu
This commit is contained in:
@ -47,8 +47,13 @@ int main(int argc, char **argv)
|
||||
//6 light_accum
|
||||
//7 color
|
||||
|
||||
|
||||
|
||||
ShaderProgram raytracing_program;
|
||||
Shader compute = Shader(GL_COMPUTE_SHADER, "shaders/compute.glsl");
|
||||
int maxTextureUnits; glGetIntegerv(GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS, &maxTextureUnits);
|
||||
compute.setDefine("TEXTURE_MAX", std::to_string(maxTextureUnits / 2));
|
||||
compute.reload();
|
||||
raytracing_program.attachShader(&compute);
|
||||
raytracing_program.link();
|
||||
|
||||
|
@ -129,7 +129,7 @@ void ShaderProgram::set_textures(std::map<std::string, std::vector<GLuint>> text
|
||||
}
|
||||
}
|
||||
|
||||
void ShaderProgram::set_define(const std::string &name, const std::string &value)
|
||||
void ShaderProgram::setDefine(const std::string &name, const std::string &value)
|
||||
{
|
||||
for (Shader *shader : _shaders)
|
||||
shader->setDefine(name, value);
|
||||
|
@ -262,7 +262,7 @@ void Window::imGuiRender(ShaderProgram &raytracing_program)
|
||||
{
|
||||
if (ImGui::Checkbox("Enable##0", (bool *)(&_scene->getVolume().enabled)))
|
||||
{
|
||||
raytracing_program.set_define("FOG", std::to_string(_scene->getVolume().enabled));
|
||||
raytracing_program.setDefine("FOG", std::to_string(_scene->getVolume().enabled));
|
||||
raytracing_program.reloadShaders();
|
||||
has_changed = true;
|
||||
}
|
||||
@ -300,7 +300,7 @@ void Window::imGuiRender(ShaderProgram &raytracing_program)
|
||||
{
|
||||
if (ImGui::Checkbox("Enable##2", (bool *)(&_scene->getDebug().enabled)))
|
||||
{
|
||||
raytracing_program.set_define("DEBUG", std::to_string(_scene->getDebug().enabled));
|
||||
raytracing_program.setDefine("DEBUG", std::to_string(_scene->getDebug().enabled));
|
||||
raytracing_program.reloadShaders();
|
||||
has_changed = true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user