You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update Readme.md, the SSH checkout requirement, contributors, etc.
@AnastaZIuk please check the Android build instructions are still up to date. Also check if we need a `gl.h` anymore, it should already be in `src/3rdparty/` ?
Address the TODOs
@Przemog1 swap out for better screenshots from #showcase channel.
P.S. Bump staff titles.
Copy file name to clipboardExpand all lines: README.md
+57-48Lines changed: 57 additions & 48 deletions
Original file line number
Diff line number
Diff line change
@@ -4,23 +4,28 @@
4
4
5
5
**Nabla** (previously called **[IrrlichtBaW](https://github.com/buildaworldnet/IrrlichtBAW)** ) is a new renovated version of older **[Irrlicht](http://irrlicht.sourceforge.net/)** engine.
6
6
The name change to Nabla allows for using Nabla side by side with the legacy Irrlicht and IrrlichtBaW engines.
7
-
The project currently aims for a thread-able and *Vulkan*-centered API, but currently works on *OpenGL* only.
7
+
The project currently aims for a thread-able and *Vulkan*-centered API, the Vulkan backend is almost complete, and OpenGL and ES backends are currently in maintenance mode.
8
8
9
-
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.
9
+
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 was almost entirely sponsored by **Build A World Aps**. in it's early days, and now has been picked up by the **[Ditt](https://www.ditt.nl/)** company.
10
10
11
11
## (Get Hired) Jobs and Internships
12
12
13
13
If you are a programmer with a passion for High Performance Computing, Mathematics and Computer Graphics
14
14
15
-
If you can work 100% remotely and be in charge of your own time managment
15
+
If you can be in charge of your own time managment and work 4-day work weeks 100% remotely
16
16
17
17
Then make something impressive using Nabla, open a PR and contact us (jobs devsh.eu) with your CV.
18
18
19
-
We would also be happy to sponsor your master thesis as long as:
19
+
We would also be happy to sponsor your master or bachelor thesis as long as:
20
20
- You are an above average student with an interest in Graphics
21
21
- It will be written in English
22
22
- It will produce contributions to Nabla which we can license under Apache 2.0
23
23
24
+
For internships contact us with:
25
+
- CV in english
26
+
- A neat description of any paperwork you'll need (schools/universities)
27
+
_Most importantly contact us at least 3 weeks in advance of your internship organisation deadline!_
28
+
24
29
## (Hire Us) Contracting
25
30
26
31
The members of **Devsh Graphics Programming Sp. z O.O.** (Company Registration (KRS) #: 0000764661) are available (individually or collectively) for contracts on projects of various scopes and timescales, especially on foreign frameworks, codebases and third-party 3D frameworks.
@@ -30,6 +35,7 @@ The members of **Devsh Graphics Programming Sp. z O.O.** (Company Registration (
30
35
- OpenGL
31
36
- OpenGL ES
32
37
- WebGL
38
+
- WebGPU
33
39
- Vulkan
34
40
- OpenCL
35
41
- CUDA
@@ -40,9 +46,9 @@ The members of **Devsh Graphics Programming Sp. z O.O.** (Company Registration (
40
46
- video encoding and decoding
41
47
- High Performance Computing
42
48
43
-
Our language of choice is C++17 with C++11 and C11 coming in close second, however we're also amenable to Java, Python and related languages.
49
+
Our language of choice is C++17 with C++11 and C11 coming in close second, however we're also amenable to C#, Java, Python and related languages.
44
50
45
-
Contact ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogramming)*** (e-mail available in the GitHub profile) with inquires into contracting.
51
+
Contact `newclients@devsh.eu` with inquires into contracting.
-**[MSVC](https://visualstudio.microsoft.com/pl/downloads/)** or **[GCC](https://sourceforge.net/projects/mingw-w64/)**
179
-
-**[Vulkan SDK](https://vulkan.lunarg.com/sdk/home)**, at least **1.2.198.1** version ***without* any components** installed
186
+
-**[MSVC](https://visualstudio.microsoft.com/pl/downloads/)** or **[GCC](https://sourceforge.net/projects/mingw-w64/)** or **[NDK's Clang](https://TODO.todo/)**
187
+
-**[Vulkan SDK](https://vulkan.lunarg.com/sdk/home)**, at least **1.2.198.1** version ***without* any components**(they break out SPIR-V Tools integration) installed
-**[Python 3.8](https://www.python.org/downloads/release/python-380/)** or later
190
+
-**[Python 3.8](https://www.python.org/downloads/release/python-380/)** or later (3.10.2 required for Renderdoc based GPU Automated Tests)
183
191
184
-
### Vanilla + CUDA Build
192
+
####Vanilla + CUDA Build
185
193
186
-
**Nabla** only supports *CUDA* interop using the Driver API not the Runtime API. We use the runtime compiled CUDA.
194
+
**Nabla** only supports *CUDA* interop using the Driver API not the Runtime API. We use NVRTC to produce runtime compiled PTX.
187
195
188
196
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.
189
197
@@ -197,7 +205,7 @@ On Windows *CMake* has trouble finding new packages installed after *CMake*, so
197
205
198
206
You can also thank NVidia for making the CUDA SDK a whole whopping 2.5 GB on Windows.
199
207
200
-
### Vanilla + CUDA + Optix Build
208
+
####Vanilla + CUDA + Optix Build
201
209
202
210
After dealing with *CUDA* installing just install *Optix SKD*.
203
211
@@ -226,22 +234,21 @@ Having Nabla generated you need to enter build directory, launch the terminal an
226
234
227
235
**Note:** each example provided by the engine builds as an executable with non-cross builds and with target of a name called `a_target`, in following example above it would be `android_sample`. When building cross-compile for android **to produce the APK file you need to add `_apk` postfix to the `a_target`, because `a_target` gets built then as a library.
228
236
229
-
#### Chrome Book SDK version
237
+
#### DEPRECATED: Chrome Book SDK version
230
238
231
239
In order for the chromebook to work with the apk you build you need to install the right SDK version. Go to **Tools** -> **SDK Manager** -> **System Settings** -> **Android SDK** then select the *SDK Platforms* tab and tick the "Show Packake Details" checkbox in the bottom-right corner. After that select *Android 9.0 (Pie) -> Android SDK Platform 28* and hit "OK".
232
240
233
-
#### Chrome Book upload
241
+
#### DEPRECATED: Chrome Book upload
234
242
235
243
To upload generated *.apk* into your ChromeBook you need first to make sure your device is in *developer mode* state. If it is, you can open Android Studio and choose Debug or Profile choosing *.apk* file. Then you will need to connect to your device using **adb** connector. To make use of adb, you need to find path to the executable that is placed in `C:/Users/<your_user>/AppData/Local/AndroidSdk/platform-tools` directory. When found, you can type in Android Studio command line `C:/Users/<your_user>/AppData/Local/AndroidSdk/platform-tools/adb connect <IP of ChromeBook network>`. You can find ChromeBook's IP by entering network settings and choosing current network ChromeBook is connected to. This way the ChromeBook should be listed in available devices and you should be able to upload *.apk* to the machine through debugging app shortcut. Take into account that you won't probably be able to debug in that scenario, but you will be able to upload *.apk* to the device.
236
244
237
-
#### Chrome Book debug
245
+
#### DEPRECATED: Chrome Book debug
238
246
239
247
To debug the *.apk* on your chromebook you need to open the source file you want to debug in Android Studio (Either via *File->Open* or Drag&Drop, but be aware that d&d can deadlock your Android Studio 25% of the time so youll need to restart it), then place your breakpoints and hit "Debug" (The bug icon) in the top right corner.
240
248
241
249
## External Dependencies
242
250
243
251
-**gl.h** header for *OpenGL* (possible to obtain even on headless servers from *mesa-libgl-devel*)
244
-
-**OpenCL SDK** (can get rid of it by compiling without the two *OpenCL* files)
245
252
246
253
## Future Boost Library Dependencies
247
254
@@ -255,14 +262,16 @@ To debug the *.apk* on your chromebook you need to open the source file you want
255
262
256
263
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.
257
264
258
-
## Building Nabla library
265
+
## Building the Nabla library
259
266
260
267
### Cloning the project
261
268
269
+
**NOTICE: Due to GitHub SSH policy, our CI needed all submodules to be added with SSH URLs. THIS MEANS YOU NEED TO CHECKOUT THE SUPERPROJECT VIA SSH!**
If you haven't cloned `recursive`ly, you have to also perform:
@@ -272,7 +281,7 @@ git submodule init
272
281
git submodule update
273
282
```
274
283
275
-
*CMake* config script will try to initialize submodules for you however as well, but it doesn't mean the initialization attempt will be successful.
284
+
*CMake* config script will try to initialize submodules for you however as well, but it doesn't mean the initialization attempt will be successful (it often is not when performed on a shaky internet connection, and you end up with dirty, locked or unversioned submodules).
But if you're working on making changes to one of our customized dependencies, you want to disable that, to not have the submodule reset on every CMake reconfigure (which may happen during a build).
301
+
287
302
#### Weird CMake behaviour, notes
288
303
289
304
Sometimes it may appear that there **won't be any files in submodules directories**. If so, you have to bring them back by using:
@@ -292,13 +307,7 @@ Sometimes it may appear that there **won't be any files in submodules directorie
292
307
git reset --hard
293
308
```
294
309
295
-
on each submodule's directory required! Furthermore you have to:
296
-
297
-
```shell
298
-
git checkout tags/glew-cmake-2.1.0
299
-
```
300
-
301
-
in *glew* directory that you can find in ***3rdparty/CEGUI/glew*** directory because of *glew* commiting politics. Having done it you can switch to your ***master/root*** directory and commit those changes if you want, but it isn't necessary to compile entire library.
If you want to use git (without a submodule) then you can use `ExternalProject_Add` with the `GIT_` properties instead.
403
+
If you want to use git (without a submodule) then you can use `ExternalProject_Add` with the `GIT_` properties instead.
395
404
396
-
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).
405
+
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.
406
+
407
+
## Automated Builds (TODO)
397
408
398
409
## License
399
410
400
411
**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.
401
412
402
-
## API documentation, help and extra improvements
403
-
404
-
If you would like to take care of documenting some files, please **[click it](https://github.com/Devsh-Graphics-Programming/Nabla/wiki/Documentation)**. If you feel like you'd be interesting in improving and maintaining this repository's wiki, contact ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogramming)*** on **[Discord](https://discord.gg/4MTCVaN)**.
413
+
## Documentation (WIP/TODO)
405
414
406
415
## Official Support (Discord)
407
416
408
-
Permament members of *Devsh Graphics Programming Sp. z O.O.* use this to organise publicly visible work. **[Join to the server](https://discord.gg/4MTCVaN)** to get into more details. There's also a skype support group, reach ***[@devshgraphicsprogramming](https://github.com/devshgraphicsprogramming)*** for a private invite.
417
+
Permament members of *Devsh Graphics Programming Sp. z O.O.* use this to organise publicly visible work. **[Join to the server](https://discord.gg/4MTCVaN)** to get into more details.
-**Krzysztof Szenk*****[@crisspl](https://github.com/Crisspl)*** (Senior Programmer: Everything in Nabla has been touched by his golden hands!)
432
+
-**Danylo Sadivnychyi [@sadiuk](https://github.com/sadiuk)** (Junior Programmer: Android system interfaces and buildsystem, FFT Ocean)
433
+
-**Cyprian Skrzypczak*****[@Hazardu](https://github.com/Hazardu)*** (embeded resources and optimalizations)
424
434
-***[@khom-khun](https://github.com/khom-khun)*** (Bullet Physics Extension + Example and **[the irrBaW-test repository of easy to understand demos](https://github.com/khom-khun/irrBAW-test)**)
425
-
-***[@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)
426
-
-***[@florastamine](https://github.com/florastamine)*****Nguyễn Ngọc Huy** (sRGB-Correct Image Loaders, CEGUI and BRDF Explorer GUI)
427
435
-**Søren Gronbech**
428
-
-**Cyprian Skrzypczak*****[@Hazardu](https://github.com/Hazardu)*** (embeded resources and optimalizations)
436
+
-***[@florastamine](https://github.com/florastamine)*****Nguyễn Ngọc Huy** (sRGB-Correct Image Loaders, CEGUI and BRDF Explorer GUI)
437
+
-***[@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)
429
438
430
439
#### Words of appreciation for developers whose software has been used in **Nabla**, currently and in the past:
431
440
@@ -435,4 +444,4 @@ Permament members of *Devsh Graphics Programming Sp. z O.O.* use this to organis
0 commit comments