Saturday, June 18, 2016

Source code lines count

Simple and comfortable utility what computes metrics of code. Result for my project:

Engine Only:
——————————————

308 Source Files
40815 Lines of Code
6004 Blank Lines of Code
602 Code and Comment Lines of Code

Editors (Level, Logic, Sound, Material, EngineToEditor Layer)
——————————————
69 Source Files
13826 Lines of Code
1126 Blank Lines of Code
15 Code and Comment Lines of Code

Shaders:
——————————————
33 Source Files
4339 Lines of Code
399 Blank Lines of Code
61 Code and Comment Lines of Code


Plugins and tools for art:
——————————————
21 Source Files
3935 Lines of Code
713 Blank Lines of Code
7 Code and Comment Lines of Code



Of course in the metrics there is no SDK and another third-party slag, all this is written own hands.

Зарубки на память

http://diaryofagraphicsprogrammer.blogspot.ru/
http://joker-ru.livejournal.com/

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 проект к нему