Skip to main content

NanoVDB Editor Python Module

Reason this release was yanked:

ABI breakage

Project description

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(device_id=args.device)

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)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanovdb_editor-0.0.19.tar.gz (22.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nanovdb_editor-0.0.19-py3-none-win_amd64.whl (43.6 MB view details)

Uploaded Python 3Windows x86-64

nanovdb_editor-0.0.19-py3-none-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

nanovdb_editor-0.0.19-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.2 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file nanovdb_editor-0.0.19.tar.gz.

File metadata

  • Download URL: nanovdb_editor-0.0.19.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nanovdb_editor-0.0.19.tar.gz
Algorithm Hash digest
SHA256 542d46e4d74e2a1f041cf7f978f42a83196c775de7d297ac082f4a58224b3364
MD5 5665baee1c7b939353596e8dbb24a21a
BLAKE2b-256 27eba748959381be5432f9ef5e33274765280f45bb20079f0dfdb64cbcbe91dd

See more details on using hashes here.

File details

Details for the file nanovdb_editor-0.0.19-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for nanovdb_editor-0.0.19-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 53cf52af1de5a603338b3e8e1fb8b23653531108cd99dcf15df6ed61693d5185
MD5 e052320e6b64345a1c46c3adcc8a7130
BLAKE2b-256 84e98e374c92252fc69fe19c1a72cd1edfd76af84d0f38b316c0aab0ef6c35c3

See more details on using hashes here.

File details

Details for the file nanovdb_editor-0.0.19-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for nanovdb_editor-0.0.19-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 6d4b2134858670f721a5e0b2c132176c4048250a15993e5a275a91b830b0f9d9
MD5 888e60ba6bc0fcfa8c851d673c175dc3
BLAKE2b-256 1b4699c4d231a3fb1e37027f921b2b7c9fdf98bc57943ec61f16d66012b21775

See more details on using hashes here.

File details

Details for the file nanovdb_editor-0.0.19-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanovdb_editor-0.0.19-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c390a0350def4a242286ff8129b48a6add054193569f6b7726a35f59e2cf8ccc
MD5 f8068ef0e07f1522fff5e57ae9e1e477
BLAKE2b-256 86f60114630693e5c9b59a52dca52e02d7700692ac87961d8b686b8bd71f5dc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page