NanoVDB Editor Python Module
Project description
NanoVDB Editor
Prerequisities:
numpy
Hello World
from nanovdb_editor import Compiler, Compute, Editor, EditorConfig
compiler = Compiler()
compiler.create_instance()
compute = Compute(compiler)
compute.device_interface().create_device_manager()
compute.device_interface().create_device()
editor = Editor(compute, compiler)
config = 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nanovdb_editor_dev-0.0.15.tar.gz.
File metadata
- Download URL: nanovdb_editor_dev-0.0.15.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a39cec311888d8915327162b89443916c7b76b794207de7c0655d55829d5884c
|
|
| MD5 |
6b82cbb867095281e01641be21053c5c
|
|
| BLAKE2b-256 |
24364733164c7540405d510086671fd7fe0daa31e2b2ae97b532fa447a7eff2f
|
File details
Details for the file nanovdb_editor_dev-0.0.15-py3-none-win_amd64.whl.
File metadata
- Download URL: nanovdb_editor_dev-0.0.15-py3-none-win_amd64.whl
- Upload date:
- Size: 43.6 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3c37aff8cc59fa181f8a6cc0b9b5a577bbe9a0f14187b45589c20990056cc16
|
|
| MD5 |
7ae5865445b61eaf07096db83b41aa71
|
|
| BLAKE2b-256 |
37228de8e778963bf0fddf1d8d79e135a3cf8684bb2b95011e5e7820c759dd03
|
File details
Details for the file nanovdb_editor_dev-0.0.15-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: nanovdb_editor_dev-0.0.15-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.0 MB
- Tags: Python 3, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d26a6abb03bb8cd0f7b22d43756b5a5c35253abe52a996f1933080a17e3b76d8
|
|
| MD5 |
e29370e28ee45050b6040a956d6f19e7
|
|
| BLAKE2b-256 |
2fd27a62b33f1a9074c40604db958990f484baf849536996a2367e3e8d5d15ee
|