Friday, June 17, 2016

NGTech Engine Technical Specifictaions 17.06.2016

Render
  • Fully Deferred Rendering 
  • Physically Based Rendering.
  • Parallax Occlusion Mapping
  • Steep Parallax Mapping
  • Parallax Mapping
  • FXAA
  • The gamma-correct, linear colour space renderer
  • Hardware Occlusion Query
  • Frustum Culling
PBR includes:Physically based materials - metalness workflow.
Punctual light sources.


Physics System
Powered by nVidia PhysX technology, can utilise multiple CPU cores, or nVidia GPU hardware.
  • Tightly integrated into the content pipeline and the game itself, including physical materials on all surfaces, physically driven sound
  • Rigid body constructions.
On hardware-accelerated PhysX platforms engine implements full physically correct behaviour of particles such as smoke, debris, etc.

Audio System
Multi-threaded high dynamic range Audio system with constant memory usage and data-driven design
  • 3D sound positioning, spatialisation and attenuation
  • Reverb, low-pass/high-pass filtering, pitch shifting - all auto-calculated based on sound-path and adjustable by multi-layer environment zones, scripting or programmatically
  • OGG-vorbis compressed with adjustable quality

Scripting
Includes two pipelines:
  1. Lua-pipeline (with lifetime control of object).
  2. C++-pipeline (not realtime).

Platforms
Currently supported:
  • Windows
  • Linux
  • Android (Partially)
Tools
  • 3D Studio Max export plugin
  • Level Editor: scale, rotate, moving objects, changes of properties

Engine was written completelly on C++ except editor (C#), and has using object-oriented design 

Sunday, February 15, 2015

Сборка Ogre3D 2.1 под Ubuntu 14.10



Для начала надо установить зависимости(считаем,что C++ компилятор и cmake уже развернуты)-тут фокус с вручную указанными зависимостями не прокатит(Deps папка,и add_subdirectory в корневом CmakeFiles.cmake):
sudo apt-get install libfreetype6-dev libboost-date-time-dev libboost-thread-dev nvidia-cg-toolkit libfreeimage-dev zlib1g-dev libzzip-dev libois-dev libcppunit-dev doxygen libxt-dev libxaw7-dev libxxf86vm-dev libxrandr-dev libglu-dev libsdl2-dev

Cmake'ом генерируем проект,типа unix-makefile

В терминале(ctrl+alt+t):
Переходим в директорию cmake бинарников(поле cmake binaries)
cd этот путь

Запускаем на компиляцию(имя корневого make файла MakeFile)
make -f MakeFile

Тут может вылезти ошибка,из-за драйверов nvidia-при сборке GL3+ рендер модуля
Как ее решать,я нагуглил,но ссылку найти не могу-суть в том,что переименовали ссылку на libgl.so. Как нибудь точно напишу(посмотрю в истории) [TODO]
Для 32 битной Ubuntu это выглядит вот так
$sudo ln -s /usr/lib/i386-linux-gnu/libGLU.so.1 /usr/lib/libGL.so

Для 64 битной Ubuntu это выглядит вот так
$sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1 /usr/lib/libGL.so

Потом начинаем собирать.
Для первой сборки собирать с семплами нельзя!-Это мой косяк,даже нет,это фича.
А фича вот почему-мой способ сборки(папка Deps+правка для CmakeFiles) дает возможность не билдить эти зависимости отдельно.

Посему сначала билдим без семплов->собираем->тут уже собираются зависимости->потом собираем еще раз cmake проект->собираем с семплами

Дело в том,что для семплов жестко указана зависимость от SDL2. Пока я не корректировал это.

Запускаем:
В терминале: cd папка из cmake binaries
Вызываем: ./Имя проекта

Если будет ругаться на то,что файл не является запускаемым,то делаем его таким:
chmod +x file


Ну и результат:


Про CLION

Собрать через корневой файл cmake,не удалось,только если собирать по отдельности каждый файл проекта.. Это мне не подходит..хочется собирать все сразу.. Посему отложил-чуть позже напишу cmake файл сборки движка который будет подключать все необходимое и .idea проект к нему