Skip to main content

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)

Source distribution for nanovdb-editor-dev 0.1.4
File Size Uploaded
nanovdb_editor_dev-0.1.4.tar.gz 25.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for nanovdb-editor-dev 0.1.4
File
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

Release history Release notifications | RSS feed

This release

0.1.4 This release

7 release files

0.1.3

7 release files

0.1.2

7 release files

0.1.1

5 release files

0.1.0

5 release files

0.0.23

6 release files

0.0.22

5 release files

0.0.20

4 release files

0.0.19

3 release files

0.0.18

3 release files

0.0.17

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page