|
@@ -20,16 +20,18 @@ void Texture::setColors(int width, int height, const char* data, int channels) {
|
|
|
case 1:
|
|
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, width, height, 0, GL_RED, GL_UNSIGNED_BYTE, data);
|
|
|
break;
|
|
|
+ case 2:
|
|
|
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RG, width, height, 0, GL_RG, GL_UNSIGNED_BYTE, data);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
|
|
|
+ break;
|
|
|
case 4:
|
|
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void Texture::setRGBFloatData(int width, int height, const float* data) {
|
|
|
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB32F, width, height, 0, GL_RGB, GL_FLOAT, data);
|
|
|
-}
|
|
|
-
|
|
|
void Texture::bind() const {
|
|
|
glActiveTexture(GL_TEXTURE0);
|
|
|
glBindTexture(GL_TEXTURE_2D, texture);
|