/src/Example_RendererBaseUsage/Example_TextureCubeFile.h

http://github.com/Akranar/daguerreo · C Header · 42 lines · 34 code · 8 blank · 0 comment · 0 complexity · d00d501f4a16dd6fbcffeec89ce0f424 MD5 · raw file

  1. #ifndef _EXAMPLE_TEXTURE_CUBE_FILE_H_
  2. #define _EXAMPLE_TEXTURE_CUBE_FILE_H_
  3. #include "ExLib_RendererBase.h"
  4. #include "ExLib_TextureLoader.h"
  5. class Example_TextureCubeFile
  6. {
  7. TextureCube texture_cube;
  8. ShaderProgram * shader_program;
  9. RendererBase * renderer;
  10. unsigned int unit;
  11. public:
  12. void Init(RendererBase * _renderer, ShaderProgram * _shader_program, unsigned int _unit, const char * filenames[6])
  13. {
  14. shader_program = _shader_program;
  15. renderer = _renderer;
  16. unit = _unit;
  17. DescTextureCube texdesc;
  18. texdesc.BindFlags = BIND_SHADER_RESOURCE;
  19. texdesc.MipLevels = 0;
  20. texdesc.Usage = TEXTURE_USAGE_WRITE_ONLY;
  21. FixedArray<unsigned char> texdata;
  22. TextureLoader::LoadTextureCube(filenames, texdesc, texdata);
  23. renderer->CreateResource(texdesc, &texture_cube);
  24. }
  25. void Deinit()
  26. {
  27. renderer->Delete(&texture_cube);
  28. }
  29. void PreRender()
  30. {
  31. renderer->Bind(shader_program, unit, &texture_cube);
  32. }
  33. };
  34. #endif