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 0.1.5

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 0.1.5
File Size Uploaded
nanovdb_editor-0.1.5.tar.gz 25.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for nanovdb-editor 0.1.5
File
nanovdb_editor-0.1.5-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
nanovdb_editor-0.1.5-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
nanovdb_editor-0.1.5-py3-none-manylinux_2_35_x86_64.whl Python 3 none Linux glibc 2.35+ x86-64 Details
nanovdb_editor-0.1.5-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details
nanovdb_editor-0.1.5-py3-none-manylinux_2_27_x86_64.whl Python 3 none Linux glibc 2.27+ x86-64 Details
nanovdb_editor-0.1.5-py3-none-macosx_15_0_arm64.whl Python 3 none macOS 15.0+ ARM64 Details

Total release size: 313.4 MB

Release files / nanovdb_editor-0.1.5.tar.gz

Download URL nanovdb_editor-0.1.5.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c0bb0631084dfef0679dc9ee271a246dfd946f627151a74918788af921ab51bb
BLAKE2b-256 checksum
How to use checksums
dbf7849e72df94f2e80096ada98a477c1d8ae73e1d0f0f9ed1455d8b448a14a0
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-0.1.5-py3-none-win_arm64.whl

Download URL nanovdb_editor-0.1.5-py3-none-win_arm64.whl
Size 15.5 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
fe0f7786f2688274da3614b59bd91d2228a13846b3c5e148932613e58c047b56
BLAKE2b-256 checksum
How to use checksums
e8dfb325497c36d8a9c61f348bab5493693e0e767cd37d58be8b886c72db772b
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-0.1.5-py3-none-win_amd64.whl

Download URL nanovdb_editor-0.1.5-py3-none-win_amd64.whl
Size 54.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
e5f0f358bacfdbfb80142caa967c33c7489d193b3d9e0d1e1eed167f84eadc1c
BLAKE2b-256 checksum
How to use checksums
68ed519cf16ae7bba4b529f430e8fdf7f432699bdfa13c9482cf5dafbd2e5218
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-0.1.5-py3-none-manylinux_2_35_x86_64.whl

Download URL nanovdb_editor-0.1.5-py3-none-manylinux_2_35_x86_64.whl
Size 75.3 MB
Tags Linux glibc 2.35+ x86-64 Python 3
SHA-256 checksum
How to use checksums
b0bd7fd027995862ca69871b3061e21dad25ff17c007be72aba46dcd0843e6a1
BLAKE2b-256 checksum
How to use checksums
349209db3bf5f87d6399dda39ed195fb26fbbb92ffb1ff8e66449b082bc238db
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-0.1.5-py3-none-manylinux_2_34_aarch64.whl

Download URL nanovdb_editor-0.1.5-py3-none-manylinux_2_34_aarch64.whl
Size 23.6 MB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
e13122e137fcd510cc3ea45ce89266057d2c6118354bbddd2688b9ee7cc46841
BLAKE2b-256 checksum
How to use checksums
e2e5c29d52fcd74aa4818af274521607a165270d50ef6bfbf47463e8038dd288
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-0.1.5-py3-none-manylinux_2_27_x86_64.whl

Download URL nanovdb_editor-0.1.5-py3-none-manylinux_2_27_x86_64.whl
Size 81.1 MB
Tags Linux glibc 2.27+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8c24c7026977ba6dd810e2c7018df90ffcb552a9f3d35cd0e1060d1e5167186b
BLAKE2b-256 checksum
How to use checksums
dce7c7101f8398606d848bf0f2ead6328876b5328ac92aa5d9df0c31d80c70ed
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-0.1.5-py3-none-macosx_15_0_arm64.whl

Download URL nanovdb_editor-0.1.5-py3-none-macosx_15_0_arm64.whl
Size 63.9 MB
Tags Python 3 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b1046488d9e5cad72c2227398bcf8460fb09af022d69cc0b9f5e6058fd7c7c04
BLAKE2b-256 checksum
How to use checksums
4405d54f792886c51942fb33096b9663242e6c764104d05b068a33309efed21e
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

0.1.6

7 release files

This release

0.1.5 This release

7 release files

0.0.24

6 release files

0.0.23

6 release files

0.0.19

4 release files

0.0.15

3 release files

0.0.13

3 release files

0.0.12

3 release files

0.0.9

3 release files

0.0.7

3 release files

0.0.6

3 release files

0.0.5

3 release files

0.0.4

3 release files

0.0.3

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