mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-16 21:04:20 +00:00
LibGL+LibSoftGPU: Pass along lighting flag to Software GPU
This was currently only set in the OpenGL context, as the previous architecture did all of the transformation in LibGL before passing the transformed triangles onto the rasterizer. As this has now changed, and we require the vertex data to be in eye-space before we can apply lighting, we need to pass this flag along as well via the GPU options.
This commit is contained in:
parent
775ef000e0
commit
4035532ee8
|
@ -668,6 +668,8 @@ void SoftwareGLContext::gl_enable(GLenum capability)
|
|||
break;
|
||||
case GL_LIGHTING:
|
||||
m_lighting_enabled = true;
|
||||
rasterizer_options.lighting_enabled = true;
|
||||
update_rasterizer_options = true;
|
||||
break;
|
||||
case GL_NORMALIZE:
|
||||
m_normalize = true;
|
||||
|
@ -762,6 +764,8 @@ void SoftwareGLContext::gl_disable(GLenum capability)
|
|||
break;
|
||||
case GL_LIGHTING:
|
||||
m_lighting_enabled = false;
|
||||
rasterizer_options.lighting_enabled = false;
|
||||
update_rasterizer_options = true;
|
||||
break;
|
||||
case GL_LIGHT0:
|
||||
case GL_LIGHT1:
|
||||
|
|
|
@ -69,6 +69,7 @@ struct RasterizerOptions {
|
|||
u8 texcoord_generation_enabled_coordinates { TexCoordGenerationCoordinate::None };
|
||||
Array<TexCoordGenerationConfig, 4> texcoord_generation_config {};
|
||||
Gfx::IntRect viewport;
|
||||
bool lighting_enabled { false };
|
||||
};
|
||||
|
||||
struct LightModelParameters {
|
||||
|
|
Loading…
Reference in a new issue