Skip to content

Commit 01fffca

Browse files
committed
Updated readme file
1 parent e30e0b5 commit 01fffca

File tree

1 file changed

+65
-65
lines changed

1 file changed

+65
-65
lines changed

README.md

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# IrrlichtBAW
1+
# Nabla
22

33
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
44

5-
**IrrlichtBAW** is a new renovated version of older **[Irrlicht](http://irrlicht.sourceforge.net/)** engine. The project currently aims for a thread-able and *Vulkan*-centered API, but currently works on *OpenGL* only. This framework has been kindly begun by the founder ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogramming)*** of **[Devsh Graphics Programming Sp. z O.O.](http://devsh.eu/)** and almost entirely sponsored by **Build A World Aps**. in it's early days, and now picked up by the **[Ditt](https://www.ditt.nl/)** company. The `stable-ish` branch is used in production releases of **[Build A World EDU](https://edu.buildaworld.net/)**, since 2015. The framework has been used both for game development and ArchViz.
5+
**Nabla** is a new renovated version of older **[Irrlicht](http://irrlicht.sourceforge.net/)** engine. The project currently aims for a thread-able and *Vulkan*-centered API, but currently works on *OpenGL* only. This framework has been kindly begun by the founder ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogramming)*** of **[Devsh Graphics Programming Sp. z O.O.](http://devsh.eu/)** and almost entirely sponsored by **Build A World Aps**. in it's early days, and now picked up by the **[Ditt](https://www.ditt.nl/)** company. The `stable-ish` branch is used in production releases of **[Build A World EDU](https://edu.buildaworld.net/)**, since 2015. The framework has been used both for game development and ArchViz.
66

77
## Contracting
88

@@ -194,7 +194,7 @@ Contact ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogrammi
194194

195195
### Vanilla + CUDA Build
196196

197-
**IrrlichtBAW** only supports *CUDA* interop using the Driver API not the Runtime API. We use the runtime compiled CUDA.
197+
**Nabla** only supports *CUDA* interop using the Driver API not the Runtime API. We use the runtime compiled CUDA.
198198

199199
Because *CUDA* needs its own version the GeForce (Quadro or Tesla) Driver, its often a few minor versions behind your automatically updated Windows driver, the install will fail even if it prompts you to agree to installing an older driver.
200200

@@ -221,7 +221,7 @@ After dealing with *CUDA* installing just install *Optix SKD*.
221221

222222
## Future Boost Library Dependencies
223223

224-
**IrrlichtBAW** uses or will use the following **[*Boost*](https://www.boost.org/)** libraries:
224+
**Nabla** uses or will use the following **[*Boost*](https://www.boost.org/)** libraries:
225225

226226
- [ ] **[Bimap](http://man.hubwiz.com/docset/Boost.docset/Contents/Resources/Documents/boost/libs/bimap/doc/html/boost_bimap/bimap_and_boost.html)**
227227
- [ ] **[Context](https://www.boost.org/doc/libs/1_61_0/libs/context/doc/html/context/overview.html)** (maybe, and if yes only the *fcontext_t* variant)
@@ -231,14 +231,14 @@ After dealing with *CUDA* installing just install *Optix SKD*.
231231

232232
The maybe's depend on how *xplatform* and easy to operate the *boost::context* is, esp w.r.t. Linux, Windows and Android. We will not use *boost::fibers* as we need our own complex scheduler.
233233

234-
## Building IrrlichtBAW library
234+
## Building Nabla library
235235

236236
### Cloning the project
237237

238-
Begin with cloning **IrrlichtBAW** with:
238+
Begin with cloning **Nabla** with:
239239

240240
```shell
241-
git clone --recurse-submodules -j8 https://github.com/buildaworldnet/IrrlichtBAW.git
241+
git clone --recurse-submodules -j8 https://github.com/Devsh-Graphics-Programming/Nabla.git
242242
```
243243

244244
If you haven't cloned `recursive`ly, you have to also perform:
@@ -288,7 +288,7 @@ Unfortunately on Windows there are often troubles with **Python 3.0+** versions,
288288

289289
- The paragraph concerns *Visual Studio* only
290290

291-
Make sure you have installed the latest version of *Visual Studio* and *CMake*. Within older versions sometimes there may occur that *Visual Studio* outputs an error associated with compiler heap space. If you don't get any error, just skip the point. It's because having *x64* project opened the solution still uses *32 bit compiler exe* and cannot allocate **more than 4G of memory**, therefore **IrrlichtBAW** is unbuildable. Furthermore *Visual Studio* doesn't provide any option to change that. Because of that you have to manually modify **.vcxproj xml** and add `x64` to `PropertyGroup` nodes. Pay attention that *CMake* generates a standard `PropertyGroup` node, but it isn't enough, because you need to put it into the target where building type is directly specified. It should look for instance as following:
291+
Make sure you have installed the latest version of *Visual Studio* and *CMake*. Within older versions sometimes there may occur that *Visual Studio* outputs an error associated with compiler heap space. If you don't get any error, just skip the point. It's because having *x64* project opened the solution still uses *32 bit compiler exe* and cannot allocate **more than 4G of memory**, therefore **Nabla** is unbuildable. Furthermore *Visual Studio* doesn't provide any option to change that. Because of that you have to manually modify **.vcxproj xml** and add `x64` to `PropertyGroup` nodes. Pay attention that *CMake* generates a standard `PropertyGroup` node, but it isn't enough, because you need to put it into the target where building type is directly specified. It should look for instance as following:
292292

293293
```xml
294294
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
@@ -299,15 +299,15 @@ Make sure you have installed the latest version of *Visual Studio* and *CMake*.
299299
</PropertyGroup>
300300
```
301301

302-
Current example above shows *Release* mode, but you should consider *Debug* as well. Having it done, 64bit cl.exe binary usage will be assured. When u get this problem, don't bother with editing all the **.vcxproj**s. It will probably only matter while building the engine, so the only thing you have to do is edit that **.vcxproj** you actually use - **Irrlicht.vcxproj** for instance and that's it.
302+
Current example above shows *Release* mode, but you should consider *Debug* as well. Having it done, 64bit cl.exe binary usage will be assured. When u get this problem, don't bother with editing all the **.vcxproj**s. It will probably only matter while building the engine, so the only thing you have to do is edit that **.vcxproj** you actually use - **Nabla.vcxproj** for instance and that's it.
303303

304304
If you know a way to make *CMake* generating **.vcxproj**s already having those changes that will solve the issue, it will be great if you let us know about it :)
305305

306306
#### CMake on 64bit Windows
307307

308308
- Best to use *cmake-gui*
309309

310-
Run *cmake-gui* and, as usually, give *CMake* root **IrrlichtBAW** directory and where you want *CMake* to put project files and click "Configure" field. When *CMake* asks you to choose compiler/IDE, make sure to check whether there's a distinct option for *64bit* mode and, if this is the case, choose this one.
310+
Run *cmake-gui* and, as usually, give *CMake* root **Nabla** directory and where you want *CMake* to put project files and click "Configure" field. When *CMake* asks you to choose compiler/IDE, make sure to check whether there's a distinct option for *64bit* mode and, if this is the case, choose this one.
311311

312312
For single-config IDEs (Code::Blocks) you'll have to manually set `CMAKE_BUILD_TYPE` to `Debug` or `Release`. `Release` is default.
313313

@@ -331,95 +331,95 @@ We recommend the ***[Codelite IDE](https://codelite.org/)*** as that has a *CMak
331331

332332
## First examples launching, significant notes
333333

334-
Remember you have to set up **starting target project** in *Visual Studio* before you begin to launch your example. To do that click on **Solution Explorer**, find the example name, hover on it and click on **Set as StartUp Project**. You can disable building examples by `IRR_BUILD_EXAMPLES` option in *CMake*.
334+
Remember you have to set up **starting target project** in *Visual Studio* before you begin to launch your example. To do that click on **Solution Explorer**, find the example name, hover on it and click on **Set as StartUp Project**. You can disable building examples by `NBL_BUILD_EXAMPLES` option in *CMake*.
335335

336-
## Use IrrlichtBaW in your project!
336+
## Use Nabla in your project!
337337

338-
To get **IrrlichtBaW** to be used by an external application *without adding it as a subdirectory*,but still using a submodule, you should perform following:
338+
To get **Nabla** to be used by an external application *without adding it as a subdirectory*,but still using a submodule, you should perform following:
339339

340340
```cmake
341-
list(APPEND IRR_CMAKE_ARGS "-DIRR_BUILD_DOCS:BOOL=OFF") # enable only if you have doxygen installed and detectable by cmake
342-
list(APPEND IRR_CMAKE_ARGS "-DIRR_BUILD_EXAMPLES:BOOL=OFF")
343-
list(APPEND IRR_CMAKE_ARGS "-DIRR_BUILD_TOOLS:BOOL=OFF") # the tools don't work yet (Apr 2020 status, might have changed since then)
344-
list(APPEND IRR_CMAKE_ARGS "-DIRR_BUILD_MITSUBA_LOADER:BOOL=OFF") # you probably don't want this extension
345-
list(APPEND IRR_CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX:PATH=${IRR_INSTALL_DIR}") # because of https://gitlab.kitware.com/cmake/cmake/-/issues/18790
346-
ExternalProject_Add(IrrlichtBaW
341+
list(APPEND NBL_CMAKE_ARGS "-DIRR_BUILD_DOCS:BOOL=OFF") # enable only if you have doxygen installed and detectable by cmake
342+
list(APPEND NBL_CMAKE_ARGS "-DIRR_BUILD_EXAMPLES:BOOL=OFF")
343+
list(APPEND NBL_CMAKE_ARGS "-DIRR_BUILD_TOOLS:BOOL=OFF") # the tools don't work yet (Apr 2020 status, might have changed since then)
344+
list(APPEND NBL_CMAKE_ARGS "-DIRR_BUILD_MITSUBA_LOADER:BOOL=OFF") # you probably don't want this extension
345+
list(APPEND NBL_CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX:PATH=${NBL_INSTALL_DIR}") # because of https://gitlab.kitware.com/cmake/cmake/-/issues/18790
346+
ExternalProject_Add(Nabla
347347
DOWNLOAD_COMMAND ""
348-
SOURCE_DIR "${IRR_SOURCE_DIR}"
349-
BINARY_DIR "${IRR_BINARY_DIR}"
350-
CMAKE_ARGS ${IRR_CMAKE_ARGS}
348+
SOURCE_DIR "${NBL_SOURCE_DIR}"
349+
BINARY_DIR "${NBL_BINARY_DIR}"
350+
CMAKE_ARGS ${NBL_CMAKE_ARGS}
351351
TEST_COMMAND ""
352352
)
353353
354354
# replace with whatever you need ${PROJECT_NAME}
355355
target_include_directories(${PROJECT_NAME}
356356
PUBLIC
357-
$<$<CONFIG:Debug>:${IRR_INSTALL_DIR}/debug/include>
358-
$<$<CONFIG:RelWithDebInfo>:${IRR_INSTALL_DIR}/relwithdebinfo/include>
359-
$<$<CONFIG:Release>:${IRR_INSTALL_DIR}/include>
357+
$<$<CONFIG:Debug>:${NBL_INSTALL_DIR}/debug/include>
358+
$<$<CONFIG:RelWithDebInfo>:${NBL_INSTALL_DIR}/relwithdebinfo/include>
359+
$<$<CONFIG:Release>:${NBL_INSTALL_DIR}/include>
360360
# these are needed because we haven't cleaned up the API properly yet
361-
$<$<CONFIG:Debug>:${IRR_INSTALL_DIR}/debug/source/Irrlicht>
362-
$<$<CONFIG:RelWithDebInfo>:${IRR_INSTALL_DIR}/relwithdebinfo/source/Irrlicht>
363-
$<$<CONFIG:Release>:${IRR_INSTALL_DIR}/source/Irrlicht>
361+
$<$<CONFIG:Debug>:${NBL_INSTALL_DIR}/debug/source/Nabla>
362+
$<$<CONFIG:RelWithDebInfo>:${NBL_INSTALL_DIR}/relwithdebinfo/source/Nabla>
363+
$<$<CONFIG:Release>:${NBL_INSTALL_DIR}/source/Nabla>
364364
)
365365
target_link_libraries(${PROJECT_NAME}
366-
$<$<CONFIG:Debug>:${IRR_INSTALL_DIR}/debug/lib/Irrlicht_debug.lib>
367-
$<$<CONFIG:RelWithDebInfo>:${IRR_INSTALL_DIR}/relwithdebinfo/lib/Irrlicht_rwdi.lib>
368-
$<$<CONFIG:Release>:${IRR_INSTALL_DIR}/lib/Irrlicht.lib>
366+
$<$<CONFIG:Debug>:${NBL_INSTALL_DIR}/debug/lib/Nabla_debug.lib>
367+
$<$<CONFIG:RelWithDebInfo>:${NBL_INSTALL_DIR}/relwithdebinfo/lib/Nabla_rwdi.lib>
368+
$<$<CONFIG:Release>:${NBL_INSTALL_DIR}/lib/Nabla.lib>
369369
)
370-
function(link_irr_dependency DEPENDENCY_NAME)
370+
function(link_nbl_dependency DEPENDENCY_NAME)
371371
target_link_libraries(${PROJECT_NAME}
372-
$<$<CONFIG:Debug>:${IRR_INSTALL_DIR}/debug/lib/${DEPENDENCY_NAME}d.lib>
373-
$<$<CONFIG:RelWithDebInfo>:${IRR_INSTALL_DIR}/relwithdebinfo/lib/${DEPENDENCY_NAME}.lib>
374-
$<$<CONFIG:Release>:${IRR_INSTALL_DIR}/lib/${DEPENDENCY_NAME}.lib>
372+
$<$<CONFIG:Debug>:${NBL_INSTALL_DIR}/debug/lib/${DEPENDENCY_NAME}d.lib>
373+
$<$<CONFIG:RelWithDebInfo>:${NBL_INSTALL_DIR}/relwithdebinfo/lib/${DEPENDENCY_NAME}.lib>
374+
$<$<CONFIG:Release>:${NBL_INSTALL_DIR}/lib/${DEPENDENCY_NAME}.lib>
375375
)
376376
endfunction()
377-
function(link_irr_dependency_ DEPENDENCY_NAME)
377+
function(link_nbl_dependency_ DEPENDENCY_NAME)
378378
target_link_libraries(${PROJECT_NAME}
379-
$<$<CONFIG:Debug>:${IRR_INSTALL_DIR}/debug/lib/${DEPENDENCY_NAME}_d.lib>
380-
$<$<CONFIG:RelWithDebInfo>:${IRR_INSTALL_DIR}/relwithdebinfo/lib/${DEPENDENCY_NAME}.lib>
381-
$<$<CONFIG:Release>:${IRR_INSTALL_DIR}/lib/${DEPENDENCY_NAME}.lib>
379+
$<$<CONFIG:Debug>:${NBL_INSTALL_DIR}/debug/lib/${DEPENDENCY_NAME}_d.lib>
380+
$<$<CONFIG:RelWithDebInfo>:${NBL_INSTALL_DIR}/relwithdebinfo/lib/${DEPENDENCY_NAME}.lib>
381+
$<$<CONFIG:Release>:${NBL_INSTALL_DIR}/lib/${DEPENDENCY_NAME}.lib>
382382
)
383383
endfunction()
384-
link_irr_dependency(glslang)
385-
link_irr_dependency_(jpeg)
386-
link_irr_dependency_(IlmImf-2_4)
387-
link_irr_dependency_(IexMath-2_4)
388-
link_irr_dependency_(Iex-2_4)
389-
link_irr_dependency_(IlmThread-2_4)
390-
link_irr_dependency_(Half-2_4)
391-
link_irr_dependency_(Imath-2_4)
392-
link_irr_dependency(libpng16_static)
384+
link_nbl_dependency(glslang)
385+
link_nbl_dependency_(jpeg)
386+
link_nbl_dependency_(IlmImf-2_4)
387+
link_nbl_dependency_(IexMath-2_4)
388+
link_nbl_dependency_(Iex-2_4)
389+
link_nbl_dependency_(IlmThread-2_4)
390+
link_nbl_dependency_(Half-2_4)
391+
link_nbl_dependency_(Imath-2_4)
392+
link_nbl_dependency(libpng16_static)
393393
# OpenSSL only ever exists in the Release variant
394394
if(WIN32)
395395
target_link_libraries(${PROJECT_NAME}
396-
${IRR_INSTALL_DIR}/lib/libeay32.lib
397-
${IRR_INSTALL_DIR}/lib/ssleay32.lib
396+
${NBL_INSTALL_DIR}/lib/libeay32.lib
397+
${NBL_INSTALL_DIR}/lib/ssleay32.lib
398398
)
399399
else()
400400
target_link_libraries(${PROJECT_NAME}
401-
${IRR_INSTALL_DIR}/lib/libcrypto.lib
402-
${IRR_INSTALL_DIR}/lib/libssl.lib
401+
${NBL_INSTALL_DIR}/lib/libcrypto.lib
402+
${NBL_INSTALL_DIR}/lib/libssl.lib
403403
)
404404
endif()
405-
link_irr_dependency_(shaderc)
406-
link_irr_dependency_(shaderc_util)
407-
link_irr_dependency(SPIRV)
408-
link_irr_dependency_(SPIRV-Tools)
409-
link_irr_dependency_(SPIRV-Tools-opt)
410-
link_irr_dependency(OGLCompiler)
411-
link_irr_dependency(OSDependent)
412-
link_irr_dependency(HLSL)
413-
link_irr_dependency(zlibstatic)
405+
link_nbl_dependency_(shaderc)
406+
link_nbl_dependency_(shaderc_util)
407+
link_nbl_dependency(SPIRV)
408+
link_nbl_dependency_(SPIRV-Tools)
409+
link_nbl_dependency_(SPIRV-Tools-opt)
410+
link_nbl_dependency(OGLCompiler)
411+
link_nbl_dependency(OSDependent)
412+
link_nbl_dependency(HLSL)
413+
link_nbl_dependency(zlibstatic)
414414
```
415415

416416
If you want to use git (without a submodule) then you can use `ExternalProject_Add` with the `GIT_` properties instead.
417417

418-
I recommend you use `ExternalProject_Add` instead of `add_subdirectory` for **IrrlichtBaW** as we haven't tested its use by *3rdparty* applications that use *CMake* to build themselves yet (**BaW EDU** uses it directly from *MSVC*/*make* like it's still the stone-age of build systems).
418+
I recommend you use `ExternalProject_Add` instead of `add_subdirectory` for **Nabla** as we haven't tested its use by *3rdparty* applications that use *CMake* to build themselves yet (**BaW EDU** uses it directly from *MSVC*/*make* like it's still the stone-age of build systems).
419419

420420
## License
421421

422-
**IrrlichtBAW** is released under the **[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)** license. See [**LICENSE.md**](https://github.com/buildaworldnet/IrrlichtBAW/blob/master/LICENSE.md) for more details.
422+
**Nabla** is released under the **[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)** license. See [**LICENSE.md**](https://github.com/Devsh-Graphics-Programming/Nabla/blob/master/LICENSE.md) for more details.
423423

424424
## API documentation, help and extra improvements
425425

@@ -431,7 +431,7 @@ Permament members of *Devsh Graphics Programming Sp. z O.O.* use this to organis
431431

432432
## Credits and Attribution
433433

434-
#### The authors of **IrrlichtBAW** are:
434+
#### The authors of **Nabla** are:
435435

436436
- **Mateusz Kielan** ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogramming)*** (Lead)
437437
- **Krzysztof Szenk** ***[@crisspl](https://github.com/Crisspl)*** (Core Engineer)
@@ -446,7 +446,7 @@ Permament members of *Devsh Graphics Programming Sp. z O.O.* use this to organis
446446
- ***[@manhnt9](https://github.com/manhnt9)*** **Nguyễn Tiến Mạnh** (CEGUI, Build System and Radeon Rays Proof-of-Concept Integration in Prime Engine X with IrrlichtBaW back-end)
447447
- ***[@florastamine](https://github.com/florastamine)*** **Nguyễn Ngọc Huy** (sRGB-Correct Image Loaders, CEGUI and BRDF Explorer GUI)
448448

449-
#### Words of appreciation for developers whose software has been used in **IrrlichtBAW**, currently and in the past:
449+
#### Words of appreciation for developers whose software has been used in **Nabla**, currently and in the past:
450450

451451
- The initial Irrlicht 1.8.3 codebase
452452
- **[OpenSSL](https://github.com/openssl/openssl)** and **[aesGladman](https://github.com/BrianGladman/aes)**

0 commit comments

Comments
 (0)