PMG

Форумы по созданию игр
Текущее время: 25 апр 2024 15:44

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 21 май 2012 22:22 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
Здравствуйте! Пытался наложить структуру, но какие бы уроки, какие бы исходники не пробовал, получается одна и та же ошибка. Юзал гугль, по его рекомендациям и полный путь прописывал, и слэш в другую сторону менял, и по разным папкам кидал изображение, и с бубном танцевал. Ничего не получается. Читал и http://www.rsdn.ru/article/opengl/ogltut2.xml#ENIAG и много разной литературы. Но все равно выскакивает окно с предупреждением "Failed to open DIB file ____.bmp" Файл картинки создал в Paint, размер 64Х64. Сохранен как 16-цветный рисунок .bmp
Вот сам код:
Код:
#include <stdlib.h>
#include <GL\glut.h>
#include <GL\glaux.h>
#pragma comment (lib,"glaux.lib")
unsigned int textures[1];

void LoadTextures()
{
    AUX_RGBImageRec *texture1;
    texture1=auxDIBImageLoad(L"D:\\Image2.bmp");
    glGenTextures(1, &textures[0]);
    glBindTexture(GL_TEXTURE_2D, textures[0]);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0,
                                GL_RGB, GL_UNSIGNED_BYTE, texture1->data );
}

void Draw()
{

glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);glVertex2f(-1.0,-1.0);
glTexCoord2f(0.0,1.0);glVertex2f(-1.0,1.0);
glTexCoord2f(1.0,1.0);glVertex2f(1.0,1.0);
glTexCoord2f(1.0,0.0);glVertex2f(1.0,-1.0);
glEnd();
glFlush();
}

void Initialize()
{
LoadTextures();
glEnable(GL_TEXTURE_2D);
glClearColor(0.0,0.0,0.0,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-4.0, 4.0, -4.0, 4.0, -10.0, 10.0);
glMatrixMode(GL_MODELVIEW);

}

int main (int argc, char** argv)
{
    //.........инициализация...................................................
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
    glutInitWindowSize(400, 400);
    glutInitWindowPosition(100, 200);
    glutCreateWindow("Lesson_09");

    //.......регистрация.......................................................
    glutDisplayFunc(Draw); //рисование
    Initialize();
    glutMainLoop();
    return 0;
}

Вообще измучился! Элементарная вроде программка, а столько геморроя. Где то читал, что игра Rage на OpenGL написана. Реально создатели герои!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 21 май 2012 22:32 
Не в сети
Любитель

Зарегистрирован: 27 апр 2012 18:48
Сообщения: 39
Возможно в файле какието данные отсутствуют, как вариант открыть в графическом редакторе и сохранить, за одно и имя снова написать, в друг буква из кирилици затесалась...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 21 май 2012 23:03 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
sinus писал(а):
Возможно в файле какието данные отсутствуют
Вы имеете в виду в графическом файле? Да нет, я пробовал и свои делать, и сохранял их под цифрами, и из исходников брал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 22 май 2012 08:43 
Не в сети
Любитель

Зарегистрирован: 27 апр 2012 18:48
Сообщения: 39
Файл самой программы сохранить в кодировке UTF-8.
Зделать рисунок 24 бита на пиксель.

Для загрузки графических файлов не использовать glaux.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 22 май 2012 10:03 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
Пересохранил с кодировкой UTF-8, результат тот же. Я забыл написать, что при выполнении компиляции, когда выскакивает окно с предупреждением об ошибке, компилятор останавливается на строке
Код:
   glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0,
                        GL_RGB, GL_UNSIGNED_BYTE, texture1->data );

И подскажите кому не трудно, как загружать файл не используя glaux. И если можно, то для примера мой пример переделайте без glaux, что бы наглядно можно было посмотреть в чем разница.
Заранее Всем спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 22 май 2012 12:59 
Не в сети
Любитель

Зарегистрирован: 27 апр 2012 18:48
Сообщения: 39
Oleg34 писал(а):
Я забыл написать, что при выполнении компиляции, когда выскакивает окно с предупреждением об ошибке

Что за предупреждение, что написано?


Может стоит поменять местами LoadTextures(); и glEnable(GL_TEXTURE_2D);. А то получается, что включение 2d текстуры происходит после создания текстуры, хотя может она уже включена по умолчанию(не помню).

Oleg34 писал(а):
И подскажите кому не трудно, как загружать файл не используя glaux.

Задействовать другую библиотеку ;) (например SDL)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 22 май 2012 13:50 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Можно задействовать IPicture:
http://pmg.org.ru/nehe/nehe41.htm
Или самому разбирать tga:
http://pmg.org.ru/nehe/nehe24.htm

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 22 май 2012 15:16 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
MagicWolf писал(а):
Можно задействовать IPicture:
http://pmg.org.ru/nehe/nehe41.htm
Или самому разбирать tga:
http://pmg.org.ru/nehe/nehe24.htm

К сожалению, для меня это еще слишком сложно. Я просто не понимаю, делаю все, как в рекомендациях, но ничего не получается. Вообще, по коду, который я составил, кто нибудь пробовал запустить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 22 май 2012 15:38 
Не в сети
Любитель

Зарегистрирован: 27 апр 2012 18:48
Сообщения: 39
Oleg34 писал(а):
Вообще, по коду, который я составил, кто нибудь пробовал запустить?


Я бы попробовл, но я горожанин города Дебиан из страны Линукс :D (там нет glaux)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 23 май 2012 11:22 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Oleg34 писал(а):
К сожалению, для меня это еще слишком сложно. Я просто не понимаю, делаю все, как в рекомендациях, но ничего не получается. Вообще, по коду, который я составил, кто нибудь пробовал запустить?

Выложи тогда весь проект, а не просто исходник.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 24 май 2012 21:51 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
Вот, пожалуйста, проект. Вернее ссылка на него. http://turbobit.net/gmsutr92z5yv.html
Гляньте, если не трудно. Если есть ошибки, то скажите какие. Заранее благодарен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 25 май 2012 13:49 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Попробывал. У меня файл находит D:\\Image2.bmp, но не выводит, так не хватает glutSwapBuffers(); в конце Draw.
Когда у тебя пишет "Failed to open DIB file ____.bmp", что вместо ____.bmp?

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 25 май 2012 20:03 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
Дописал функцию glutSwapBuffers(); Результат тот же самый. Может у меня что то недоустановлено в самом MVS 2008? Снял скрины с экрана.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 26 май 2012 11:13 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Очень странно. Файл d:\image2.bmp существует? И права доступа к нему есть? Проблема явно не в коде.
Попробуй зайти на http://nehe.gamedev.net/tutorial/texture_mapping/12038/ и внизу страницы скачать DOWNLOAD GLUT Code For This Lesson. ( Conversion by Kyle Gancarz ):
http://nehe.gamedev.net/data/lessons/glut/lesson06.zip
Попробуй пойдет или нет. Правда там загрузка изображения из tga.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка: "Failed to open DIB file ____.bmp"
СообщениеДобавлено: 26 май 2012 12:45 
Не в сети
Новичок

Зарегистрирован: 21 май 2012 22:15
Сообщения: 8
А вот то, что компилятор не может вычислить выражение sizeX=??? С чего бы это? А вот если не трудно можете скинуть любой свой простейший исходник где текстура натягивается на треугольник и квадрат. Самый элементарнейший. Извините за наглость.
Заранее спасибо!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 77


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB