texture.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. *** :: Texture ::
  3. ***
  4. *** OpenGL stored texture
  5. ***
  6. *** Supports the loading of LUT files
  7. *** as 3d textures for color correction
  8. ***
  9. **/
  10. #ifndef texture_h
  11. #define texture_h
  12. #include "cengine.h"
  13. #include "assets/image.h"
  14. typedef struct {
  15. GLuint handle;
  16. GLenum type;
  17. } texture;
  18. texture* texture_new();
  19. texture* texture_new_handle(GLuint h);
  20. void texture_delete(texture* t);
  21. GLuint texture_handle(texture* t);
  22. GLenum texture_type(texture* t);
  23. void texture_set_image(texture* t, image* i);
  24. image* texture_get_image(texture* t);
  25. void texture_generate_mipmaps(texture* t);
  26. void texture_set_filtering_nearest(texture* t);
  27. void texture_set_filtering_linear(texture* t);
  28. void texture_set_filtering_anisotropic(texture* t);
  29. texture* bmp_load_file( char* filename );
  30. texture* tga_load_file( char* filename );
  31. texture* dds_load_file( char* filename );
  32. texture* lut_load_file( char* filename );
  33. texture* acv_load_file( char* filename );
  34. void texture_write_to_file(texture* t, char* filename);
  35. void texture3d_write_to_file(texture* t, char* filename);
  36. #endif