|
04.03.2009, 07:45
|
#31
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: Atlantis Engine
NitE Быть не идеотом - этого мало!
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
05.03.2009, 01:27
|
#32
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Скромное обновление:
* Создание текстур
* Рендеринг в текстуру (будет доделано завтра)
* Добавлен класс для рендеринга aRenderTexture (тонюсенькая обвертка сюрфейса в дх, тем не менее создает впечатление целостности сего процесса )
З.Ы. Пофиксены мелкие баги и ошибки.
-Алеллуйа-
А теперь настало время для 2х мини демок
1. Стресс тест
Нету множества оптимизаций но тем не менее очень интересно сколько выжмет фпс и запуститься ли вообще . В сцене 4096 кубов + текстура 515х512х24 с сжатием ДХТ1.
http://lostgamestudio.ucoz.ru/load/0-0-0-9-20
1. Небольшой тест гуя и физикса
Сцена - статический физ обьект, лампочки - джоинты, кубики - боксы, меню - панельки и кнопочки. Аналогично первому ждем замечаний окромя камеры с ней много проблем...ее вращает по ролл оси постоянно, пока не могу починить никак...уж извините.
http://lostgamestudio.ucoz.ru/load/0-0-0-10-20
Управление:
Mouse Right + move mouse - вращать камеру (она будет так некрасиво кренится =()
W S - двигать перса - инвалида
Mouse Left - пуляет ящичек
|
(Offline)
|
|
05.03.2009, 01:48
|
#33
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Atlantis Engine
1. стресс-тест
когда пусто - 320-327 фпс
когда примерно половина - 80 фпс
когда все - 27-28 фпс
когда выходишь - выдает ошибку
вот логи:
'Atlantis Engine' build 1154, Mar 5 2009
* Инициализация...
[ INFO 00:46:44 ]: * Инициализация рендера
[ INFO 00:46:44 ]: Инициализация Direct3D
[ INFO 00:46:44 ]: Создание окна
[ INFO 00:46:44 ]: NVIDIA GeForce 9600M GS nvd3dum.dll 7. 15. 11. 7948
[ INFO 00:46:45 ]: Direct3D успешно инициализирован
[ INFO 00:46:46 ]: * Инициализация менеджера физики
[ INFO 00:46:46 ]: * Инициализация менеджера файлов
[ INFO 00:46:46 ]: * Инициализация менеджера ресурсов
[ INFO 00:46:46 ]: * Инициализация менеджера интерфейса
[ INFO 00:46:46 ]: * Инициализация менеджера сцены
[ INFO 00:46:46 ]: * Инициализация менеджера рендеринга
[ INFO 00:46:46 ]: * Инициализация таймера
[ INFO 00:47:28 ]: * Деинициализация менеджера рендеринга
|
2. Небольшой тест гуя и физикса
1. Впринципе не особо заметно, но на курсоре чучуть кривовато натянута текстура (сверху показана часть низа). юзай ClampToEdge в настройках фильтра.
2. кнопки работают отлично!
3. фпс окола 1200, но картинка кажется почему то дерганой (физика обновляется не каждый кадр?)
4. такая-же ошибка при выходе.
|
(Offline)
|
|
05.03.2009, 11:38
|
#34
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Большое спасибо за тест! С обновлением физики нужно немного поиграться, очень странно откуда взялась ошибка, у меня все ровно, приду домой - буду искать причину.
|
(Offline)
|
|
05.03.2009, 12:39
|
#35
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: Atlantis Engine
Смотрел второй тест
вобщем.
Вруструм режит кубики жестко, бывает что видно как они исчезают.
Лампы есть, но должны ли они испускать свет- хм, не испускают =)
так же падает при выходе. Интересно, по чему не юзать (exit(1) ? )
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
05.03.2009, 12:54
|
#36
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Фрустум самый нбычный, лампочка светит только 1 и то плохо видно из-за высокого амбиента, с вылетом разберусь дома, у меня всегда норм работало, вчера поздно было, торопился, может чего забыл.
|
(Offline)
|
|
05.03.2009, 17:23
|
#37
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: Atlantis Engine
НИОДНА из дэмок не запускается. Не первая не эти 2.
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
05.03.2009, 18:36
|
#38
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Сообщение от -=Jack=-
НИОДНА из дэмок не запускается. Не первая не эти 2.
|
А лог нельзя? Предполагаю,что проблема в том, что вы не установили драйвера на физикс (не ниже версии 2.8.1.).
|
(Offline)
|
|
05.03.2009, 19:02
|
#39
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Патчик для второй демки (где лампочки)
По идее должны быть исправлены баги с дерганьем физики (но возможны и другие баги), а вот вылет уже попробуйте..должно все работать....у меня и без патча не вылетало а коректно завершалась программа
http://slil.ru/27025249
|
(Offline)
|
|
06.03.2009, 14:07
|
#40
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: Atlantis Engine
Сообщение от Lost
А лог нельзя? Предполагаю,что проблема в том, что вы не установили драйвера на физикс (не ниже версии 2.8.1.).
|
'Atlantis Engine' build 2215, Jan 28 2009
* Initializing Engine...
[ INFO 12:06:23 ]: * Timer is successfull initialized
[ INFO 12:06:23 ]: Сreate window...OK
[ INFO 12:06:23 ]: Initialize Direct3D...OK
[ INFO 12:06:23 ]: * Render Manager is successfull initialized
[ INFO 12:06:23 ]: * File Manager is successfull initialized
[ INFO 12:06:23 ]: * Resource Manager is successfull initialized
[ INFO 12:06:24 ]: * Physics is successfull initialized
[ INFO 12:06:24 ]: * Scene Manager is successfull initialized
[ INFO 12:06:24 ]: Create font "Arial" "arial"
[ INFO 12:06:24 ]: Create camera "default"
[ INFO 12:06:24 ]: Load texture "media/tiles_bump.jpg" "tiles_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/act_lenin_bump.jpg" "act_lenin_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/crete_beton_3_bump.jpg" "crete_beton_3_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/grnd_shlak_02_bump.jpg" "grnd_shlak_02_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/mtl_colored_alum_bump.jpg" "mtl_colored_alum_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/priboi_crap_greydust_bump.jpg" "priboi_crap_greydust_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/ston_beton_ch_09_bump.jpg" "ston_beton_ch_09_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/ston_bordur_bump.jpg" "ston_bordur_bump"
[ INFO 12:06:24 ]: Load texture "media/lenin/ston_oblicovka_gr05_bump.jpg" "ston_oblicovka_gr05_bump"
[ INFO 12:06:24 ]: Load texture "media/ae_256x256.jpg" "ae_256x256"
[ INFO 12:06:24 ]: Load effect "media/shadowmapping.fx" "shadowmapping"
[ INFO 12:06:24 ]: Create texture "shadow_tex"
[ INFO 12:06:24 ]: Create render texture "shadow_rt"
[ INFO 12:06:24 ]: Create depth stencil texture "shadow_rt"
[ INFO 12:06:25 ]: Load mesh "media/lenin/lenin.x"
[ INFO 12:06:25 ]: Create material "grnd_shlak_02"
[ INFO 12:06:26 ]: Load texture "media\lenin\grnd_shlak_02.jpg" "grnd_shlak_02"
[ INFO 12:06:26 ]: Create material "crete_beton_3"
[ INFO 12:06:26 ]: Load texture "media\lenin\crete_beton_3.jpg" "crete_beton_3"
[ INFO 12:06:26 ]: Create material "ston_beton_ch_09"
[ INFO 12:06:26 ]: Load texture "media\lenin\ston_beton_ch_09.jpg" "ston_beton_ch_09"
[ INFO 12:06:26 ]: Create material "ston_oblicovka_gr05"
[ INFO 12:06:26 ]: Load texture "media\lenin\ston_oblicovka_gr05.jpg" "ston_oblicovka_gr05"
[ INFO 12:06:26 ]: Create material "mtl_colored_alum"
[ INFO 12:06:26 ]: Load texture "media\lenin\mtl_colored_alum.jpg" "mtl_colored_alum"
[ INFO 12:06:26 ]: Create material "act_lenin"
[ INFO 12:06:26 ]: Load texture "media\lenin\act_lenin.jpg" "act_lenin"
[ INFO 12:06:26 ]: Create material "priboi_crap_greydust"
[ INFO 12:06:26 ]: Load texture "media\lenin\priboi_crap_greydust.jpg" "priboi_crap_greydust"
[ INFO 12:06:26 ]: Create material "priboi_crap_greydust"
[ INFO 12:06:26 ]: Create material "ston_bordur"
[ INFO 12:06:26 ]: Load texture "media\lenin\ston_bordur.jpg" "ston_bordur"
[ INFO 12:06:26 ]: Create entity "media/lenin/lenin.x" "lenin"
[ INFO 12:06:27 ]: Create light "light1"
[ INFO 12:06:27 ]: Load mesh "media/sphere.x"
[ INFO 12:06:27 ]: Create material "ae_256x256"
[ INFO 12:06:27 ]: Load texture "media\ae_256x256.jpg" "ae_256x256"
[ INFO 12:06:27 ]: Create entity "media/sphere.x" "sphere"
Физикс стоит. Кстать, последние 2 демки заработали
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
06.03.2009, 15:05
|
#41
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
-=Jack=-
Поставь патч должно помочь, ссылка на второй странице
|
(Offline)
|
|
06.03.2009, 16:34
|
#42
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: Atlantis Engine
Да всё норм
Выглядит отлично = )
Но нашел пару глюков:
1. Глюки с феструмом (когда объект не виден пропалают тени, а иногда даже объект пропадает, когда он виден о_О)
2. http://i007.radikal.ru/0903/39/8c87f9f71ae1.jpg
Кстать, не мог бы показать исходник(самого примера)? Хотелось бы увидеть код и оценить его удобство понятность
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
06.03.2009, 17:04
|
#43
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Сейчас движок переработал с нуля, но вот сорец с второй демки (с лампочками)
//=========================================================================
// Atlantis Engine
// All Rights Reserved 2008
//
//
// Email: [email protected]
// ICQ: 284-298-113
//=========================================================================
#include<windowsx.h>
#include"resource.h"
#include"Atlantis.h"
// Обьекты
aFont* fontTahoma;
aFont* fontFPS;
// Уровень 1
aEntity* entLevel01;
aTexture2D* texLevel01_lm;
NxActor* actLevel01;
aEntity* entLight;
aLight* light;
aEntity* entLamp1;
aEntity* entLamp2;
// Игрок
aCamera* camPlayer;
aEntity* entPlayer;
NxActor* actPlayer;
float fPlayerMoveSpeed = 4.0f;// 1 - default
bool isMouseRight = false;
aEntity* entWeapon_vintorez;
// Интерфейс
aPanel* panCursor;
aPanel* panBackground;
aButton* butStart;
aButton* butExit;
// Устанавливает параметры джоинта
void setJointParameters(NxJointDesc &desc, NxActor* _pActor1, NxActor* _pActor2, aVector3 _vecPos)
{
desc.setToDefault();
desc.actor[0] = _pActor1;
desc.actor[1] = _pActor2;
desc.setGlobalAnchor(Vec3ToNxVec3(_vecPos));
}
// Создает подвесную лампочку и возвращает указатель на енити лампы
aEntity* createJointLamp(aString _strModel, aVector3 _vecPosJoint, aVector3 _vecPosActor)
{
aEntity* entity = SceneManager.createEntity(_strModel);
NxActor* actor = PhysicManager.createActor(PHYSIC_CONVEX, entity);
actor->wakeUp(true);
actor->setGlobalPosition(Vec3ToNxVec3(_vecPosActor));
actor->setLinearDamping(0.3f);
actor->setAngularDamping(0.3f);
NxSphericalJointDesc desc;
desc.setToDefault();
desc.actor[0] = actor;
desc.actor[1] = NULL;
NxJoint* joint = PhysicManager.createJoint(desc);
joint->setGlobalAnchor(Vec3ToNxVec3(_vecPosJoint));
return entity;
}
// Рендерит линии джоинтов
void renderJointLines()
{
Render.renderLine(aVector3(-4.5f, 3.1f, 0), entLamp1->getPos(), aColor(0, 0, 255));
Render.renderLine(aVector3(-3.5f, 3.1f, 0), entLamp2->getPos(), aColor(0, 0, 255));
Render.renderLine(aVector3(-2.5f, 3.1f, 0), entLight->getPos(), aColor(0, 0, 255));
}
// Создает сцену
void createScene()
{
// заргужаем 1й уровень
entLevel01 = SceneManager.createEntity("media/meshes/l01_test.x");
entLevel01->setScale(aVector3(0.05f, 0.05f, 0.05f));
actLevel01 = PhysicManager.createActor(PHYSIC_STATIC, entLevel01);
// заргужаем и назначаем ему лайтмапу
texLevel01_lm = ResourceManager.loadTexture("media/textures/l01_test_lm.tga");
entLevel01->setTexture(TEXTURE_LIGHTMAP, 0, texLevel01_lm);
// подвесим пару лампочек на джоинтах
entLamp1 = createJointLamp("media/meshes/lamp.x", aVector3(-4.5f, 3.1f, 0), aVector3(-4.5f, 2.3f, 0));
entLamp2 = createJointLamp("media/meshes/lamp.x", aVector3(-3.5f, 3.1f, 0), aVector3(-3.5f, 2.3f, 0));
// реальный источник освещения :)
entLight = createJointLamp("media/meshes/lamp.x", aVector3(-2.5f, 3.1f, 0), aVector3(-2.5f, 2.3f, 0));
light = SceneManager.createLight(LIGHT_POINT);
light->setColor(aColor(255, 255, 255));
light->setRange(15.0f);
// создаем камеру
camPlayer = SceneManager.createCamera();
camPlayer->setFOV(0.80f);
camPlayer->setNearPlane(0.1f);
SceneManager.setCamera(camPlayer);
// создаем игрока
entPlayer = SceneManager.createEntity("media/meshes/box.x");
entPlayer->setScale(aVector3(0.1f, 0.1f, 0.1f));
entPlayer->resetFlag(ENTITY_VISIBLE);
actPlayer = PhysicManager.createActor(PHYSIC_BOX, entPlayer);
actPlayer->setGlobalPosition(NxVec3(10, 1, 0));
// разрешаем поворачивать меш только по оси X и Y
// чтобы не переворачивался
actPlayer->raiseBodyFlag(NX_BF_FROZEN_ROT_X);
actPlayer->raiseBodyFlag(NX_BF_FROZEN_ROT_Y);
actPlayer->raiseBodyFlag(NX_BF_FROZEN_ROT_Z);
// прикрепляем оружие к игроку
//entWeapon_vintorez = SceneManager.createEntity("media/meshes/wpn_vss.x");
//entWeapon_vintorez->setScale(aVector3(0.1f, 0.1f, 0.1f));
//entWeapon_vintorez->setPos(aVector3(10, 1, 0));
/*
aEntity* boxes[1024];
int j = 0;
for (int i = 0; i < 32; i++)
{
for (j = 0; j < 32; j++)
{
boxes[i] = SceneManager.createEntity("media/meshes/box.x");
boxes[i]->setScale(aVector3(0.3f, 0.3f, 0.3f));
boxes[i]->setPos(aVector3(2.0f * i, 0.0f, 2.0f * j));
}
}
*/
}
// Обновляет игрока
void updatePlayer()
{
aVector2 force = DX9Render.getMouseForce();
if (DX9Render.mouseLeft())
{
camPlayer->rotateYaw(force.x / 5);
camPlayer->rotatePitch(force.y / 5);
}
// двигаем игрока за камерой
aVector3 vecCamPos = NxVec3ToVec3(actPlayer->getGlobalPosition());
vecCamPos.y += 0.5f;
camPlayer->setPos(vecCamPos);
// направление камеры
aVector3 vecMove = camPlayer->getDir();
// двигает игрока вперед
if (DX9Render.keyDown(KEY_W))
{
actPlayer->setLinearVelocity(NxVec3(vecMove.x * fPlayerMoveSpeed, vecMove.y, vecMove.z * fPlayerMoveSpeed));
}
// назад
if (DX9Render.keyDown(KEY_S))
{
actPlayer->setLinearVelocity(NxVec3(-vecMove.x * fPlayerMoveSpeed, vecMove.y, -vecMove.z * fPlayerMoveSpeed));
}
// на правую кнопку мыши бросаем кубик
if (DX9Render.mouseRight() == true && isMouseRight == false)
{
aEntity* ent = SceneManager.createEntity("media/meshes/box.x");
ent->setScale(aVector3(0.3f, 0.3f, 0.3f));
//ent->setFlag(ENTITY_TRANSLUCENT);// use alpha channel
aVector3 dir = camPlayer->getDir();
aVector3 force = dir * 1500;
NxActor* act = PhysicManager.createActor(PHYSIC_CONVEX, ent);
act->setGlobalPosition(Vec3ToNxVec3(camPlayer->getPos()));
act->addForce(Vec3ToNxVec3(force), NX_FORCE, false);
isMouseRight = true;
}
if (!DX9Render.mouseRight() && isMouseRight)
{
isMouseRight = false;
}
//entWeapon_vintorez->setPos(camPlayer->getPos());
//entWeapon_vintorez->setDir(camPlayer->getDir());
}
// Показывает меню
void showMenu()
{
panBackground->setFlag(GUI_VISIBLE);
butStart->setFlag(GUI_VISIBLE);
butExit->setFlag(GUI_VISIBLE);
}
// Прячет меню
void hideMenu()
{
panBackground->resetFlag(GUI_VISIBLE);
butStart->resetFlag(GUI_VISIBLE);
butExit->resetFlag(GUI_VISIBLE);
}
// Закрывает игру
void exitGame()
{
exit(0);
}
// Вызывается при наведении на кнопочку
void onTouch_start() {butStart->setFlag(GUI_COLORED);}
void onTouch_exit() {butExit->setFlag(GUI_COLORED);}
// Вызывается при снятии курсора с кнопки
void onLeave_start() {butStart->resetFlag(GUI_COLORED);}
void onLeave_exit() {butExit->resetFlag(GUI_COLORED);}
// Создает интерфейс
void createInterface()
{
// информация
fontTahoma = GUIManager.createFont("Tahoma", 14);
fontTahoma->setText("Everybody lies... (c) House MD");
// курсор
panCursor = GUIManager.createPanel("media/ui/cursor.dds");
panCursor->setFlag(GUI_TRANSLUCENT);
panCursor->setLayer(999);
// фон меню
panBackground = GUIManager.createPanel("media/ui/lost_bg.jpg");
panBackground->setLayer(1);
panBackground->setWidth(1024);
panBackground->setHeight(768);
// кнопка "Enter The Island"
butStart = GUIManager.createButton("media/ui/button_01.bmp");
butStart->setLayer(2);
butStart->setWidth(128);
butStart->setHeight(32);
butStart->setPos(aVector2((DX9Render.getWidth() - butStart->getWidth()) / 2, (DX9Render.getHeight() - butStart->getHeight()) / 2));
butStart->setOnEvent(GUI_EVENT_CLICK_LEFT, hideMenu);
butStart->setOnEvent(GUI_EVENT_TOUCH, onTouch_start);
butStart->setOnEvent(GUI_EVENT_LEAVE, onLeave_start);
butStart->addDigit(12, 8, fontTahoma, aColor(255, 255, 255), "Enter The Island");
butStart->setColor(aColor(255, 128, 128));
// кнопка "Exit"
butExit = GUIManager.createButton("media/ui/button_01.bmp");
butExit->setLayer(2);
butExit->setWidth(128);
butExit->setHeight(32);
butExit->setPos(aVector2(butStart->getPos().x, butStart->getPos().y + 64));
butExit->setOnEvent(GUI_EVENT_CLICK_LEFT, exitGame);
butExit->setOnEvent(GUI_EVENT_TOUCH, onTouch_exit);
butExit->setOnEvent(GUI_EVENT_LEAVE, onLeave_exit);
butExit->addDigit(52, 8, fontTahoma, aColor(255, 255, 255), "Exit");
butExit->setColor(aColor(128, 128, 255));
// TEST0: создание текстуры
//aTexture2D* texCreated = ResourceManager.createTexture(256, 256, D3DFMT_A8B8G8R8);
//butExit->setOnEventTexture(GUI_EVENT_LEAVE, texCreated);
}
// Обновляет интерфейс
void updateInterface()
{
panCursor->setPos(DX9Render.getMousePos());
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// инициализация
Render.init(1024, 768, 32, false, false);
DX9Render.setTitle("Everybody lies... (c) House MD");
ShowCursor(false);
// выключаем дебаг режим
Log.setEnableDebug(false);
// параметры рендера
Render.setTextureFiltering(TEXTURE_FILTERING_LINEAR);
Render.setLightingEnable(true);
Render.setAmbientLight(aColor(200, 190, 170));
Render.setClearColor(aColor(200, 190, 170));
// сцена
SceneManager.setDebugMode(false);
// шрифт выводящий значение FPS
fontFPS = GUIManager.createFont("Tahoma", 18);
fontFPS->setLayer(2);
fontFPS->setPos(aVector2(0.0f, 30.0f));
// создаем интерфейс
createInterface();
// создаем сцену
createScene();
// for 4096 boxes test
/*
camPlayer = SceneManager.createCamera();
camPlayer->setFOV(0.80f);
camPlayer->setNearPlane(0.1f);
SceneManager.setCamera(camPlayer);
aEntity* boxes[4096];
int j = 0;
for (int i = 0; i < 64; i++)
{
for (j = 0; j < 64; j++)
{
boxes[i] = SceneManager.createEntity("media/meshes/box.x");
boxes[i]->setScale(aVector3(0.3f, 0.3f, 0.3f));
boxes[i]->setPos(aVector3(2.0f * i, 0.0f, 2.0f * j));
}
}
*/
// главный цикл
while (DX9Render.getWindowActive())
{
/*
// если нажали кнопку выход
if (DX9Render.keyDown(KEY_ESCAPE)) {break;}
// управление камерой
if (DX9Render.keyDown(KEY_W)) {camPlayer->moveX( 0.12f);}
if (DX9Render.keyDown(KEY_S)) {camPlayer->moveX(-0.12f);}
if (DX9Render.keyDown(KEY_A)) {camPlayer->moveZ(-0.12f);}
if (DX9Render.keyDown(KEY_D)) {camPlayer->moveZ( 0.12f);}
if (DX9Render.keyDown(KEY_Z)) {camPlayer->moveY( 0.12f);}
if (DX9Render.keyDown(KEY_X)) {camPlayer->moveY(-0.12f);}
aVector2 force = DX9Render.getMouseForce();
if (DX9Render.mouseLeft())
{
camPlayer->rotateYaw(force.x / 5);
camPlayer->rotatePitch(force.y / 5);
}
*/
// UPDATE LIGHT ENTITY
light->setPos(entLight->getPos());
// выводим фпс
fontFPS->setText(aMakeString("FPS: %.f", Timer.getFPS()));
// обновляем интерфейс
updateInterface();
// обновляем игрока
updatePlayer();
// ! update scene !
PhysicManager.updateScene();
SceneManager.updateScene();
// ! rendering here !
Render.clearScreen();
Render.beginRender();
// ! rendering scene !
RenderManager.renderScene();
// ! user rendering !
renderJointLines();
// ! flip backbuffer !
Render.flip();
}
exit(0);
return0;
}
Последний раз редактировалось Lost, 06.03.2009 в 17:10.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Lost за это полезное сообщение:
|
|
06.03.2009, 17:39
|
#44
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: Atlantis Engine
Прикольно Вроде удобный синтаксис
А давно движок делаешь? сам? Какие возможности есть, кроме показанных в демках?
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
06.03.2009, 17:54
|
#45
|
Оператор ЭВМ
Регистрация: 09.12.2007
Сообщений: 39
Написано 2 полезных сообщений (для 4 пользователей)
|
Ответ: Atlantis Engine
Движок делаю с августа месяца, уже 3й раз переписываю, первый ну там все понятно, проба пера), второй раз - зашел в архитектурный тупик...опыта не особо много в проектировании...ну вот 3й раз стараюсь уже избегать подобных ошибок, пишу где-то месяц
Из возможностей - почитай на 2й странице, если есть еще вопросы - задавай, отвечу =)
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Ninfa3d Engine |
L.D.M.T. |
3D-программирование |
54 |
09.01.2010 06:41 |
Engine |
win32 |
3D-программирование |
14 |
01.08.2009 17:52 |
Illusion engine 2/5 D |
Черный крыс |
Проекты на BlitzMax |
4 |
24.07.2009 23:06 |
IRR Licht3D Engine |
Matrix |
C++ |
3 |
31.01.2009 23:06 |
Часовой пояс GMT +4, время: 12:24.
|