2015-07-06 3 views
0

Так что я хочу, чтобы загрузить PNG изображения с помощью ПОЧВЫ, например:ПОЧВЫ Загрузить PNG изображения в текстуры превращается в серое изображение

unsigned char* image = SOIL_load_image("image.png", &width, &height, 0, SOIL_LOAD_AUTO); 

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); 
glGenerateMipmap(GL_TEXTURE_2D); 
SOIL_free_image_data(image); 
glBindTexture(GL_TEXTURE_2D, 0); 

Когда я использую JPEG изображение все загружается и отображается как я ожидал ... но когда я пытаюсь загрузить PNG изображение, я получаю следующий результат:

rendered image in PNG format

Любой знает, что может быть неправильно здесь ?!

+1

Похоже, что изображение на самом деле находится в RGBA? Просто случайное предположение – WorldSEnder

+0

Hi WorldSEnder ... Я тоже пробовал .. это не так :( – waas1919

ответ

0

WorldSEnder был прав :) Это был образ RBGA.

я пропустил:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image); 

Спасибо!

Смежные вопросы