GLTexture.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. GLboolean glIsTexture(GLuint texture)
  41. {
  42. return g_gl_context->gl_is_texture(texture);
  43. }
  44. void glActiveTextureARB(GLenum texture)
  45. {
  46. glActiveTexture(texture);
  47. }
  48. void glActiveTexture(GLenum texture)
  49. {
  50. g_gl_context->gl_active_texture(texture);
  51. }
  52. void glTexParameteri(GLenum target, GLenum pname, GLint param)
  53. {
  54. g_gl_context->gl_tex_parameter(target, pname, param);
  55. }
  56. void glTexParameterf(GLenum target, GLenum pname, GLfloat param)
  57. {
  58. g_gl_context->gl_tex_parameter(target, pname, param);
  59. }
  60. void glTexEnvf(GLenum target, GLenum pname, GLfloat param)
  61. {
  62. g_gl_context->gl_tex_env(target, pname, param);
  63. }
  64. void glTexEnvi(GLenum target, GLenum pname, GLint param)
  65. {
  66. g_gl_context->gl_tex_env(target, pname, param);
  67. }
  68. void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
  69. {
  70. g_gl_context->gl_copy_tex_image_2d(target, level, internalformat, x, y, width, height, border);
  71. }
  72. void glTexGend(GLenum coord, GLenum pname, GLdouble param)
  73. {
  74. g_gl_context->gl_tex_gen(coord, pname, param);
  75. }
  76. void glTexGenf(GLenum coord, GLenum pname, GLfloat param)
  77. {
  78. g_gl_context->gl_tex_gen(coord, pname, param);
  79. }
  80. void glTexGenfv(GLenum coord, GLenum pname, GLfloat const* params)
  81. {
  82. g_gl_context->gl_tex_gen_floatv(coord, pname, params);
  83. }
  84. void glTexGeni(GLenum coord, GLenum pname, GLint param)
  85. {
  86. g_gl_context->gl_tex_gen(coord, pname, param);
  87. }
  88. void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params)
  89. {
  90. g_gl_context->gl_get_tex_parameter_integerv(target, level, pname, params);
  91. }