PMG

Форумы по созданию игр
Текущее время: 29 мар 2024 13:09

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




Начать новую тему Ответить на тему  [ Сообщений: 149 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10
Автор Сообщение
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 08 сен 2010 01:23 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
помоги написать нормально этот долбаный двиг =((
вот отстой, рендер не работает, прогу включаю все виснет и ничего не работает, а главно компиляция без ошибок
что за хня не знаю
решил переписывать двиг
но не знаю как писать нормально что бы все было
можешь написать как ты делал?? ну тоесть так как я через классы или по другому
просто хочу посмотреть все способы и найти мне подходящий
и также с чего начать кодить двиг?? я прошлый начал с создания приложения и окна
а вот как посмотрю где ни где там с менеджера начинают какого то

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 08 сен 2010 09:17 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
Мой движок полностью основан на уроках NeHe (без всяких классов в основе). Я предлагаю сначала изучить уроки NeHe ( http://pmg.org.ru/nehe/index.html ), распотрошить весь код, откомпилировать. Винапи там очень мало, а полезных вещей очень много. Изначально там все компилируется работает, так что если что-то не будет работать, то легко определить, где совершил ошибку. А только потом уже делать свой движок на SDL, хотя советую, писать свой движок на Винапи, а потом, когда все будет работать, поменять на SDL (также для выявления ошибок).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 08 сен 2010 12:10 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
дану нафиг, ты тогда проделываешь больше работы
я все таки буду делать как и раньше, только перепишу его, по другому сделаю

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 31 дек 2010 11:43 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
C++Builder 2010, проблема с текстурой, неверные цвета BITMAP.

Обучаюсь работе с OpenGL по урокам NeHe. Использую C++Builder 2010.
По ходу обучения возникли несостыковки. Функция от библиотеки glaux.h не захотела работать.

Вот тут загружаются текстуры:
Код:
// Загрузка картинки и конвертирование в текстуру (используется AUXlib)
GLvoid LoadGLTextures() {
    // загрузка картинки
    Graphics::TBitmap *texture1 = new Graphics::TBitmap;
    texture1->LoadFromResourceName( (int)appInstance, "TX5" );
    //texture1->PixelFormat = pf32bit;
    // создание текстуры
    glGenTextures( 1, &texture[0] );
    glBindTexture( GL_TEXTURE_2D, texture[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->Width, texture1->Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture1->ScanLine[ texture1->Width-1 ] );
}
Загружаю я, как видно, через библиотеку Graphics, иным способом, нежели в статье обучения, вместо GL_RGB использую GL_RGBA, иначе не понятно что вообще с текстурой творится. В оригинале (статье) эта функция описана так:
Код:
GLvoid LoadGLTextures()
{
    // Загрузка картинки
    AUX_RGBImageRec *texture1;
    texture1 = auxDIBImageLoad("Data/NeHe.bmp");
    // Создание текстуры
    glGenTextures(1, &texture[0]);
    glBindTexture(GL_TEXTURE_2D, texture[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);
}
Функция auxDIBImageLoad() вызывает ошибку, в общем-то не факт, что в ней одной дело. Своим методом я выдёгиваю тот же BITMAP из ресурсов. Картинка загружается, всё хорошо, да вот беда! С цветами что-то не так, как будто один из каналов пропадает или местами меняются, даже не знаю. В общем любая картинка становится синеватого оттенка. Сколько ни бился, чего не перепробовал, а получилось только так. Кто-нибудь может подсказать в чём проблема с этими цветами? И как заставить GL отображать текстуру с правильными цветами, истинными?

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 31 дек 2010 11:46 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
На всякий случай прикладываю полный код программы.

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 31 дек 2010 23:31 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
http://forum.vingrad.ru/forum/topic-319219.html - Вот тут мне помогли. Там же описано в чём была проблема и как её решить.
Также советую администрации сайта привести в пример либо ссылку либо сам блок решения данной проблемы, она похоже актуальна именно для С++Билдера http://pmg.org.ru/nehe/nehe06.htm - вот в этом уроке.

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 01 янв 2011 12:40 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Спасибо, постараюсь добавить.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 02 янв 2011 05:50 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
http://unclechu.blog.com/2011/01/02/%D0 ... urce-v0-1/
Тут я вообще класс написал, чтобы JPEG-и юзать на этот счёт.

Вот пример как я подгружаю текстуру (любого размера кстати!):
Код:
ucGetResource *R = new ucGetResource;
BITMAP BMP = R->GetBitmapFromJPEG("TXNAME");

glGenTextures( 1, &texture[0] );
glBindTexture( GL_TEXTURE_2D, texture[0] );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
gluBuild2DMipmaps( GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits );

delete R;

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 02 янв 2011 12:57 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
Вопрос по 35 уроку: для отрисовки нескольких видео получается нужен вот такой класс. Нормально ли это или можно выкинуть из него что-нибудь? Пробовал выкинуть hdd и hdd, но тогда всё не рисует.
Код:
class VTEXTURE
{
  public:
     GLuint tex;
     char name[256];
     AVISTREAMINFO psi;               // Pointer To A Structure Containing Stream Info
     PAVISTREAM pavi;                  // Handle To An Open Stream
     PGETFRAME pgf;                     // Pointer To A GetFrame Object
     HBITMAP hBitmap;   
     BITMAPINFOHEADER bmih;         // Header Information For DrawDibDraw Decoding
     long lastframe;
     int width;
     int height;
     char *pdata;                           // Pointer To Texture Data
     int mpf;
     int frame;
     unsigned char* data0;           // Pointer To Our Resized Image    
     HDRAWDIB hdd;                  // Handle For Our Dib
     HDC hdc;                        // Creates A Compatible Device Context
};


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 02 янв 2011 20:43 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
http://pmg.org.ru/nehe/nehe10.htm - вот в этом уроке не описаны некоторые переменные, которые необходимы для данного урока. Они вроде как и в английской версии не описаны, но там есть ссылание на то, что мол советуют скачать и посмотреть примеры. Ссылок в переводе нет, но они есть в английской версии, я думаю не все догадаются перейти на английскую статью и оттуда взять файл примера. Предлагаю либо описать отдельным блоком нужные объявления переменных, как примечание от переводчика, либо сослаться дополнительно на английскую статью, где эти примеры можно скачать, либо привести ссылки на примеры с английской версии статьи.

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 03 янв 2011 07:07 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
http://pmg.org.ru/nehe/nehe10.htm - тут есть ошибка, в самом уроке, несоответствие с примером. (который опять же есть в анг. версии)
В общем из-за не неё когда поворачиваешь на лево - прямо он идёт по старой оси, то-бишь это всё равно, что идти ровно и повернуть только голову.

Вот это:
Код:
if (keys[VK_RIGHT]) {
   yrot -= 1.5f;
}

if (keys[VK_LEFT]) {
   yrot += 1.5f;
}


Меняем-с на сие:
Код:
if ( keys[ VK_LEFT ] ) {
   heading += 0.08f;
   yRot = heading;
}

if ( keys[ VK_RIGHT ] ) {
   heading -= 0.08f;
   yRot = heading;
}

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 03 янв 2011 07:08 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 29 дек 2010 06:38
Сообщения: 9
Откуда: Ханты-Мансийск
Ну float-значение я уже сам подставлял, просто скопировал из своего примера. Там суть в использовании heading-переменной.

Хотя вообще если так посмотреть - это и в оригинальном уроке NeHe есть, так вот тут надо уже решать, отходить от принципа и добавлять правильное от себя или в точности копировать с оригинала. Это вроде как ведь ошибка получается.

_________________
«Компьютерное Созидание»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 03 янв 2011 23:19 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Огромное спасибо, учту ваши пожелания. Надо будет обязательно поправить.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки NeHe
СообщениеДобавлено: 06 фев 2011 16:55 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Все поправил.

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


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

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


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

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


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

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