PMG
https://forum.pmg.org.ru/

GEAR Engine
https://forum.pmg.org.ru/viewtopic.php?f=5&t=4487
Страница 1 из 1

Автор:  Tek [ 03 окт 2007 12:25 ]
Заголовок сообщения:  GEAR Engine

Пишу движок... движок полностью открытый, GPL лицензия,кто хочет присоединяйся.
Пишу на OpenGL/C++(MSVC++ 2005),наработок очень много,решил cсоеденить
Щас имеем:
- Инициализация ОГЛ
- VBO(в стадии зачатия)
- Автоматическое переключение на софтварный вертекс буффер,если недержится хардварный(ARB_VBO).
- Загрузка текстур(сделана через DevIL,это примерно 20 форматов,возможно от неё откажусь,так как слишком большую длл надо тоскать)
Сам движок:
http://tek.ucoz.ru/GEAR/GEAR_0x/0.1.rar
В этом паке:
- Сорцы
- Sample01 - ициализация
- Sample02 - загрузка текстур,использование vbo,наложение текстур
- Доки - диаграмма классов(кривая)
- GPL лицензия,англ. вариант
- DevIL
- Одна текстурка
Также принимаются пинки по поводу кода,всё будет учтено и исправленно.
Sample01
Код:
#include "../GEAR Engine/GEARAPI.h"
#pragma comment(lib,"../debug/GEAR.lib")
using namespace Gear;
void render()
{
       
}
void update()
{

}
void main()
{
   
    Engine::create(800,600,24,24);

    Engine::get()->registerProc(Engine::RENDER_PROC,render);
   
    Engine::get()->registerProc(Engine::UPDATE_PROC,update);
   
    Engine::get()->mainLoop();
}

GEAR Engine 0.2(Это сегодняшний релиз)
- Добавил работу с плагинами
- Сделал плагин системы ввода,через Direct Input(пока только обработка мыши и клавиатуры)
Sample03
Код:
#include "../GEAR Engine/GEARAPI.h"
#pragma comment(lib,"../debug/GEAR.lib")
using namespace Gear;
Input* input;
void render()
{
       
}
void update()
{
    input->update();
    if(input->isKeyDown(17)) MessageBox(NULL,"Hello World","",MB_OK);
}
void main()
{
   
    Engine::create(800,600,24,24);
    Engine::get()->addPlugin("DirectInputPlugin.dll");
    Engine::get()->initialisePlugins();
    input = Engine::get()->getInputSystemByName("DirectInputSubSystem");
   
    Engine::get()->registerProc(Engine::RENDER_PROC,render);
   
    Engine::get()->registerProc(Engine::UPDATE_PROC,update);
   
    Engine::get()->mainLoop();
}

Сорцы выложу ближе к вечеру!
И ещё вопрос: Стоит ли засовывать RenderSystem в плугин (мульти апи делать не собираюсь) ?

Автор:  _dex_ [ 03 окт 2007 12:48 ]
Заголовок сообщения: 

сразу сделаю замечание по системе инпута: if(input->isKeyDown(17)) MessageBox(NULL,"Hello World","",MB_OK); - это тупой вариант, ибо инпут обрабатывать придется не тока для игрового процесса, а еще и иногда для ГУИ, поэтому надо разделять их, да и постоянный опрос вех клавиш - это далеко не гуд....лучше сделать некий класс InputListener, который цепляется к самой InputSystem, а через калбэки к InputListener уже должны цепляться обработчики для разных событий....в результате имеем один InputListener для ГУИ и один для игрового процесса и обработка идет раздельно, да и события постояннно не опрашиваются =)

Автор:  Tek [ 03 окт 2007 14:21 ]
Заголовок сообщения: 

_dex_, Ок,обязательно исправлю...

Автор:  HandriX [ 07 ноя 2008 01:36 ]
Заголовок сообщения:  Re: GEAR Engine

Топик актуален?
Сайт мёртвый вроде...

Автор:  MagicWolf [ 10 ноя 2008 16:07 ]
Заголовок сообщения:  Re: GEAR Engine

Не знаю ...

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/