Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 07.11.2007, 13:25   #106
XenuS
Нуждающийся
 
Регистрация: 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
XenuS
Нуждающийся
 
Регистрация: 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
XenuS
Нуждающийся
 
Регистрация: 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
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Blitz3D engine

fr-> и device-> постоянно нужно писать? Этож Очень неудобно
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 13:56   #111
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Blitz3D engine

fr-> и device-> постоянно нужно писать? Этож Очень неудобно
жжошь.

XenuS, что ужо готово то?
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 14:37   #112
XenuS
Нуждающийся
 
Регистрация: 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
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Blitz3D engine

XenuS, Хм, можно ещё собрать пару примеров сравнения скорости 2д, твоего, б3д и бм движков. (это намёк )
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 15:12   #114
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: Blitz3D engine

Xenus, молодчиг! жги дальше. А альфа что и тексту будет ставиться? жесть.
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 15:55   #115
haedim
Разработчик
 
Регистрация: 16.09.2006
Сообщений: 354
Написано 10 полезных сообщений
(для 2 пользователей)
Re: Blitz3D engine

MoKa, это не удобно, это ООП .
XenuS, лучше забрось ты этот WinAPI, ИМХО, гораздо лучше GLUT или GLFW.
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 16:33   #116
XenuS
Нуждающийся
 
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
Re: Blitz3D engine

2MoKa: ок, намек понял=))) либо сегодня, либо завтра дам потестить(кстати, рендер 3Д сейчас тестил.....я делаю б3Д на 15-20 фпс где 10000 кубиков)
2haedim: да я бы делал и на glut...но многие(и на булке и нет) были против...тем более я так долго маялся, что бы код довести до такого состояния, в котором он сейчас=))))
>> А альфа что и тексту будет ставиться?
ты про что?
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 23:27   #117
XenuS
Нуждающийся
 
Регистрация: 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
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Blitz3D engine

а можно архивчег без блицевского ексешника?
(Offline)
 
Ответить с цитированием
Старый 08.11.2007, 23:53   #119
XenuS
Нуждающийся
 
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
Re: Blitz3D engine

конечно)
(Offline)
 
Ответить с цитированием
Старый 09.11.2007, 00:00   #120
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Blitz3D engine

60 фпс.
ограниченно частотой монитора.
+ - быстро
- - дурацкая текстура (199х год) (имею ввиду метод текстурирования)
вроде в исзодниках прописано, чтобы было показано скока объектов в зоне видимости, но почему то цифры я не заметил.

ЗЫ. Молодец, так держать!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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, время: 08:28.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com