|
07.11.2007, 13:25
|
#106
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
я не бросил!!!! я сейчас делаю скриптовую систему(конкретно, то делаю, чтобы все выражения считались правильно)...насчет 2Д была реализована загрузка BMP u TGA.....через дня 3 сделаю и jpg u dds. я щас со скриптами полностью разберусь и проЭкт пойдет дальше=)
|
(Offline)
|
|
07.11.2007, 13:31
|
#107
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: Blitz3D engine
XenuS, надеюсь, будет png .. и будет выводится оно как в бмаксе.. надеюсь...
|
(Offline)
|
|
07.11.2007, 13:39
|
#108
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
я тоже надеюсь=)))
аааа.....совсем забыл!!!
я сделал наконец не такую форму инициализации (StartMainLoop() && MainLoop()), а, как советовал jimon, через ООП!
сейчас выложить код не смогу, я с телефона, но примерно это так:
#include "Blitz3D.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
glDevice *device;
device=new glDevice;
device->createDevice(1024,768,32,true);
while (device->run())
{
device->UpdateDevice();
device->GetSystemInformation();
device->beginScene();
device->RenderWorld();
device->Flip();
device->endScene();
}
return 0;
}
Синтаксис пока что похож на irrlicht, но я его изменяю на стиль б3д. но теперь мой двиг работает без всяких MainLoop"ов=))) Как хотите, так и пишите....никаких ограничений
|
(Offline)
|
|
07.11.2007, 21:20
|
#109
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
очередной отчет:
добавил вывод прямоугольника(закрашен-незакрашен), оптимизировал
сам код рендера.....изменил вывод текста...теперь он стал в 100 раз удобнее...и сделал альфу в 2D...
код:
#include "Blitz3D.h"
xText txt;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
xDevice *device;
device=new xDevice;
device->setWindowTitle("~XenuS~ Soft");
device->createDevice(1024,768,32,true);
xFlatDevice *fr;
fr=new xFlatDevice;
txt.loadFont();
while (device->run())
{
device->updateDevice();
device->getSystemEvents();
device->beginScene();
device->renderWorld();
fr->setColor(1,0,0);
fr->setAlpha(1);
txt.print("Hello, world! - %d",46);
fr->setColor(0,1,0);
fr->setAlpha(0.5);
fr->drawRect(90,50,190,190,true);
device->flip();
device->endScene();
}
return 0;
}
|
(Offline)
|
|
08.11.2007, 11:52
|
#110
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Blitz3D engine
fr-> и device-> постоянно нужно писать? Этож Очень неудобно
|
(Offline)
|
|
08.11.2007, 13:56
|
#111
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Blitz3D engine
fr-> и device-> постоянно нужно писать? Этож Очень неудобно
|
жжошь.
XenuS, что ужо готово то?
|
(Offline)
|
|
08.11.2007, 14:37
|
#112
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
2MoKa: я решил просто поменять архитектуру всего двига...fr - это FlatRender(рендер плоскости), device->само устройство(WinApi, управление окном и т.д.), vr(Volume render) - рендер объемных объектов и задание всех их параметров...
2JohnK:
готово весь вывод 2Д и он оптимизирован, в отличии от предыдущей версии двига....сейчас делаю 3Д...как только разберусь со скриптами, выложу демку....можно будет через скрипты писать на двиге=))) (по-крайней мере меня это очень радует
|
(Offline)
|
|
08.11.2007, 15:07
|
#113
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Blitz3D engine
XenuS, Хм, можно ещё собрать пару примеров сравнения скорости 2д, твоего, б3д и бм движков. (это намёк )
|
(Offline)
|
|
08.11.2007, 15:12
|
#114
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Blitz3D engine
Xenus, молодчиг! жги дальше. А альфа что и тексту будет ставиться? жесть.
|
(Offline)
|
|
08.11.2007, 15:55
|
#115
|
Разработчик
Регистрация: 16.09.2006
Сообщений: 354
Написано 10 полезных сообщений (для 2 пользователей)
|
Re: Blitz3D engine
MoKa, это не удобно, это ООП .
XenuS, лучше забрось ты этот WinAPI, ИМХО, гораздо лучше GLUT или GLFW.
|
(Offline)
|
|
08.11.2007, 16:33
|
#116
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
2MoKa: ок, намек понял=))) либо сегодня, либо завтра дам потестить(кстати, рендер 3Д сейчас тестил.....я делаю б3Д на 15-20 фпс где 10000 кубиков )
2haedim: да я бы делал и на glut...но многие(и на булке и нет) были против...тем более я так долго маялся, что бы код довести до такого состояния, в котором он сейчас=))))
>> А альфа что и тексту будет ставиться?
ты про что?
|
(Offline)
|
|
08.11.2007, 23:27
|
#117
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
как и было обещано=)))) 10к кубиков.....фрустум включен....
в архиве лежат ехе и блица и B3Dengine...просьба отписаться=))
у меня:
мой двиг: 65-70 ФПС
блиц 3Д: 18-19 ФПС
(сам не знаю, отчего такая разница )
для примера я взял тоже кубики, как HolyDel=))
а, и еще....выход из моего двига пока Alt+F4...
код движка:
#include "Blitz3D.h"
#define M 10000
xFont *font;
xTexture *tex;
xCube c[M];
float fps;
int oif;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
SeedRnd(Millisecs());
xDevice *device;
xFlatDevice *flatDevice;
xVolumeDevice *volumeDevice;
device=new xDevice;
flatDevice=new xFlatDevice;
volumeDevice=new xVolumeDevice;
font=new xFont;
tex=new xTexture;
device->createDevice(1024,768,32,true);
device->setWindowTitle("~XenuS~ Soft engine (Blitz3D engine)");
font->loadFont("Monotype Corsiva",36,0,1,0);
flatDevice->setFont(font);
tex->loadTexture("texture.bmp");
tex->genTexture();
for (int i=0;i<M;i++)
{
c[i].setTexture(tex);
c[i].setPosition(Rand(-50,50),Rand(-50,50),Rand(-50,50));
c[i].setRotation(Rand(0,360),Rand(0,360),Rand(0,360));
volumeDevice->addMesh(c[i]);
volumeDevice->applyMeshChanges(c[i]);
}
while (device->run())
{
device->updateDevice();
device->getSystemEvents();
for (int i=0;i<M;i++)
{
c[i].turn(0.1,0.2,0.3);
c[i].move(0,0,0.1);
volumeDevice->applyMeshChanges(c[i]);
}
volumeDevice->renderWorld();
flatDevice->setXY(30,90);
flatDevice->setColor(1,0,0);
flatDevice->printText("FPS: %3.1f",fps);
//flatDevice->setXY(30,210);
//flatDevice->printText("Objects in frustum: %d",oif);
volumeDevice->flip();
fps=getFPS();
//oif=volumeDevice->getObjectsInFrustum();
}
return 0;
}
код блица
Graphics3D 1024,768,32,1
SetBuffer BackBuffer ()
Lastfps#=0;
fps#=0;
time#=0
curtime#=0
font=LoadFont ("Monotype Corsiva",36,0,1,0)
SetFont font
Const N=10000
tex=LoadTexture("texture.bmp")
Dim c(N)
For i=1 To N
c(i)=CreateCube()
PositionEntity c(i),Rand(-50,50),Rand(-50,50),Rand(-50,50)
RotateEntity c(i),Rand(0,360),Rand(0,360),Rand(0,360)
EntityTexture c(i),tex
Next
cam=CreateCamera()
Repeat
For i=1 To N
TurnEntity c(i),0.1,0.2,0.3
MoveEntity c(i),0,0,0.1
Next
RenderWorld
curtime#=MilliSecs()
fps#=fps#+1
If curtime#-time#>=1000
Lastfps#=fps#
fps=0
time#=curtime#
EndIf
Color 255,0,0
Text 30,90,"FPS: "+Lastfps#
Flip
Until KeyHit(1)
End
|
(Offline)
|
|
08.11.2007, 23:49
|
#118
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Blitz3D engine
а можно архивчег без блицевского ексешника?
|
(Offline)
|
|
08.11.2007, 23:53
|
#119
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Blitz3D engine
конечно)
|
(Offline)
|
|
09.11.2007, 00:00
|
#120
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Blitz3D engine
60 фпс.
ограниченно частотой монитора.
+ - быстро
- - дурацкая текстура (199х год) (имею ввиду метод текстурирования)
вроде в исзодниках прописано, чтобы было показано скока объектов в зоне видимости, но почему то цифры я не заметил.
ЗЫ. Молодец, так держать!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Engine |
win32 |
3D-программирование |
14 |
01.08.2009 17:52 |
Illusion engine 2/5 D |
Черный крыс |
Проекты на BlitzMax |
4 |
24.07.2009 23:06 |
Atlantis Engine |
Lost |
Проекты C++ |
62 |
18.06.2009 05:00 |
Novartis Engine |
Genius |
Библиотеки |
75 |
18.10.2008 02:28 |
Часовой пояс GMT +4, время: 04:10.
|