mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +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:
committed by
Linus Groh
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 {
|
||||
|
||||
Reference in New Issue
Block a user