blocksLoader.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #pragma once
  2. #include <gl2d/gl2d.h>
  3. struct BlocksLoader
  4. {
  5. std::vector<GLuint64> gpuIds;
  6. std::vector<GLuint> texturesIds;
  7. //load all blocks loadallblocks
  8. void loadAllTextures(std::string path, bool reportErrors);
  9. void setupAllColors();
  10. void clearAllTextures();
  11. void loadAllItemsGeometry();
  12. gl2d::Texture spawnEgg;
  13. gl2d::Texture spawnEggOverlay;
  14. std::vector<GLuint64> gpuIdsItems;
  15. std::vector<GLuint> texturesIdsItems;
  16. struct ItemGeometry2D
  17. {
  18. GLuint vao = 0;
  19. GLuint buffer = 0;
  20. unsigned int count = 0;
  21. void clear();
  22. };
  23. struct ItemGeometry3D
  24. {
  25. GLuint vao = 0;
  26. GLuint buffer = 0;
  27. GLuint indexBuffer = 0;
  28. unsigned int count = 0;
  29. GLuint64 gpuId = 0;
  30. gl2d::Texture texturesId;
  31. void clear();
  32. };
  33. struct FullItemGeometryData
  34. {
  35. ItemGeometry2D model2D;
  36. ItemGeometry3D model3D;
  37. };
  38. std::vector<FullItemGeometryData> itemsGeometry;
  39. gl2d::Texture backgroundTexture;
  40. std::vector<gl2d::Texture> blockUiTextures;
  41. std::vector<glm::vec3> blocksColors;
  42. void clearItemsGeometry();
  43. };
  44. bool loadFromFileAndAddPadding(gl2d::Texture &t, const char *path);
  45. uint16_t getGpuIdIndexForBlock(short type, int face);
  46. #define SNOW_GRASS_TEXTURE_INDEX 82
  47. #define YELLOW_GRASS_TEXTURE_INDEX 97
  48. #define BRICKS_VARIATION_TEXTURE_INDEX 99
  49. #define BLUE_BRICKS_VARIATION_TEXTURE_INDEX 100