NanoVDB Editor
Prerequisities:
numpy
Running in Docker
To run the editor in the docker container, the Dockerfile needs to contain:
EXPOSE 8080
ENV NVIDIA_DRIVER_CAPABILITIES compute,graphics,utility
RUN apt-get update \
&& apt-get install -y \
libxext6 \
libegl1
Then run with the NVIDIA runtime selected (https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html):
docker run --runtime=nvidia --net=host --gpus=all ...
Hello World
import nanovdb_editor as nve
editor, compute, compiler = nve.create_default()
config = nve.EditorConfig()
# Default values, set as needed
config.ip_address = b"127.0.0.1"
config.port = 8080
config.headless = 0
config.streaming = 0
editor.show(config)
# editor.wait_for_interrupt() # uncomment when streaming is enabled
Shader Parameters
Shaders can have defined struct with shader parameters which are intended to be shown in the editor's UI:
struct shader_params_t
{
float4 color;
bool use_color;
bool3 _pad1;
int _pad2;
};
ConstantBuffer<shader_params_t> shader_params;
Shader parameters can have defined default values in the json file:
{
"ShaderParams": {
"color": {
"value": [1.0, 0.0, 1.0, 1.0],
"min": 0.0,
"max": 1.0,
"step": 0.01
}
}
}
Supported types: bool, int, uint, int64, uint64, float and its vectors and 4x4 matrix.
Variables with _pad in the name are not shown in the UI.
Those parameters can be interactively changed with generated UI in the editor's Params tab.
To display a group of shader parameters from different shaders define a json file with various shader paths:
{
"ShaderParams": [
"editor/editor.slang",
"test/test.slang"
]
}
Acknowledgements
This project makes use of the following libraries:
- zlib – Compression library
- c-blosc – High-performance compressor optimized for binary data
- Vulkan-Headers – Vulkan API headers
- Vulkan-Loader – Vulkan ICD loader
- GLFW – Windowing, context, and input (optional)
- Dear ImGui – Immediate-mode GUI
- ImGuiFileDialog – File dialog for Dear ImGui
- ImGuiColorTextEdit – Syntax-highlighted text/code editor widget
- Slang – Shading language and compiler
- filewatch – Cross-platform file watching
- JSON for Modern C++ – JSON serialization for C++
- cnpy – Read/write NumPy .npy/.npz files from C++
- zstr – Transparent zlib iostream wrappers
- llhttp – High-performance HTTP parser
- Asio – Asynchronous networking and concurrency primitives
- RESTinio – Lightweight HTTP server framework
- fmt – Modern formatting library
- argparse – Header-only argument parser for C++17
- expected-lite – std::expected-like type for C++11/14/17
- libE57Format – E57 point cloud IO (optional)
- OpenH264 – H.264 encoder (optional)
- GoogleTest – C++ testing framework
Many thanks to the authors and contributors of these projects.
Metadata
Release files for nanovdb-editor-dev 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nanovdb_editor_dev-0.1.4.tar.gz | 25.1 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| nanovdb_editor_dev-0.1.4-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details |
| nanovdb_editor_dev-0.1.4-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_35_x86_64.whl | Python 3 | none | Linux glibc 2.35+ x86-64 | Details |
| nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_27_x86_64.whl | Python 3 | none | Linux glibc 2.27+ x86-64 | Details |
| nanovdb_editor_dev-0.1.4-py3-none-macosx_15_0_arm64.whl | Python 3 | none | macOS 15.0+ ARM64 | Details |
Total release size: 312.2 MB
Release files / nanovdb_editor_dev-0.1.4.tar.gz
| Download URL | nanovdb_editor_dev-0.1.4.tar.gz |
|---|---|
| Size | 25.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58cf6bfba7820b9094cd23ef6b311628cb49af3a797f52264ab786067dbb1adc
|
|
BLAKE2b-256 checksum How to use checksums |
f6435aca95b45c744050122277ad1f83a0ad23fe250481f583434b6ce7f6ce44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nanovdb_editor_dev-0.1.4-py3-none-win_arm64.whl
| Download URL | nanovdb_editor_dev-0.1.4-py3-none-win_arm64.whl |
|---|---|
| Size | 15.3 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
c4d52a8ea12b2c0acdd4b43b2f599cf76e1d65a30052558e440feab2b6384553
|
|
BLAKE2b-256 checksum How to use checksums |
65769d0bc8b8c3d7194e57f9e00366d15a306837c03314d7e8ca5532030a112e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nanovdb_editor_dev-0.1.4-py3-none-win_amd64.whl
| Download URL | nanovdb_editor_dev-0.1.4-py3-none-win_amd64.whl |
|---|---|
| Size | 53.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
75bbf45721b177e91453dd63b1f876878135ae36bf78e97b76f63638fc52f4a8
|
|
BLAKE2b-256 checksum How to use checksums |
6c1c9f1ae48f75153b7ef3cdc7a4669d9b231b6080f50d94612fd099ce4f268c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_35_x86_64.whl
| Download URL | nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 75.0 MB |
| Tags | Linux glibc 2.35+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
d8142917e12b14fb6f3d7efbd0df8b0f2b6c32b1056d67a585a261d3bc6e27d8
|
|
BLAKE2b-256 checksum How to use checksums |
6a59985fbe501bbe2f6c86249844aae4a60660542c6dc431e083834255f7deaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_34_aarch64.whl
| Download URL | nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 23.4 MB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
4eec591d0038b4c76fede9a77a52794ed7f91b63b71fdd7f4411aac9934f5d19
|
|
BLAKE2b-256 checksum How to use checksums |
a98e6d1f4d0f3c4cb886788160b3e273977322d243f9f4e5626fccb1508ff6b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_27_x86_64.whl
| Download URL | nanovdb_editor_dev-0.1.4-py3-none-manylinux_2_27_x86_64.whl |
|---|---|
| Size | 80.9 MB |
| Tags | Linux glibc 2.27+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
30cb1b7ad8affface6076050aa681e6cd44842c360d03c9d8126ad3c8be1aade
|
|
BLAKE2b-256 checksum How to use checksums |
dba8ded600e3283561721b56188f217174e7bfc3fbfca9c0fd91bfe48a629d4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nanovdb_editor_dev-0.1.4-py3-none-macosx_15_0_arm64.whl
| Download URL | nanovdb_editor_dev-0.1.4-py3-none-macosx_15_0_arm64.whl |
|---|---|
| Size | 63.8 MB |
| Tags | Python 3 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0cb2932f0cd79972a39cd74ca603a76c9f8e14335bff847d71454e13905af3b1
|
|
BLAKE2b-256 checksum How to use checksums |
bb612a03275e255ab4889478b7a328a276525e6c98d5b930626d5f25ddc8cc8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|