Пишу движок... движок полностью открытый, 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 в плугин (мульти апи делать не собираюсь) ?