Guest User

Untitled

a guest
Oct 17th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. TextureParameter param;
  2. param.magFilter = GL_NEAREST;
  3. param.minFilter = GL_NEAREST;
  4. param.wrapS = GL_REPEAT;
  5. param.wrapT = GL_REPEAT;
  6.  
  7. Texture noiseTexture (500, 500, PixelFormat::BLACK_WHITE, param, data);
  8.  
  9. enum class PixelFormat : GLenum
  10. {
  11. RGB = GL_RGB,
  12. RGBA = GL_RGBA,
  13. BLACK_WHITE = GL_RED
  14. };
  15.  
  16. TextureRender TextureRender::create(Texture& texture, PixelFormat storFrom, uint32_t width, uint32_t height)
  17. {
  18. TextureRender textureRender;
  19.  
  20. textureRender._width = width;
  21. textureRender._height = height;
  22. textureRender._locked = false;
  23. textureRender._sorageFormat = storFrom;
  24.  
  25. glGenTextures(1, &textureRender._handler);
  26.  
  27. glBindTexture(GL_TEXTURE_2D, textureRender._handler);
  28.  
  29. glTexStorage2D(GL_TEXTURE_2D, 1, GL_R8, width, height);
  30. glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, (GLenum) texture._format, GL_UNSIGNED_BYTE, texture._data);
  31.  
  32. assert(!glGetError());
  33.  
  34. glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, texture._parametr.magFilter);
  35. glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, texture._parametr.minFilter);
  36.  
  37. glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, texture._parametr.wrapS);
  38. glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, texture._parametr.wrapT);
  39.  
  40. return textureRender;
  41. }
Add Comment
Please, Sign In to add comment