瀏覽代碼

LibGL: Implement `GL_CURRENT_COLOR` context parameter

Jelle Raaijmakers 2 年之前
父節點
當前提交
07e94b3ec1
共有 2 個文件被更改,包括 13 次插入0 次删除
  1. 12 0
      Userland/Libraries/LibGL/ContextParameter.cpp
  2. 1 0
      Userland/Libraries/LibGL/GL/gl.h

+ 12 - 0
Userland/Libraries/LibGL/ContextParameter.cpp

@@ -32,6 +32,18 @@ Optional<ContextParameter> GLContext::get_context_parameter(GLenum name)
         return ContextParameter { .type = GL_INT, .value = { .integer_value = static_cast<GLint>(m_color_material_face) } };
     case GL_COLOR_MATERIAL_MODE:
         return ContextParameter { .type = GL_INT, .value = { .integer_value = static_cast<GLint>(m_color_material_mode) } };
+    case GL_CURRENT_COLOR:
+        return ContextParameter {
+            .type = GL_DOUBLE,
+            .count = 4,
+            .value = {
+                .double_list = {
+                    static_cast<double>(m_current_vertex_color.x()),
+                    static_cast<double>(m_current_vertex_color.y()),
+                    static_cast<double>(m_current_vertex_color.z()),
+                    static_cast<double>(m_current_vertex_color.w()),
+                } }
+        };
     case GL_CULL_FACE:
         return ContextParameter { .type = GL_BOOL, .is_capability = true, .value = { .boolean_value = m_cull_faces } };
     case GL_DEPTH_BITS:

+ 1 - 0
Userland/Libraries/LibGL/GL/gl.h

@@ -96,6 +96,7 @@ extern "C" {
 #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
 
 // Get parameters
+#define GL_CURRENT_COLOR 0x0B00
 #define GL_COLOR_MATERIAL_FACE 0x0B55
 #define GL_COLOR_MATERIAL_MODE 0x0B56
 #define GL_COLOR_MATERIAL 0x0B57