Сегодняшний день был довольно продуктивен.
С утра понял, что статичная геометрия меня уже сильно подзае.. поднадоела. Так я решил переписать всю физическую систему движка. Жесть, вот это меня больше всего и парит - чем больше кода, сложнее движок, тем сложнее что-либо исправлять в нём. Поменял строку и получил 50-100 ошибок, а строк таких уйма. Вот и сижу, трачу пол дня только лишь на исправление ошибок : ) Результат, конечно, радует но, всёже, кому нужны такие пляски с бубном? А всё идёт от некачественного планирования работы и структуры программы. Вот только планировать как-то не особо получается : \ Не, не то, чтобы я такой тупой был, просто не имею представлоения о том, что же нужно делать то : D Это же мой первый движок. Вот так шаг за шагом, наступая постоянно на свои же грабли, набираюсь опыта, оттачиваю движок. Так сказать медленно но верно движусь к цели : )
Сегодня, как я уже говорил, переписал физическую систему. Всё построено с учётом максимального удобства испольования, возможности смены физического движка. На данный момент используется ODE (Open Dynamic Engine) в качестве физического движка. Ну он, конечно, не такой навороченный как PhysX но мне его возможностей пока что хватает да и враппера нормального для PhysX-а я не нашёл (одно старьё). Да и впринципе не важно.
Гы, наконец добавил физику ландшафту : ) теперь можно ходить по ландшафту и пинать кубики : D Всё пока что работает чётко.
Осталось сделать нормальное физическое описание для игрока. Ну, чтобы прыгал, бегал и т.д. : )
суббота, 20 марта 2010 г.
пятница, 12 марта 2010 г.
GUI re-re-re invent wheel
Сегодня какой-то мегосуровый день о_О Что по жизни что в движке - полный ахтунг.
Сделал генерацибю шрифта в движке. Ну как генерацию.. вообщем как весь процесс выглядит:
1. создаём экземпляр GUIFont - передаём в него имя файла шрифта, который отрендерить, размер шрифта (как в винде) и наборы Unicode диапазонов букв.
2. движок загружает *.ttf (True Type Font), по указанному пути, рендерит все буквы с указанными параметрами в текстуру шрифта, генерирует описание к шрифту
и собсно всё. Шрифт можно применить к любому элементу GUI.
Сделал элемент GUI: Label. В нём реализован рендеринг текста, выравнивание текста по краям, по центру при чём вертикально и горизонтально + базовое форматирование текста.
Вообще весь GUI переписал процентов на 70. Но теперь доволен им ибо всё рисуется быстро и правильно : )
вот несколькими простыми строками накидал простейшее окно:
Сделал генерацибю шрифта в движке. Ну как генерацию.. вообщем как весь процесс выглядит:
1. создаём экземпляр GUIFont - передаём в него имя файла шрифта, который отрендерить, размер шрифта (как в винде) и наборы Unicode диапазонов букв.
2. движок загружает *.ttf (True Type Font), по указанному пути, рендерит все буквы с указанными параметрами в текстуру шрифта, генерирует описание к шрифту
и собсно всё. Шрифт можно применить к любому элементу GUI.
Сделал элемент GUI: Label. В нём реализован рендеринг текста, выравнивание текста по краям, по центру при чём вертикально и горизонтально + базовое форматирование текста.
Вообще весь GUI переписал процентов на 70. Но теперь доволен им ибо всё рисуется быстро и правильно : )
вот несколькими простыми строками накидал простейшее окно:

среда, 10 марта 2010 г.
Progress news
Ура, товарищи.
Вот и закончился очередной этап написания движка : )
Только что (буквально минут 10 назад) доделал редактор ландшафта. Он является частью редактора уровней и способен как редактировать сетку ландшафта - согдавать горы, впадины, выравнивать и сглаживать ландшафт , так и "раскрашивать" его текстурами.
В настоящее время поддерживается 5 текстурных слоёв на ландшафте и в ближайшем будущем увеличение их количества не предвидится ибо нафиг? И так хватает. В том же FarCry2 используются 4 текстуры на весь ландшафт!
Собсно, вот скрин. Просто кистями текстурными поводил по ландшафту и вот что получилось:

*кликните на изображение чтобы посмотреть в боОльшем разрешении"
Вот и закончился очередной этап написания движка : )
Только что (буквально минут 10 назад) доделал редактор ландшафта. Он является частью редактора уровней и способен как редактировать сетку ландшафта - согдавать горы, впадины, выравнивать и сглаживать ландшафт , так и "раскрашивать" его текстурами.
В настоящее время поддерживается 5 текстурных слоёв на ландшафте и в ближайшем будущем увеличение их количества не предвидится ибо нафиг? И так хватает. В том же FarCry2 используются 4 текстуры на весь ландшафт!
Собсно, вот скрин. Просто кистями текстурными поводил по ландшафту и вот что получилось:

*кликните на изображение чтобы посмотреть в боОльшем разрешении"
суббота, 6 марта 2010 г.
WIP terrain editor
вторник, 2 марта 2010 г.
Просто 2 кривых скрина
понедельник, 1 марта 2010 г.
Ёмаё, уже 1 марта
Ну и летит время! Омг. Ну, главное, что и дела на месте не стоят : )
Какбэ переделал шейдер неба и оно теперь рисуется на скорости 1200 ФПС, шейдер компилится доли секнуды по сравнению с прошлым результатом - компилилось 12-15 секунд и выдавало 40 ФПС : D
Сделал смену времени суток. Теперь в небо всеголишь нужно передать время (хоть реальное хоть игровое) и небо само павильно рассчитается. Также необходимо установить время восхода и захода солнца! Это даёт возможность контроллировать длительность дня/ночи + синхронизировано с игровым временем - PROFIT!
пример:
DayTime time = new DayTime(16,11,35); //16 часов 11 минут 35 секунд - время
SceneGraph->Sky.SetTime(time);
ииии..всё : )
Так, на небо и так много времени убил - займусь ландшафтом : )
Какбэ переделал шейдер неба и оно теперь рисуется на скорости 1200 ФПС, шейдер компилится доли секнуды по сравнению с прошлым результатом - компилилось 12-15 секунд и выдавало 40 ФПС : D
Сделал смену времени суток. Теперь в небо всеголишь нужно передать время (хоть реальное хоть игровое) и небо само павильно рассчитается. Также необходимо установить время восхода и захода солнца! Это даёт возможность контроллировать длительность дня/ночи + синхронизировано с игровым временем - PROFIT!
пример:
DayTime time = new DayTime(16,11,35); //16 часов 11 минут 35 секунд - время
SceneGraph->Sky.SetTime(time);
ииии..всё : )
Так, на небо и так много времени убил - займусь ландшафтом : )
Подписаться на:
Сообщения (Atom)