|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.12.2010, 14:44 | #11 |
c++, dx/ogl
Форумчанин
Регистрация: 10.11.2008
Сообщений: 131
|
Используйте все что хотите и как хотите.
Никто вам нормативов не пишет, как правильно, а как нет. Лишь бы вам легко писалось и в дальнейшем путаницы не вызывало. ООП, наследование, перегрузку ф-й либо просто процедурное программирование– все что сочтете уместным используйте - я не думаю, что механика языка будет самым узким местом в программе.
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but rather how many batches/frame! |
17.12.2010, 15:38 | #12 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Главное правило - не делать действий ради самих действий. Выносите все статические коды за циклы, если ничего не меняется, то и не нужно выполнять это в цикле (как было с текстурами, которые не меняются, но грузятся в цикле).
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
17.12.2010, 19:22 | #13 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Мне кажется, что по сравнению с тем, что обычно тормозит в наших программах, виртуальные функции с наследованием и прочие примочки ООП будут абсолютно незаметны.
Изобретатель велосипедов
|
20.12.2010, 12:32 | #14 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Итак, вот релиз, более менее похожий на игру. Пока можно ходить сквозь стены. Есть загрузка уровней и моделей из текстового файла. На каждом уровне надо дойти от синей штуки до красной штуки. Так и не разобрался с тестом глубины, стены мерцают и не отсекаются по глубине. Прошу помочь, кто чем может. Необходимо, в первую очередь, реализовать физику (чтобы не было проникновения сквозь стены) и тест глубины. Спасибо
|
20.12.2010, 15:56 | #15 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Считай расстояние от точки до поверхности(камера-треугольник) и если эта величина < любого R(рост перса...) то выталкивай эту сферу по направлению нормали...(Самый простой способ...)
PS: лень грузить пол метра... PSS: скачал, ох не люблю когда функции без скобок пишут, часто путаюсь где функция, где переменная... FTexture: PPixelArray; Лишнее, достаточно загрузить текстуру в видеопамять и хранить только ее id, все остальные данные долой delete[]; Я нигде не увидел включения буфера глубины(или я ослеп)... glEnable(GL_DEPTH_TEST); glDepthMask(GL_TRUE); glDepthFunc(GL_LEQUAL); glClearDepth(1.0f); __________________ Код:
Код:
glGenTextures(1, &id); glBindTexture(GL_TEXTURE_2D, id); gluBuild2DMipmaps( GL_TEXTURE_2D, GL_RGBA, width, height, GL_BGRA, GL_UNSIGNED_BYTE, data ); ... а в select писать glBindTexture(GL_TEXTURE_2D, id); Последний раз редактировалось Kostia; 20.12.2010 в 16:24. |
20.12.2010, 16:53 | #16 |
c++, dx/ogl
Форумчанин
Регистрация: 10.11.2008
Сообщений: 131
|
Код:
Стало меньше мельканий… но все-таки еще есть.
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but rather how many batches/frame! |
20.12.2010, 19:03 | #17 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Пришлось вручную грузить функции:
Код:
|
21.12.2010, 13:16 | #18 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Мерцание устранил. Надо было третьим параметром в gluPerspective передавать не 0, а 0.01.
Код лля работы с текстурами пока старый. Сегодня переделаю. Функции glGenTextures и glBindTexture должны быть в альтернативных заголовочных файлах gl.pas и glu.pas. Спасибо за помощь Выкладываю текущую версию, пусть это будет build 0002. P.S. С диска книги Библия Delphi взял OpenGL 4.0 и заголовочные файлы для него. Там есть все нужные функции. P.P.S. Неправда, это был не OpenGL 4.0, поэтому удаляю. Я сам не понял, с этими заголовочниками какая-то фигня... Последний раз редактировалось anyx; 22.12.2010 в 12:44. |
21.12.2010, 13:34 | #19 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Несколько замечаний по геймплею:
1. Движение происходит слишком быстро - не вылететь за пределы комнаты можно только если перемещаться очень аккуратно, по одному шагу туда-сюда. 2. Не слишком удобно управлять клавишами-стрелками, т.к. правая рука лежит на мышке, а левая вынуждена тянуться к правой стороне клавиатуры. С WASD было бы удобней, на мой взгляд. 3. При щелчке левой кнопкой появляется окно с ошибкой "Abstract Error"
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
21.12.2010, 13:44 | #20 | ||
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Цитата:
Цитата:
Нет обработчика щелчка мыши (точнее он абстрактный). Пока рано над этим работать. В проекте много модулей. Возможно, что помещение некоторого кода мной в определённый модуль покажется вам нелогичным. Если так, то сообщайте, я подумаю... Инициализирую графику я в TGraphic.FormCreate, а устанавливаю параметры (в том числе и буфер глубины) в TScene.FormCreate Последний раз редактировалось anyx; 22.12.2010 в 13:38. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ничего себе... 3D шутер... | mihali4 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 91 | 21.05.2011 13:29 |