GLTexture.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /*
  2. * Copyright (c) 2021, Jesse Buhagiar <jooster669@gmail.com>
  3. * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org>
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #include "GLContext.h"
  8. #include <LibGL/GL/gl.h>
  9. extern GL::GLContext* g_gl_context;
  10. void glGenTextures(GLsizei n, GLuint* textures)
  11. {
  12. g_gl_context->gl_gen_textures(n, textures);
  13. }
  14. void glDeleteTextures(GLsizei n, const GLuint* textures)
  15. {
  16. g_gl_context->gl_delete_textures(n, textures);
  17. }
  18. void glTexImage1D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid* data)
  19. {
  20. dbgln("glTexImage1D({:#x}, {}, {:#x}, {}, {}, {:#x}, {:#x}, {:p}): unimplemented", target, level, internalFormat, width, border, format, type, data);
  21. TODO();
  22. }
  23. void glTexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* data)
  24. {
  25. g_gl_context->gl_tex_image_2d(target, level, internalFormat, width, height, border, format, type, data);
  26. }
  27. void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data)
  28. {
  29. dbgln("glTexImage3D({:#x}, {}, {:#x}, {}, {}, {}, {}, {:#x}, {:#x}, {:p}): unimplemented", target, level, internalFormat, width, height, depth, border, format, type, data);
  30. TODO();
  31. }
  32. void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* data)
  33. {
  34. g_gl_context->gl_tex_sub_image_2d(target, level, xoffset, yoffset, width, height, format, type, data);
  35. }
  36. void glBindTexture(GLenum target, GLuint texture)
  37. {
  38. g_gl_context->gl_bind_texture(target, texture);
  39. }
  40. // Note: This is an _extremely_ misleading API name. This sets the active
  41. // texture unit, NOT the active texture itself...
  42. void glActiveTexture(GLenum texture)
  43. {
  44. g_gl_context->gl_active_texture(texture);
  45. }
  46. void glTexParameteri(GLenum target, GLenum pname, GLint param)
  47. {
  48. g_gl_context->gl_tex_parameter(target, pname, param);
  49. }
  50. void glTexParameterf(GLenum target, GLenum pname, GLfloat param)
  51. {
  52. g_gl_context->gl_tex_parameter(target, pname, param);
  53. }
  54. void glTexEnvf(GLenum target, GLenum pname, GLfloat param)
  55. {
  56. g_gl_context->gl_tex_env(target, pname, param);
  57. }
  58. void glTexEnvi(GLenum target, GLenum pname, GLint param)
  59. {
  60. g_gl_context->gl_tex_env(target, pname, param);
  61. }
  62. void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
  63. {
  64. g_gl_context->gl_copy_tex_image_2d(target, level, internalformat, x, y, width, height, border);
  65. }
  66. void glTexGend(GLenum coord, GLenum pname, GLdouble param)
  67. {
  68. g_gl_context->gl_tex_gen(coord, pname, param);
  69. }
  70. void glTexGenf(GLenum coord, GLenum pname, GLfloat param)
  71. {
  72. g_gl_context->gl_tex_gen(coord, pname, param);
  73. }
  74. void glTexGenfv(GLenum coord, GLenum pname, GLfloat const* params)
  75. {
  76. g_gl_context->gl_tex_gen_floatv(coord, pname, params);
  77. }
  78. void glTexGeni(GLenum coord, GLenum pname, GLint param)
  79. {
  80. g_gl_context->gl_tex_gen(coord, pname, param);
  81. }
  82. void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params)
  83. {
  84. g_gl_context->gl_get_tex_parameter_integerv(target, level, pname, params);
  85. }