mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:38:10 +00:00
LibGL+LibSoftGPU: Move lighting model parameters to SoftGPU
Most of the T&L stuff is, like on an actual GPU, now done inside of LibSoftGPU. As such, it no longer makes sense to have specific values like the scene ambient color inside of LibGL as part of the GL context. These have now been moved into LibSoftGPU and use the same pattern as the render options to set/get.
This commit is contained in:
parent
92373ab0b6
commit
775ef000e0
4 changed files with 29 additions and 4 deletions
|
@ -2684,17 +2684,25 @@ void SoftwareGLContext::gl_light_model(GLenum pname, GLfloat x, GLfloat y, GLflo
|
|||
|| pname == GL_LIGHT_MODEL_TWO_SIDE),
|
||||
GL_INVALID_ENUM);
|
||||
|
||||
auto lighting_params = m_rasterizer.light_model();
|
||||
bool update_lighting_model = false;
|
||||
|
||||
switch (pname) {
|
||||
case GL_LIGHT_MODEL_AMBIENT:
|
||||
m_light_model_ambient = { x, y, z, w };
|
||||
lighting_params.scene_ambient_color = { x, y, z, w };
|
||||
update_lighting_model = true;
|
||||
break;
|
||||
case GL_LIGHT_MODEL_TWO_SIDE:
|
||||
VERIFY(y == 0.0f && z == 0.0f && w == 0.0f);
|
||||
m_light_model_two_side = x;
|
||||
lighting_params.two_sided_lighting = x;
|
||||
update_lighting_model = true;
|
||||
break;
|
||||
default:
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
if (update_lighting_model)
|
||||
m_rasterizer.set_light_model_params(lighting_params);
|
||||
}
|
||||
|
||||
void SoftwareGLContext::gl_bitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, GLubyte const* bitmap)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue