PMG

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

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: SDL / OpenGL
СообщениеДобавлено: 05 ноя 2005 11:38 
Не в сети
Постоянный

Зарегистрирован: 19 авг 2005 19:29
Сообщения: 82
Откуда: Кемерово
Как сделать в OpenGL SDL_SetColorKey для BMP, или как загрузить PNG с прозрачными областями?
У меня ничего не получается: screenshot

Спасибо.

PS: Linux sources [62K]:
engine.tar.bz2.doc
(remove ".doc" from filename)
Requires: OpenGL, SDL, Guichan.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 ноя 2005 12:55 
Не в сети
Постоянный

Зарегистрирован: 19 авг 2005 19:29
Сообщения: 82
Откуда: Кемерово
А... надо было в glTexImage2D и gluBuild2DMipmaps GL_RGBA, а не GL_RGB указывать...

Только не пойму вот что: сделал glClearColor (0.0f, 0.0f, 0.0f, 1.0f)
А экран очищается как glClearColor (0.3f, 0.3f, 0.3f, 1.0f)!
А когда делал glClearColor (1.0f, 1.0f, 1.0f, 1.0f), то очищался как glClearColor (0.7f, 0.7f, 0.7f, 1.0f)!
И это происходит из-за загруженной PNG! Когда не загружена PNG, glClearColor (0.0f, 0.0f, 0.0f, 1.0f) работает!
Что это такое? Это из-за границы изображения?

Спасибо.

_________________
Opensource Game Studio


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 ноя 2005 21:46 
Не в сети
Постоянный

Зарегистрирован: 19 авг 2005 19:29
Сообщения: 82
Откуда: Кемерово
Проблема была в Guichan

_________________
Opensource Game Studio


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 ноя 2005 09:59 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Ну и как Guichan - нравиться?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 ноя 2005 19:22 
Не в сети
Постоянный

Зарегистрирован: 19 авг 2005 19:29
Сообщения: 82
Откуда: Кемерово
Да - есть форум, т.е. ответы на все вопросы по Guichan.
Да и красивые окошки можно рисовать )

_________________
Opensource Game Studio


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 ноя 2005 15:12 
Не в сети
Постоянный

Зарегистрирован: 19 авг 2005 19:29
Сообщения: 82
Откуда: Кемерово
GL_TEXTURE_WARP_S/T не работает с gluBuild2DMipmaps
Код:
void LoadTexture (char *filename, long texture_id, long mag_filter, long min_filter,
                  long wrap_type, bool transparent = false) {
    SDL_Surface *image;
    image = IMG_Load (filename);
    if (image == NULL) {
        cout << "Couldn't load " << filename << ": " << SDL_GetError () << endl;
        return;
    }

    glBindTexture (GL_TEXTURE_2D, texture_name[texture_id]);

    if (transparent) {
        glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, image->w, image->h, 0, GL_RGBA,
                      GL_UNSIGNED_BYTE, image->pixels);
        gluBuild2DMipmaps (GL_TEXTURE_2D, GL_RGBA, image->w, image->h, GL_RGBA,
                           GL_UNSIGNED_BYTE, image->pixels);
    }
    else {
        glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, image->w, image->h, 0, GL_RGB,
                      GL_UNSIGNED_BYTE, image->pixels);
        gluBuild2DMipmaps (GL_TEXTURE_2D, GL_RGB, image->w, image->h, GL_RGB,
                           GL_UNSIGNED_BYTE, image->pixels);
    };

    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

    GLenum error = glGetError ();
    cout << error << endl;
    //glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);
    //glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
}


Что неправильно? Я не получаю ошибок, всё должно работать, но не работает.
GL_REPEAT не работает: текстура распрастраняется на весь полигон, а должна повторяться.

Спасибо.

_________________
Opensource Game Studio


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005 10:24 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
А координаты текстуры задаешь больше единицы?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005 12:04 
Не в сети
Постоянный

Зарегистрирован: 19 авг 2005 19:29
Сообщения: 82
Откуда: Кемерово
да, надо было координаты больше единицы. спасибо.

_________________
Opensource Game Studio


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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