ЕИМ СВЯТ

Начална страница     Брой 6     English version
Carsten's 3D Engine
Може би най-добрият 3D-engine от първо лице правен от един човек
    Тук са представени характеристиките на Ca3DE за версия 0.1 от 01 април 2001 Посетете страницата на Ca3D-engine http://www.ca3d-engine.de за повече информация и за да си изтеглите и изпробвате сами програмата!
Главни особености
Високоскоростно BSP- и PVS- изчертаване
Апаратно OpenGL ускорение под Win9X/ME/2000
Осветление чрез проследяване на лъчите
Скелетно изчертаване на моделите

Карстен казва:
    Ca3DE е разработен в свободното ми време. Повече информация, screen-shots и "свалки" са достъпни на www.ca3d-engine.de

Пълен списък на възможностите на системата:
•BSP / PVS / Portal creation
Това са най-важните и мощни алгоритми, макар че няма да можете да ги видите в демото... Цялото вълшебство се крие в тях.

•Radiosity based lightmap calculations
Светлинните изчисления са основани на физически правилни принципи,което прибавя голяма доза реализъм в картите. За по-голяма бързина, качеството на светлинните ефекти може да бъде намалено.Това е полезно особено по време на разработката, когато дизайнерите искат просто да имат приблизителна представа за местоположението на светлините.


•Оптимизации за идеална геометрия

•Тъй като инструментите за компилиране на картите вършат повече от 80% от тежката работа и тъй като прекарах по-голямата част от времето в разработване на тези приложения (именно CaBSP и CaPVS), реших да ви дам по-подробна информация за тях и за това как се компилират картите. Много е трудно да се оценят тези инструменти само от демото достъпно за сваляне.Нека наблегна на това,че силата на Ca3D-Engines е не само в резултат на бърз текстуриращ код,но на първо място основан на ценната работа върху CaBSP и CaPVS !
Wire-frame screen-shots могат да ви подскажат за какво става въпрос: те управлява и изтрива всички грешки и дефекти ,които правещият картата може да допусне. После остава идеалната "кожа" на картата. От друга гледна точка с хардуерно ускорена графика , може би ще стане по-изгодно да не се правят чак толкова големи оптимизации. Ще проверя това ,когато му дойде времето.

•За проектантите на карти,всеки редактор, който улеснява създаването на карти за Quake или Half Life ще свърши работа.

•Картите направени по този начин са обработени с Qmap2Ca tool, който прочита картата, преобразува я в моят собствен формат и я записва върху диска. На този етап, не се извършват никакви цифрови процеси и файлът е все още може да се чете от хора. Qmap2Ca, която е стара програма за Borland Pascal 7.0, не прави нищо повече от това да препише плоскостните дефиниции, да приспособи имената на текстурите и някои други подробности. Само в случай, че още не сте разбрали : Файловете с карти в тази фаза нямат стойност за какъвто и да е 3D engine. Единственото предназначение на Qmap2Ca е, че ми спестява нуждата да правя свой собствен редактор за карти.

•CaBSP извършва няколко стъпки върху преобразуваната карта, за да създаде нов файл:

1.Горепоменатият файл се зарежда, прави му се синтактичен разбор и се построяват основните информационни структури.
2.Създава се първото BSP дърво.
3.Добавят се порталите
4.Изтриват се външните части на картата. Това е важна стъпка - (виж по-горе "Оптимизации за идеална геометрия") донася големи ползи,като например намаляването на размера на данните, по-голямо бързодействие и по-ясни карти.
5.Проникващите една в друга части от картата са разделени. Това помага подобно на горната стъпка.
6.Стъпки 2 и 4 се повтарят: Създава се второто BSP дърво с допълнителна информация за порталите и се изтриват други външни части от картата. Това подпомага оптималната производителност.
7.Ненужно разцепените стени се сливат отново.
8.Създава се последното BSP дърво и се добавя заключителната портална информация.
9.BSP файлът се записва върху диска.

•Capvs взема новият BSP файл и преизчислява възможната видимост. Това е задача изискваща голяма процесорна мощ. Seth Teller е написал дисертация ("Visibility Computations In Densely Occluded Polyhedral Environments"), която обяснява произхода и как може да бъде изчислена PVS информацията. Въпреки, че подхода на CaPVS се различава незначително по сложност, крайният алгоритъм е ясен, прост, относително кратък и ефективен. CaPVS изискваше най-дълго време за разработка, от всички компоненти на Ca3DE, което се дължи на факта, че аз исках да завърша CaPVS още когато бях в училище, дълго преди първите ми часове по компютърни науки. PVS е ключът към бързо отбиране и рендериране и е една от най-важните техники в съвременната триизмерна реалновременна графика.

•CaLight взема изменения от CaPVS BSP файл и добавя светлинна информация. Въпреки, че реда на приложението на тези инструмент е теоретично заменяем, CaLight използва PVS данните, без които изчислението на осветлениетото би отнело много повече време.

•Готов е крайният изходен фаил, който се използва от Ca3DE за да изчертава картата. Няколко такива компилирани карти са включени в пакета за сваляне.


Следват няколко мига от "JrBase1"...


 
 
    Вижте http://www.ca3d-engine.de,за да научите повече за тримерната система и да изтеглите самия Ca3DE.

    Електронното списание "ЕИМ СВЯТ" благодари на автора Карстен Фукс!