GLLights.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org>
  3. * Copyright (c) 2021, Jelle Raaijmakers <jelle@gmta.nl>
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #include "GL/gl.h"
  8. #include "GLContext.h"
  9. #include <AK/Debug.h>
  10. extern GL::GLContext* g_gl_context;
  11. void glLightf(GLenum light, GLenum pname, GLfloat param)
  12. {
  13. // FIXME: implement
  14. dbgln_if(GL_DEBUG, "glLightf({}, {}, {}): unimplemented", light, pname, param);
  15. }
  16. void glLightfv(GLenum light, GLenum pname, GLfloat* param)
  17. {
  18. // FIXME: implement
  19. dbgln_if(GL_DEBUG, "glLightfv({}, {}, {}): unimplemented", light, pname, param);
  20. }
  21. void glLightModelf(GLenum pname, GLfloat param)
  22. {
  23. g_gl_context->gl_light_model(pname, param, 0.0f, 0.0f, 0.0f);
  24. }
  25. void glLightModelfv(GLenum pname, GLfloat const* params)
  26. {
  27. switch (pname) {
  28. case GL_LIGHT_MODEL_AMBIENT:
  29. g_gl_context->gl_light_model(pname, params[0], 0.0f, 0.0f, 0.0f);
  30. break;
  31. default:
  32. g_gl_context->gl_light_model(pname, params[0], params[1], params[2], params[3]);
  33. }
  34. }
  35. void glMaterialf(GLenum face, GLenum pname, GLfloat param)
  36. {
  37. VERIFY(face == GL_SHININESS);
  38. g_gl_context->gl_materialv(face, pname, &param);
  39. }
  40. void glMaterialfv(GLenum face, GLenum pname, GLfloat const* params)
  41. {
  42. g_gl_context->gl_materialv(face, pname, params);
  43. }
  44. void glShadeModel(GLenum mode)
  45. {
  46. g_gl_context->gl_shade_model(mode);
  47. }