Результаты поиска
| |
ProFiLeR | Дата: Воскресенье, 06 Февраля 2011, 18:02 | Сообщение # 21 | Тема: C++ Проблема с генератором уровней |
частый гость
Сейчас нет на сайте
| Quote (thitem) Исправил? Работает? ДААААААААААААААААААААААААААААААААААА ЗАРАБОТАЛО ТАКИ БЫЛА ОПЕЧАТКА В СРАВНЕНИИ да но теперь он все по координате Z не ставит на нужное место жп полная =)
Сообщение отредактировал ProFiLeR - Воскресенье, 06 Февраля 2011, 18:03 |
|
| |
ProFiLeR | Дата: Воскресенье, 06 Февраля 2011, 17:59 | Сообщение # 22 | Тема: C++ Проблема с генератором уровней |
частый гость
Сейчас нет на сайте
| Quote (ezhickovich) сравение. да я имелл ввиду сравнение VBO???="что такое VBO ???"; Добавлено (06.02.2011, 17:59) --------------------------------------------- ДААААААААААААААААААААААААААААААААААА ЗАРАБОТАЛО ТАКИ БЫЛА ОПЕЧАТКА В СРАВНЕНИИ
|
|
| |
ProFiLeR | Дата: Воскресенье, 06 Февраля 2011, 17:43 | Сообщение # 23 | Тема: C++ Проблема с генератором уровней |
частый гость
Сейчас нет на сайте
| эм... int random=1; тоже не помогло VBO??? Добавлено (06.02.2011, 17:43) --------------------------------------------- pushmatrix и pop тоже не помогли
|
|
| |
ProFiLeR | Дата: Воскресенье, 06 Февраля 2011, 17:26 | Сообщение # 24 | Тема: C++ Проблема с генератором уровней |
частый гость
Сейчас нет на сайте
| нет, самих кубиков не наблюдается хотя если просто поставить куб в позицию Code draw_cube( 10, 15, 1, 50, xtrans, ytrans, ztrans, lookupdown, sceneroty); то этот куб рендерится получается в моей функции спасибо xtrans, ytrans, ztrans, исспользуются глобальные координаты а не локальные Добавлено (06.02.2011, 17:26) --------------------------------------------- если же вместо Code draw_cube( 10, 15, 1, 50, xtrans, ytrans, ztrans, lookupdown, sceneroty); написать Code draw_cube( 10, 15, 1, 50, 0, 0, 0, lookupdown, sceneroty); то это будут локальные координаты
Сообщение отредактировал ProFiLeR - Воскресенье, 06 Февраля 2011, 17:23 |
|
| | |
ProFiLeR | Дата: Воскресенье, 06 Февраля 2011, 16:23 | Сообщение # 26 | Тема: C++ Проблема с генератором уровней |
частый гость
Сейчас нет на сайте
| Code void draw_cube(GLfloat x,GLfloat y,GLfloat z,GLfloat h,GLfloat xtrans,GLfloat ytrans,GLfloat ztrans,GLfloat lookupdown,GLfloat sceneroty) { glRotatef(lookupdown,1.0f,0,0); glRotatef(sceneroty,0,1.0f,0); glTranslatef(xtrans, ytrans, ztrans); glBindTexture(GL_TEXTURE_2D, texture[1]); glColor4f(255,255,255,1.0);
glBegin(GL_QUADS); // Рисуем куб
glTexCoord2f(0.0f, 0.0f); glVertex3f(x+h, y+h, z+(-h)); // Право верх квадрата (Верх) glTexCoord2f(h, 0.0f); glVertex3f(x+(-h), y+h, z+(-h)); // Лево верх glTexCoord2f(h, h); glVertex3f(x+(-h), y+h, z+h); // Лево низ glTexCoord2f(0.0f, h); glVertex3f(x+h, y+h, z+h); // Право низ
glTexCoord2f(h, 0.0f); glVertex3f(x+h, y+(-h), z+h); // Верх право квадрата (Низ) glTexCoord2f(h, h); glVertex3f(x+(-h), y+(-h), z+h); // Верх лево glTexCoord2f(0.0f, h); glVertex3f(x+(-h), y+(-h), z+(-h)); // Низ лево glTexCoord2f(0.0f, 0.0f); glVertex3f(x+h, y+(-h), z+(-h)); // Низ право
glTexCoord2f(0.0f, h); glVertex3f(x+h, y+h, z+h); // Верх право квадрата (Перед) glTexCoord2f(0.0f, 0.0f); glVertex3f(x+(-h), y+h, z+h); // Верх лево glTexCoord2f(h, 0.0f); glVertex3f(x+(-h), y+(-h), z+h); // Низ лево glTexCoord2f(h, h); glVertex3f(x+h, y+(-h), z+h); // Низ право
glTexCoord2f(h, h); glVertex3f(x+h, y+(-h), z+(-h)); // Верх право квадрата (Зад) glTexCoord2f(0.0f, h); glVertex3f(x+(-h), y+(-h), z+(-h)); // Верх лево glTexCoord2f(0.0f, 0.0f); glVertex3f(x+(-h), y+h, z+(-h)); // Низ лево glTexCoord2f(h, 0.0f); glVertex3f(x+h, y+h, z+(-h)); // Низ право
glTexCoord2f(h, 0.0f); glVertex3f(x+(-h), y+h, z+h); // Верх право квадрата (Лево) glTexCoord2f(h, h); glVertex3f(x+(-h), y+h, z+(-h)); // Верх лево glTexCoord2f(0.0f, h); glVertex3f(x+(-h), y+(-h), z+(-h)); // Низ лево glTexCoord2f(0.0f, 0.0f); glVertex3f(x+(-h), y+(-h), z+h); // Низ право
glTexCoord2f(0.0f, 0.0f); glVertex3f(x+h, y+h, z+(-h)); // Верх право квадрата (Право) glTexCoord2f(h, 0.0f); glVertex3f(x+h, y+h, z+h); // Верх лево glTexCoord2f(h, h); glVertex3f(x+h, y+(-h), z+h); // Низ лево glTexCoord2f(0.0f, h); glVertex3f(x+h, y+(-h), z+(-h)); // Низ право glEnd(); // Закончили квадраты
}
Сообщение отредактировал ProFiLeR - Воскресенье, 06 Февраля 2011, 16:23 |
|
| |
ProFiLeR | Дата: Воскресенье, 06 Февраля 2011, 15:27 | Сообщение # 27 | Тема: C++ Проблема с генератором уровней |
частый гость
Сейчас нет на сайте
| я написал генератор уровней (кубиками) вот код Code int bZL = 0; if(first==true) { for (int bXL = 0; bXL < 32; ++bXL) { for (int bYL = 0; bYL < 512; ++bYL) { if(bYL<<230){block_pos[bXL][bYL][bZL]=1;} if(bYL>>240&&bYL<<242) { int random=rand()%1+0; if(random==1) {block_pos[bXL][bYL][bZL]=1;}
if(random==0) {block_pos[bXL][bYL][bZL]=0;} } }
if(bXL==32) { bXL=0; ++bZL; } } first=false; } рендер уровня происходит по такому же принцыпу вот код Code bZL = 0;
for (int bXL = 0; bXL < 32; ++bXL) { for (int bYL = 0; bYL < 512; ++bYL) { if(block_pos[bXL][bYL][bZL]==1) { draw_cube( bXL, bYL, bZL, 1, xtrans, ytrans, ztrans, lookupdown, sceneroty); } }
if(bXL==32) { bXL=0; ++bZL; } } draw_cube - функция рисования куба управление клавой (мышь сам писал) взято из 10-того урока NeHe по дебаг скрину видно что моя позиция меняется(когда я хожу) но кубы не рендерятся хотя если заменить код рендера или написать после рендеркода это Code draw_cube( 0, 0, 0, 1, xtrans, ytrans, ztrans, lookupdown, sceneroty); то в позиции [0,0,0] создается куб если кто-то разберется в моём коде то он гений или я очень 'просто' пишу код заранее спасибо
Сообщение отредактировал ProFiLeR - Воскресенье, 06 Февраля 2011, 15:27 |
|
| | | |
ProFiLeR | Дата: Пятница, 04 Февраля 2011, 22:20 | Сообщение # 30 | Тема: Подскажите физические движки |
частый гость
Сейчас нет на сайте
| Quote (lorenze) конечно можно заморочится тоесть смысла нету надо просто написать алгоритмы чтобы игрок ходил по заданым координатам(по наклонным плоскостям) и не падал скводь обьект? очень интересно, спасибо, я наверное действительно не стану брать целый физический движок а просто напишу функции
|
|
| | |
ProFiLeR | Дата: Пятница, 04 Февраля 2011, 21:15 | Сообщение # 32 | Тема: Подскажите физические движки |
частый гость
Сейчас нет на сайте
| Я раньше писал программы, теперь я хочу занятся геймдевом работаю в OGL написал управление (клава и мышь), убирание невидимых граней, очень интересует можно ли найти физический движок без изменения в программе к примеру я делаю игру с прямым изменением в карте можно ли исспользовать box colide или что-то в роде mesh colide c plane'aми в opengl на скрине ты типа берешь лопату и выбиваешь угол, можно его вверх или вниз опускать и физика сразу находит что я опустил или поднял и просчитывает коллизию игрока с полом желательно дать физ движок легкий, с примерами
|
|
| |
|