dd_meshTexture.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef DD_MESHTEXTURE_D
  2. #define DD_MESHTEXTURE_D
  3. #include "dd_meshColour.h"
  4. #include "dd_image.h"
  5. #include "dd_opengl.h"
  6. struct dd_meshTexture {
  7. struct dd_meshColour parent;
  8. int dirtyImage;
  9. struct dd_image img;
  10. int dirtyTextures;
  11. float *t;
  12. int openglContextId;
  13. char *assetName;
  14. void (*load)(struct dd_mesh *m, const char *filename);
  15. void (*preloadTexture)(struct dd_mesh *m, char *filename);
  16. int (*applyTexture)(struct dd_mesh *m);
  17. void (*loadTexture)(struct dd_mesh *m, char *filename);
  18. void (*set_primitive_texcoords)(struct dd_meshTexture *m, float offsetX, float offsetY, float sizeX, float sizeY);
  19. void (*copyTexture)(struct dd_meshTexture *dest, struct dd_meshTexture *src);
  20. };
  21. // constructor
  22. void dd_meshTexture_create(struct dd_meshTexture *);
  23. void dd_meshTexture_load(struct dd_meshTexture *m, const char *filename);
  24. void dd_meshTexture_preloadTexture(struct dd_meshTexture *m, char *filename);
  25. int dd_meshTexture_applyTexture(struct dd_meshTexture *m);
  26. void dd_meshTexture_loadTexture(struct dd_meshTexture *m, char *filename);
  27. void dd_meshTexture_set_primitive(struct dd_meshTexture *m, enum dd_primitives shape);
  28. void dd_meshTexture_set_primitive_texcoords(struct dd_meshTexture *m, float offsetX, float offsetY, float sizeX, float sizeY);
  29. void dd_meshTexture_draw(struct dd_meshTexture *m);
  30. void dd_meshTexture_clean(struct dd_meshTexture *m);
  31. void dd_meshTexture_copy(struct dd_meshTexture *dest, struct dd_meshTexture *src);
  32. void dd_meshTexture_copyTexture(struct dd_meshTexture *dest, struct dd_meshTexture *src);
  33. #endif