Nabla-Examples-and-Tests
Nabla-Examples-and-Tests copied to clipboard
Nabla's Tests and Examples source code
Examples and Tests
The Nabla Examples are documentation-by-example and building blocks for our future Continuous Integration GPU Integration Tests.
Where can I find the makefiles or IDE projects/solutions?
Given an example in folder XY.ExampleName, CMake will generate either a target or a separate makefile/project/solution called examplename (no number, always lowercase).
Whenever CMake generates separate makefiles/solutions/projects, they will be generated in the ./examples_tests under the build directory you supplied to CMake.
Samples are meant to be built into the ./bin directory in the source (its git-ignored) and invoked with that Current Working Directory.
WARNING: If you're using an IDE different than Visual Studio you need to set the CWD correctly for when you start the example for Debugging!
WARNING: Only generation of IDE projects by standalone CMake is supported, we do not use or rely on IDE integrations of CMake.
Maintenance Matrix
| Example | MSVCx64Release | MSVCx64RWDI | MSVCx64Debug | Androidx86_64Release | Androidx86_64RWDI | Androidx86_64Debug | Win32Vulkan | X11**Vulkan | AndroidVulkan | RequiredCMakeOptions**** |
|---|---|---|---|---|---|---|---|---|---|---|
| 01_HelloWorld | ||||||||||
| 02_ComputeShader | ||||||||||
| 03_GPU_Mesh | ||||||||||
| 04_Keyframe | ||||||||||
| 05_NablaTutorialExample | ||||||||||
| 06_MeshLoaders | ||||||||||
| 07_SubpassBaking | ||||||||||
| 08. | ||||||||||
| 09_ColorSpaceTest | ||||||||||
| 10_AllocatorTest | ||||||||||
| 11_LoDSystem | ||||||||||
| 12_glTF | COMPILE_WITH_GLTF_LOADER | |||||||||
| 13. | ||||||||||
| 14_ComputeScan | ||||||||||
| 15. | ||||||||||
| 16_OrderIndependentTransparency | ||||||||||
| 17_SimpleBulletIntegration | BUILD_BULLET | |||||||||
| 18_MitsubaLoader | BUILD_MITSUBA_LOADER | |||||||||
| 19. | ||||||||||
| 20_Megatexture | ||||||||||
| 21_DynamicTextureIndexing | ||||||||||
| 22_RaytracedAO | BUILD_MITSUBA_LOADER | |||||||||
| 23_Autoexposure | ||||||||||
| 24. | ||||||||||
| 25_Blur | ||||||||||
| 26. | ||||||||||
| 27_PLYSTLDemo | COMPILE_WITH_STL_LOADER,COMPILE_WITH_PLY_LOADER | |||||||||
| 28. | ||||||||||
| 29_SpecializationConstants | ||||||||||
| 30. | ||||||||||
| 31. | ||||||||||
| 32. | ||||||||||
| 33_Draw3DLine | ||||||||||
| 34_LRUCacheUnitTest | ||||||||||
| 35_GeometryCreator | ||||||||||
| 36_CUDAInterop | COMPILE_WITH_CUDA | |||||||||
| 37. | ||||||||||
| 38_EXRSplit | ||||||||||
| 39_DenoiserTonemapper | COMPILE_WITH_CUDA,COMPILE_WITH_OPTIX | |||||||||
| 40_GLITest | COMPILE_WITH_GLI_LOADER | |||||||||
| 41_VisibilityBuffer | ||||||||||
| 42_FragmentShaderPathTracer | ||||||||||
| 43_SumAndCDFFilters | ||||||||||
| 44_LevelCurveExtraction | ||||||||||
| 45_BRDFEvalTest | ||||||||||
| 46_SamplingValidation | ||||||||||
| 47_DerivMapTest | ||||||||||
| 48_ArithmeticUnitTest | ||||||||||
| 49_ComputeFFT | ||||||||||
| 50_NewAPITest | ||||||||||
| 51_RadixSort | ||||||||||
| 52_SystemTest | ||||||||||
| 53_ComputeShaders | ||||||||||
| 54_Transformations | ||||||||||
| 55_RGB18E7S3 | ||||||||||
| 56_RayQuery | ||||||||||
| 57_AndroidSample | ||||||||||
| 58_MediaUnpackingOnAndroid | ||||||||||
| 59. | ||||||||||
| 60_ClusteredRendering |
Legend
Already Works
Has a known bug
Work-In-Progress, sample logic not complete or temporarily modified
Intended to be Supported (requires some work to port after an API change)
No support
Examples numbered 00 are provisional and are not part of the example suite.
Notes
* Only Nvidia provides a working GLES 3.1 driver with OES_texture_view on Windows, so we only test there.
** Needs the Xcb implementation of the ui:: namespace to be complete.
*** Only x86_64 architecture supported for Android builds, also NBL_BUILD_ANDROID is required.
**** NBL_BUILD_EXAMPLES is needed for any example to build!