1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:27:35 +00:00

LibGL: Implement glRasterPos2i

This commit is contained in:
Jelle Raaijmakers 2021-12-01 15:53:55 +01:00 committed by Andreas Kling
parent 78d0674228
commit 4eb6295a57
6 changed files with 41 additions and 1 deletions

View file

@ -105,6 +105,7 @@ public:
virtual void gl_stencil_func_separate(GLenum face, GLenum func, GLint ref, GLuint mask) override;
virtual void gl_stencil_op_separate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) override;
virtual void gl_normal(GLfloat nx, GLfloat ny, GLfloat nz) override;
virtual void gl_raster_pos(GLfloat x, GLfloat y, GLfloat z, GLfloat w) override;
virtual void present() override;
private:
@ -269,7 +270,8 @@ private:
decltype(&SoftwareGLContext::gl_scissor),
decltype(&SoftwareGLContext::gl_stencil_func_separate),
decltype(&SoftwareGLContext::gl_stencil_op_separate),
decltype(&SoftwareGLContext::gl_normal)>;
decltype(&SoftwareGLContext::gl_normal),
decltype(&SoftwareGLContext::gl_raster_pos)>;
using ExtraSavedArguments = Variant<
FloatMatrix4x4>;
@ -305,6 +307,17 @@ private:
u8 m_pack_alignment { 4 };
GLsizei m_unpack_row_length { 0 };
u8 m_unpack_alignment { 4 };
struct RasterPosition {
FloatVector3 window_coordinates { 0.0f, 0.0f, 0.0f };
float clip_coordinate_value { 1.0f };
float eye_coordinate_distance { 0.0f };
bool valid { true };
FloatVector4 color_rgba { 1.0f, 1.0f, 1.0f, 1.0f };
float color_index { 1.0f };
FloatVector4 texture_coordinates { 0.0f, 0.0f, 0.0f, 1.0f };
};
RasterPosition m_current_raster_position;
};
}