hyperray 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hyperdrone/__init__.py +53 -0
- hyperdrone/_cuda/__init__.py +76 -0
- hyperdrone/_dlpack.py +30 -0
- hyperdrone/_jit/__init__.py +131 -0
- hyperdrone/_jit/_build.py +113 -0
- hyperdrone/_jit/_lock.py +23 -0
- hyperdrone/_jit/_patches.py +99 -0
- hyperdrone/_jit/_toolchain.py +17 -0
- hyperdrone/_jit/_workspace.py +94 -0
- hyperdrone/_native/cmake/hyperdrone_jit.cmake +65 -0
- hyperdrone/_native/common/bindings.h +39 -0
- hyperdrone/_native/common/cuda_staging.h +80 -0
- hyperdrone/_native/common/jit_host.h +69 -0
- hyperdrone/_native/common/models.h +24 -0
- hyperdrone/_native/common/verbosity.h +52 -0
- hyperdrone/_native/dynamics/CMakeLists.txt +63 -0
- hyperdrone/_native/dynamics/host.cpp +188 -0
- hyperdrone/_native/dynamics/iface.h +71 -0
- hyperdrone/_native/dynamics/impl.cpp +638 -0
- hyperdrone/_native/env/CMakeLists.txt +98 -0
- hyperdrone/_native/env/environment.cpp +190 -0
- hyperdrone/_native/env/environment.h +282 -0
- hyperdrone/_native/env/impl.cpp +779 -0
- hyperdrone/_native/env/rotorcraft_bindings.cpp +53 -0
- hyperdrone/_native/render/CMakeLists.txt +96 -0
- hyperdrone/_native/render/renderer.cpp +973 -0
- hyperdrone/_native/render/rig_bindings.h +152 -0
- hyperdrone/_native/render/scene_bindings.cpp +515 -0
- hyperdrone/_outputs.py +32 -0
- hyperdrone/_parameters.py +36 -0
- hyperdrone/_vendor/rl-tools/CMakeLists.txt +207 -0
- hyperdrone/_vendor/rl-tools/LICENSE +21 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/all.cmake +34 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/git-diff.cmake +100 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/git-hash.cmake +24 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/summary.cmake +65 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier0-compiler.cmake +18 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier1-blas.cmake +51 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier2-json-hdf5-zlib.cmake +82 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier3-tensorboard.cmake +25 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier4-cuda.cmake +42 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier5-cli11.cmake +24 -0
- hyperdrone/_vendor/rl-tools/cmake/dependencies/assimp.cmake +19 -0
- hyperdrone/_vendor/rl-tools/cmake/legacy_flags.cmake +33 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/assimp.cmake +30 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/googletest.cmake +20 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/metal.cmake +25 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/mujoco.cmake +89 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/optix.cmake +25 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/raytracing.cmake +105 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/raytracing_generic.cmake +2 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/vulkan.cmake +4 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/webgpu.cmake +24 -0
- hyperdrone/_vendor/rl-tools/cmake/scripts/embed_text.cmake +7 -0
- hyperdrone/_vendor/rl-tools/cmake/scripts/generate-git-snapshot.cmake +138 -0
- hyperdrone/_vendor/rl-tools/include/conta/conta.h +1480 -0
- hyperdrone/_vendor/rl-tools/include/metra/metra.h +381 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/matrix.h +143 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_arm.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu.h +314 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_accelerate.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_blas.h +67 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_mkl.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_openblas.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cuda.h +289 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_dummy.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_esp32.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_generic.h +944 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_wasm32.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/persist_code.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_arm.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu.h +94 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_accelerate.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_blas.h +115 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_mkl.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_openblas.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cuda.h +713 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_generic.h +1356 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/persist_code.h +130 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/tensor.h +490 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/arm.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu.h +210 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_accelerate.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_blas.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_emscripten.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_mkl.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_openblas.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_tensorboard.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda.h +464 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda_streams.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/devices.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/dummy.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/esp32.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/generic.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/wasm32.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/model.h +218 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/operations_generic.h +769 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/persist.h +278 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter.h +100 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter_persist.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/tensor_operations_generic.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_backend.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_interface.h +36 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/l2f.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_dyn.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_generic.h +268 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_backend.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_interface.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_backend.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_interface.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/executor.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/helper.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/operations_generic.h +219 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arduino.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arm.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu_tensorboard.h +151 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cuda.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_dummy.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_wasm32.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_arm.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cpu.h +138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cuda.h +380 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_dummy.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_esp32.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_generic.h +295 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_wasm32.h +230 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/mode/mode.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/activation_functions.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/capability.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/persist_code.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/group.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/layer.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_cuda.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_generic.h +186 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/persist.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/layer.h +300 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cpu_mkl.h +590 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cuda.h +809 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_generic.h +1219 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist_code.h +170 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/layer.h +145 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/dsp.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/opt.h +173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_accelerate.h +66 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_blas.h +282 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_mkl.h +66 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_openblas.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cuda.h +519 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_dummy.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/dsp.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/opt.h +167 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_generic.h +429 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist.h +62 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_code.h +178 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_common.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/layer.h +188 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_cuda.h +356 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_generic.h +536 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/persist.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/layer.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/operations_generic.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/persist.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/layer.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/operations_generic.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist_code.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_cuda.h +602 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_generic.h +251 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/layer.h +206 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/operations_generic.h +889 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist.h +75 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist_code.h +199 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/layers.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/layer.h +143 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_cuda.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_generic.h +216 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/persist.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_blas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_mkl.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_openblas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cuda.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_generic.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/layer.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_cuda.h +138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_generic.h +446 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/persist.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/layer.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_cuda.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_generic.h +502 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist_code.h +173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/layer.h +116 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_cuda.h +156 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_generic.h +295 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist.h +83 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist_code.h +163 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/layer.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/operations_generic.h +272 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist_code.h +164 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/layer.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_cuda.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_generic.h +160 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist_code.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/layer.h +132 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_cuda.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_generic.h +230 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/categorical_cross_entropy/operations_generic.h +102 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_cuda.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_generic.h +101 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/operations_generic.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/nn.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_blas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mux.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_openblas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cuda.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_generic.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/adam.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_cuda.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_generic.h +150 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist_code.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_cuda.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_generic.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/persist.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/instance/operations_generic.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/lamb.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/operations_generic.h +68 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/optimizers.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_cuda.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_generic.h +140 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist_code.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_cuda.h +49 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_generic.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/sgd.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/update.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_cuda.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_generic.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/parameters.h +79 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist_code.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist_code.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/behaviors/skip_parameter_gradients.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/README.md +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/model.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/persist_code.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/network.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_cuda.h +10 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_dummy.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_generic.h +407 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist_code.h +137 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/network.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/operations_generic.h +86 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist_code.h +142 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/models.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/model.h +148 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/operations_generic.h +288 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist_code.h +71 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cpu.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cuda.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_generic.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/model.h +290 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_cuda.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_generic.h +623 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist_code.h +200 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist_code.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/model.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/operations_generic.h +73 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/resnet/resnet.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/model.h +270 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/operations_generic.h +625 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist_code.h +115 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/bf16.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/categories.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/persist_code.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/policy.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_1.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_2.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_3.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_1.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_1.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mux.h +158 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_1.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_1.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_3.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_1.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/hdf5.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/operations_cpu.h +419 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/io.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_cpu.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_generic.h +620 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_posix.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/tar.h +74 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/code.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_arm.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cpu.h +81 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cuda.h +172 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_dummy.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_esp32.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic_array.h +73 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_wasm32.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/persist.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/camera.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/cache.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/free_space.h +60 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/operations_cpu.h +411 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/glb/glb.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/glb/operations_cpu.h +1288 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/operations_cpu.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/catalog.h +232 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/conversion.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/operations_cpu.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/procthor.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_cpu.h +717 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_generic.h +1283 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/context.h +193 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/device_source.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/operations_cpu.h +1123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device.h +207 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device_impl.h +1043 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/operations_cuda.h +1747 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/overlay_accel.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/specialization.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/context.h +251 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/device_source.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/operations_cpu.h +2067 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/bvh_sah.h +182 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/context.h +280 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/device_source.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/operations_cpu.h +1405 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_common.h +948 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_mux.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_post.h +96 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/renderer.h +484 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/save_cpu.h +314 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/transforms_generic.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/types.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/operations_cpu.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/operations_generic.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/rig.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/scene.h +132 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/segmentation_cpu.h +145 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/transforms.h +204 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/types.h +76 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/algorithms.h +6 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_generic.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/config.h +243 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_cuda.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_generic.h +205 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/persist.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/state.h +51 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/mixed_imitation.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_cuda.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic.h +332 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic_mixed_imitation.h +81 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/persist.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/ppo.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_gru.h +84 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_mlp.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/config.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/operations_generic.h +193 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/state.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_accelerate.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mkl.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mux.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cuda.h +131 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_generic.h +580 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/sac.h +151 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_gru.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_mlp.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/config.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/operations_generic.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/state.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_accelerate.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mkl.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mux.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cuda.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_generic.h +359 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/td3.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/components.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/off_policy_runner.h +225 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu.h +95 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_accelerate.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_mkl.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cuda.h +237 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic.h +498 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic_per_env.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/collection.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/on_policy_runner.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_accelerate.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mkl.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mux.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cuda.h +183 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic.h +366 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic_common.h +74 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/persist.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_generic.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_generic.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/persist.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/replay_buffer.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/operations_generic.h +76 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/persist.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/running_normalizer.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/operations_generic.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/operations_generic.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/wrapper.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/wrappers.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/acrobot.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_cpu.h +152 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_generic.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/environment.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_cuda.h +204 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_generic.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_generic_common.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/persist.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/car.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_cpu.h +110 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_generic.h +206 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_json.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/track.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/ui.h +189 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/environments.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/environment.h +87 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_cpu.h +212 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_generic.h +215 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/observation.h +75 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/operations_cpu.h +1063 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/operations_cuda.h +564 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/pose.h +253 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/presets.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/operations_cpu.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/operations_generic.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/raptor.h +71 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/operations_cpu.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/operations_generic.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/rig.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_cpu.h +86 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_cuda.h +69 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_optix.h +163 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cpu.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cpu_spectator.h +194 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cuda.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cuda_spectator.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/spectator.h +82 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/spy.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/ui.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/moving_gate.h +103 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/operations_cpu.h +279 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/operations_cuda.h +242 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_cpu.h +322 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_cuda.h +312 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_generic_position_hold.h +128 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/position_hold.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/target_frame.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/baseline.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/calibration.h +62 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/metrics.h +101 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/operations_cpu.h +374 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/visual_inertial_localization.h +126 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/world.h +333 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/inertial_velocity.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/metrics.h +266 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/multirotor.h +1138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_cpu.h +2252 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/05_state_is_nan.h +148 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/10_sample_initial_parameters.h +228 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/20_initial_state.h +208 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/30_sample_initial_state.h +300 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/35_get_desired_state.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/40_observe.h +637 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/50_state_algebra.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/60_dynamics.h +134 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/70_post_integration.h +368 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/80_abs_diff.h +312 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic.h +367 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic_inertial_velocity.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_helper_generic.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic_forward.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/default.h +209 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/arpl.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie.h +127 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie_openmv.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/flightmare.h +111 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/fs.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/mrs.h +110 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft_rigid.h +118 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_real.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_sim.h +114 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/init/default.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/registry.h +96 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/default.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/reward_functions.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/operations_generic.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/squared.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/termination/default.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/lissajous.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/trajectory.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist_code.h +53 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/quaternion_helper.h +103 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/ui.h +180 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/environment.h +69 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_cpu.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_generic.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/README.MD +5 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ant.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/model.h +415 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/operations_cpu.h +162 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/persist.h +86 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ui.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/mujoco.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/bottleneck.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_cpu.h +289 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_generic.h +495 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/environments.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/observation.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_generic.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_cpu.h +146 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_generic.h +262 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/pendulum.h +197 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui_xeus.h +124 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_cpu.h +426 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_generic.h +424 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/reacher.h +137 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/loop.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/config.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/operations_cpu.h +233 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/persist.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/state.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/config.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/operations_generic.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/state.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/config.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/operations_generic.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/persist.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/state.h +36 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/config.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/operations_cpu.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/state.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/config.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/operations_cpu.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/state.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/config.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/operations_cpu.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/persist.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/state.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/steps.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/config.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/operations_cpu.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/state.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/operations_generic.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/rl.h +5 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/evaluation.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_cpu.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_generic.h +275 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation.h +269 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation_analysis.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl_tools.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/client.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_boost.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_cpu.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_websocket.h +208 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/server.h +448 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/universe.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu_emscripten.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_arm.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu_emscripten.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cuda.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_dummy.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_esp32.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_generic.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_wasm32.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_cpu.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_generic.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/extrack.h +129 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/operations_cpu.h +588 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/integrators.h +103 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/memcpy.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/operations_generic.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/tuple.h +147 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/typing.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/vector_operations.h +172 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_cuda.h +53 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_generic.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/string/operations_generic.h +201 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/zlib/operations_cpu.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/version.h +28 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/CMakeLists.txt +15 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/README.md +214 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/CMakeLists.txt +11 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/CMakeLists.txt +17 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/freestanding_check.cpp +134 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/CMakeLists.txt +31 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/device.metal +912 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/metal_cpp_impl.cpp +6 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/CMakeLists.txt +51 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/device.cu +1 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/overlay_accel.cu +308 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/CMakeLists.txt +37 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device.comp +970 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device_spirv.cpp +44 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/webgpu/CMakeLists.txt +31 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/webgpu/device.wgsl +1381 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/CMakeLists.txt +129 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/README.md +131 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark.cpp +180 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark_dynamic.cpp +491 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/download_paper_scene.py +74 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/CMakeLists.txt +104 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/Info.plist +36 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/Sources/BenchmarkApp.swift +172 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/benchmark.h +10 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/benchmark.mm +46 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/build.sh +17 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/rig.cpp +119 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.cpp +1382 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.h +5 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_config.h.in +25 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_identity.cmake +11 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_main.cpp +5 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.cu +125 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.h +58 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics_contract.h +179 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics_cpu.cpp +77 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/camera_orbit.h +51 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/CMakeLists.txt +199 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/antialiasing.cpp +214 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone.cpp +320 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone_device.cu +359 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/environment.h +96 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/operations_cpu.h +263 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/example.cpp +273 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/fixed_pose.cpp +221 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/flow.cpp +120 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/interactive.cpp +1015 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/make_drone_glb.py +172 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/minimal.cpp +82 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/minimal_overlay.cpp +137 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/motion_blur.cpp +232 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace.cpp +1829 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace_motion_blur.cpp +647 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/CMakeLists.txt +147 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/README.md +15 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/job.sbatch +28 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model.h +260 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_config.h +24 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_forward_cuda.h +397 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_operations.h +418 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_persist.h +45 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_student.h +70 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.cpp +222 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.h +68 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/.gitignore +4 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/CMakeLists.txt +4 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info.plist +24 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info_ios.plist +36 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/CameraManager.swift +120 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/ContentView.swift +703 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/DatasetRecorder.swift +285 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/YawPredictorApp.swift +25 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/YawPredictor.entitlements +8 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build.sh +66 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build_ios.sh +133 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/generate.sh +6 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/h5_to_tar.cpp +82 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.cpp +166 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.h +26 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/project.yml +30 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/test_tar_vs_hdf5.cpp +173 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_cuda.cu +699 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_dataset_overlay.cpp +475 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_distill_cuda.cu +995 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_eval.cu +457 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_real_world_eval.cpp +660 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_viewer.cu +443 -0
- hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/CMakeLists.txt +63 -0
- hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/example.cpp +101 -0
- hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/ui.cpp +380 -0
- hyperdrone/dynamics/__init__.py +5 -0
- hyperdrone/dynamics/_component.py +31 -0
- hyperdrone/dynamics/_config.py +46 -0
- hyperdrone/dynamics/_sim.py +166 -0
- hyperdrone/env/__init__.py +23 -0
- hyperdrone/env/_multi_environment.py +566 -0
- hyperdrone/env/_rotorcraft.py +29 -0
- hyperdrone/env/_spy.py +39 -0
- hyperdrone/examples/.gitignore +3 -0
- hyperdrone/examples/Benchmark.ipynb +113 -0
- hyperdrone/examples/HyperDrone.ipynb +589 -0
- hyperdrone/examples/Orbiter.ipynb +496 -0
- hyperdrone/examples/Renderer.ipynb +218 -0
- hyperdrone/examples/__init__.py +16 -0
- hyperdrone/examples/articulation.py +55 -0
- hyperdrone/examples/benchmark.py +236 -0
- hyperdrone/examples/benchmark_minimal.py +65 -0
- hyperdrone/examples/data.py +71 -0
- hyperdrone/examples/drone_flythrough.py +169 -0
- hyperdrone/examples/hyperdrone_videos/my_world_preview.h +17 -0
- hyperdrone/examples/my_world.h +17 -0
- hyperdrone/examples/render_procthor.py +40 -0
- hyperdrone/examples/shots.py +108 -0
- hyperdrone/examples/spy.py +40 -0
- hyperdrone/examples/visual_inertial_localization.py +158 -0
- hyperdrone/gym/__init__.py +67 -0
- hyperdrone/render/__init__.py +57 -0
- hyperdrone/render/_component.py +51 -0
- hyperdrone/render/_config.py +76 -0
- hyperdrone/render/_renderer.py +498 -0
- hyperdrone/render/_rig.py +136 -0
- hyperdrone/render/_sampling.py +69 -0
- hyperdrone/render/_scene.py +38 -0
- hyperdrone/render/datasets.py +15 -0
- hyperray-0.0.1.dist-info/METADATA +519 -0
- hyperray-0.0.1.dist-info/RECORD +788 -0
- hyperray-0.0.1.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""hyperdrone.render — Python interface to the RLtools raytracing renderer.
|
|
2
|
+
|
|
3
|
+
Self-contained: no dependency on drone dynamics. Scene assembly (GLB loading, procedural
|
|
4
|
+
meshes, lights, asset pools) is runtime data and available directly. Renderer
|
|
5
|
+
instantiations are JIT-compiled per set of compile-time constants and cached; the backend
|
|
6
|
+
is selected at first build via HYPERDRONE_RENDER_BACKEND (OPTIX|METAL|VULKAN|WEBGPU|GENERIC;
|
|
7
|
+
AUTO default: first available of OptiX, Metal, Vulkan, WebGPU, Generic).
|
|
8
|
+
"""
|
|
9
|
+
from .. import _cuda
|
|
10
|
+
from .._outputs import FlowStatus
|
|
11
|
+
from . import datasets
|
|
12
|
+
from ._component import _backend, component, load_core
|
|
13
|
+
from ._config import FIDELITY, RendererConfig
|
|
14
|
+
from ._renderer import OverlayPlacement, Renderer
|
|
15
|
+
from ._rig import Rig
|
|
16
|
+
from ._sampling import ClearanceSampler
|
|
17
|
+
from ._scene import (
|
|
18
|
+
compose_transforms,
|
|
19
|
+
load_assembly,
|
|
20
|
+
load_object,
|
|
21
|
+
load_scene,
|
|
22
|
+
make_camera,
|
|
23
|
+
make_transform,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
__all__ = [
|
|
27
|
+
"AssetPool",
|
|
28
|
+
"FIDELITY",
|
|
29
|
+
"FlowStatus",
|
|
30
|
+
"ClearanceSampler",
|
|
31
|
+
"Mesh",
|
|
32
|
+
"Object",
|
|
33
|
+
"ObjectAssembly",
|
|
34
|
+
"OverlayPlacement",
|
|
35
|
+
"Renderer",
|
|
36
|
+
"RendererConfig",
|
|
37
|
+
"Rig",
|
|
38
|
+
"Scene",
|
|
39
|
+
"SceneLight",
|
|
40
|
+
"compose_transforms",
|
|
41
|
+
"datasets",
|
|
42
|
+
"load_assembly",
|
|
43
|
+
"load_object",
|
|
44
|
+
"load_scene",
|
|
45
|
+
"make_camera",
|
|
46
|
+
"make_transform",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
_cuda.register_provider(load_core)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def __getattr__(name):
|
|
53
|
+
# bound classes come from the lazily-built core module so that importing
|
|
54
|
+
# hyperdrone.render stays cheap and the first compile happens on first use
|
|
55
|
+
if name in ("Scene", "Object", "ObjectAssembly", "AssetPool", "Mesh", "SceneLight"):
|
|
56
|
+
return getattr(load_core(), name)
|
|
57
|
+
raise AttributeError(f"module 'hyperdrone.render' has no attribute {name}")
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import platform
|
|
3
|
+
import shutil
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
from .. import _jit as jit
|
|
7
|
+
from .._jit._toolchain import cuda_available
|
|
8
|
+
|
|
9
|
+
BACKENDS = ("OPTIX", "METAL", "VULKAN", "WEBGPU", "GENERIC")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def resolve_auto_backend():
|
|
13
|
+
# mirrors the CMake AUTO probe: OPTIX > METAL > VULKAN > WEBGPU > GENERIC
|
|
14
|
+
if sys.platform != "win32" and cuda_available():
|
|
15
|
+
return "OPTIX"
|
|
16
|
+
if sys.platform == "darwin":
|
|
17
|
+
return "METAL"
|
|
18
|
+
if shutil.which("glslangValidator") is not None:
|
|
19
|
+
return "VULKAN"
|
|
20
|
+
if sys.platform.startswith("linux") and platform.machine() in ("x86_64", "AMD64"):
|
|
21
|
+
return "WEBGPU"
|
|
22
|
+
return "GENERIC"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _backend():
|
|
26
|
+
value = os.environ.get("HYPERDRONE_RENDER_BACKEND", "AUTO").upper()
|
|
27
|
+
if value == "AUTO":
|
|
28
|
+
value = resolve_auto_backend()
|
|
29
|
+
if value not in BACKENDS:
|
|
30
|
+
raise ValueError(
|
|
31
|
+
f"hyperdrone: invalid HYPERDRONE_RENDER_BACKEND {value} (OPTIX|METAL|VULKAN|WEBGPU|GENERIC)"
|
|
32
|
+
)
|
|
33
|
+
return value.lower()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def component():
|
|
37
|
+
resolved = _backend()
|
|
38
|
+
return jit.Component(
|
|
39
|
+
name="render",
|
|
40
|
+
variant=resolved.lower(),
|
|
41
|
+
core_target="hyperdrone_render_core",
|
|
42
|
+
needs_cuda=resolved == "optix",
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def load_core():
|
|
47
|
+
return jit.core(component())
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def load_renderer(config):
|
|
51
|
+
return jit.module(component(), config)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from .. import _jit as jit
|
|
4
|
+
from .._outputs import VALID_MOTION_BLUR_SAMPLES, normalize_outputs, output_defines
|
|
5
|
+
|
|
6
|
+
FIDELITY = ("low", "medium", "high", "veryhigh")
|
|
7
|
+
|
|
8
|
+
VALID_ANTI_ALIASING_GRIDS = (1, 2, 3, 4)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass(frozen=True, kw_only=True)
|
|
12
|
+
class RendererConfig:
|
|
13
|
+
width: int
|
|
14
|
+
height: int
|
|
15
|
+
num_cameras: int
|
|
16
|
+
num_probes: int
|
|
17
|
+
fidelity: str
|
|
18
|
+
output: tuple
|
|
19
|
+
motion_blur_samples: int
|
|
20
|
+
anti_aliasing_grid: int
|
|
21
|
+
num_overlays: int
|
|
22
|
+
max_overlay_instances: int
|
|
23
|
+
max_overlays_per_camera: int
|
|
24
|
+
semantic_segmentation: bool
|
|
25
|
+
dynamic_motion_blur: bool = False
|
|
26
|
+
|
|
27
|
+
def __post_init__(self):
|
|
28
|
+
object.__setattr__(self, "output", normalize_outputs(self.output))
|
|
29
|
+
for name in ("width", "height", "num_cameras", "motion_blur_samples", "anti_aliasing_grid"):
|
|
30
|
+
value = getattr(self, name)
|
|
31
|
+
if type(value) is not int or value < 1:
|
|
32
|
+
raise ValueError(f"{name} must be a positive integer")
|
|
33
|
+
for name in ("num_probes", "num_overlays", "max_overlay_instances", "max_overlays_per_camera"):
|
|
34
|
+
value = getattr(self, name)
|
|
35
|
+
if type(value) is not int or value < 0:
|
|
36
|
+
raise ValueError(f"{name} must be a nonnegative integer")
|
|
37
|
+
if self.fidelity not in FIDELITY:
|
|
38
|
+
raise ValueError(f"fidelity must be one of {sorted(FIDELITY)}")
|
|
39
|
+
if self.motion_blur_samples not in VALID_MOTION_BLUR_SAMPLES:
|
|
40
|
+
raise ValueError(f"motion_blur_samples must be one of {VALID_MOTION_BLUR_SAMPLES}")
|
|
41
|
+
if self.anti_aliasing_grid not in VALID_ANTI_ALIASING_GRIDS:
|
|
42
|
+
raise ValueError(f"anti_aliasing_grid must be one of {VALID_ANTI_ALIASING_GRIDS}")
|
|
43
|
+
overlay_values = (self.num_overlays, self.max_overlay_instances, self.max_overlays_per_camera)
|
|
44
|
+
if any(value > 0 for value in overlay_values) and not all(value > 0 for value in overlay_values):
|
|
45
|
+
raise ValueError("overlay parameters (num_overlays, max_overlay_instances, max_overlays_per_camera) must be all zero or all nonzero")
|
|
46
|
+
if self.semantic_segmentation and "segmentation" not in self.output:
|
|
47
|
+
raise ValueError("semantic_segmentation requires a segmentation output mode")
|
|
48
|
+
if self.dynamic_motion_blur and (self.motion_blur_samples < 2 or self.num_overlays == 0):
|
|
49
|
+
raise ValueError("dynamic_motion_blur requires motion_blur_samples >= 2 and overlays")
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def has_probes(self):
|
|
53
|
+
return self.num_probes > 0
|
|
54
|
+
|
|
55
|
+
def canonical(self):
|
|
56
|
+
return ";".join(f"{name}={value}" for name, value in sorted(self.defines().items()))
|
|
57
|
+
|
|
58
|
+
def key(self):
|
|
59
|
+
return jit.canonical_key(self.canonical())
|
|
60
|
+
|
|
61
|
+
def defines(self):
|
|
62
|
+
return {
|
|
63
|
+
"HYPERDRONE_RENDER_WIDTH": self.width,
|
|
64
|
+
"HYPERDRONE_RENDER_HEIGHT": self.height,
|
|
65
|
+
"HYPERDRONE_RENDER_NUM_CAMERAS": self.num_cameras,
|
|
66
|
+
"HYPERDRONE_RENDER_NUM_PROBES": self.num_probes,
|
|
67
|
+
"HYPERDRONE_RENDER_SHADING": FIDELITY.index(self.fidelity),
|
|
68
|
+
**output_defines(self.output, "HYPERDRONE_RENDER"),
|
|
69
|
+
"HYPERDRONE_RENDER_MB_SAMPLES": self.motion_blur_samples,
|
|
70
|
+
"HYPERDRONE_RENDER_AA_GRID": self.anti_aliasing_grid,
|
|
71
|
+
"HYPERDRONE_RENDER_NUM_OVERLAYS": self.num_overlays,
|
|
72
|
+
"HYPERDRONE_RENDER_MAX_OVERLAY_INSTANCES": self.max_overlay_instances,
|
|
73
|
+
"HYPERDRONE_RENDER_MAX_OVERLAYS_PER_CAMERA": self.max_overlays_per_camera,
|
|
74
|
+
"HYPERDRONE_RENDER_SEMANTIC_SEGMENTATION": 1 if self.semantic_segmentation else 0,
|
|
75
|
+
"HYPERDRONE_RENDER_DYNAMIC_MB": 1 if self.dynamic_motion_blur else 0,
|
|
76
|
+
}
|
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from itertools import count
|
|
3
|
+
|
|
4
|
+
import numpy as np
|
|
5
|
+
|
|
6
|
+
from .._dlpack import DLPackBuffer as _DLPackBuffer
|
|
7
|
+
from .._dlpack import is_cuda as _is_cuda
|
|
8
|
+
from ._component import load_core, load_renderer
|
|
9
|
+
from ._rig import _output
|
|
10
|
+
from ._config import RendererConfig
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
_RENDERER_SERIALS = count()
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
|
17
|
+
class OverlayPlacement:
|
|
18
|
+
overlay: int
|
|
19
|
+
first_slot: int
|
|
20
|
+
num_parts: int
|
|
21
|
+
_generation: int
|
|
22
|
+
_renderer: int
|
|
23
|
+
|
|
24
|
+
def __reduce_ex__(self, protocol):
|
|
25
|
+
raise TypeError("hyperdrone: OverlayPlacement handles belong to one renderer and cannot be pickled")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _from_dlpack(value):
|
|
29
|
+
# accept any DLPack producer (torch/jax/... CPU tensors) without copying
|
|
30
|
+
if not isinstance(value, np.ndarray) and hasattr(value, "__dlpack__"):
|
|
31
|
+
try:
|
|
32
|
+
return np.from_dlpack(value)
|
|
33
|
+
except (RuntimeError, TypeError, BufferError) as error:
|
|
34
|
+
raise ValueError(
|
|
35
|
+
"hyperdrone: input tensor could not be viewed as CPU memory (move it to "
|
|
36
|
+
"the CPU first, or use a CUDA-resident tensor on the OptiX backend)"
|
|
37
|
+
) from error
|
|
38
|
+
return value
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _as_cameras(cameras, num_cameras):
|
|
42
|
+
array = np.ascontiguousarray(_from_dlpack(cameras), dtype=np.float32)
|
|
43
|
+
if array.shape == (4, 3) or array.shape == (12,):
|
|
44
|
+
array = array.reshape(1, 12)
|
|
45
|
+
elif array.ndim == 3 and array.shape[1:] == (4, 3):
|
|
46
|
+
array = array.reshape(array.shape[0], 12)
|
|
47
|
+
elif array.ndim == 2 and array.shape[1] == 12:
|
|
48
|
+
pass
|
|
49
|
+
else:
|
|
50
|
+
raise ValueError("cameras must have shape (num_cameras, 4, 3), (num_cameras, 12), or a single (4, 3)")
|
|
51
|
+
if array.shape[0] != num_cameras:
|
|
52
|
+
raise ValueError(f"expected {num_cameras} cameras, got {array.shape[0]}")
|
|
53
|
+
return array
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def _as_transform(transform):
|
|
57
|
+
array = np.ascontiguousarray(_from_dlpack(transform), dtype=np.float32)
|
|
58
|
+
if array.shape not in ((3, 4), (12,)):
|
|
59
|
+
raise ValueError("transform must have shape (3, 4) or (12,)")
|
|
60
|
+
return array
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def _as_rows(value, shape):
|
|
64
|
+
array = np.ascontiguousarray(_from_dlpack(value), dtype=np.float32)
|
|
65
|
+
if array.size != int(np.prod(shape)):
|
|
66
|
+
raise ValueError(f"transforms must have shape {shape}, got {array.shape}")
|
|
67
|
+
return array.reshape(shape)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class Renderer:
|
|
71
|
+
"""RLtools raytracer with a JIT-compiled library cached per configuration.
|
|
72
|
+
|
|
73
|
+
All constructor parameters are compile-time settings, fixed for this instance.
|
|
74
|
+
|
|
75
|
+
Args:
|
|
76
|
+
width, height: Per-camera resolution in pixels; both must be >= 1.
|
|
77
|
+
num_cameras: Fixed camera batch size (>= 1); camera uploads must match it.
|
|
78
|
+
num_probes: Collision rays per camera, run separately through probe().
|
|
79
|
+
0 compiles the probe pass out; probe methods then raise.
|
|
80
|
+
output: A channel name or tuple of "rgb", "depth", "segmentation", "normals",
|
|
81
|
+
and "flow".
|
|
82
|
+
Depth is camera-forward metric distance. render() produces every selected output.
|
|
83
|
+
fidelity: RGB shading preset: "low" (flat, untextured colour), "medium"
|
|
84
|
+
(textures, normal-based shading, metallic reflections, checker background),
|
|
85
|
+
"high" (textured, physically based scene lighting), or "veryhigh"
|
|
86
|
+
("high" plus point/spot-light shadows). Names are case-insensitive,
|
|
87
|
+
as are output names.
|
|
88
|
+
motion_blur_samples: 1 disables blur; 2, 4, 8, 16, or 32 samples
|
|
89
|
+
interpolate the shutter endpoints supplied by set_motion_blur_cameras().
|
|
90
|
+
anti_aliasing_grid: 1 disables anti-aliasing; 2, 3, or 4 uses a
|
|
91
|
+
grid of 4, 9, or 16 samples per pixel, respectively, per shutter sample.
|
|
92
|
+
num_overlays: Number of overlay groups; a group can be shared by cameras.
|
|
93
|
+
max_overlay_instances: Instance slots per overlay. Multipart assets consume
|
|
94
|
+
one slot per part.
|
|
95
|
+
max_overlays_per_camera: Maximum overlay groups attached to one camera.
|
|
96
|
+
semantic_segmentation: Write per-object segmentation_class values instead
|
|
97
|
+
of instance IDs; requires the segmentation channel.
|
|
98
|
+
dynamic_motion_blur: Blur overlay motion as well as camera motion, using
|
|
99
|
+
shutter-open/close transforms supplied by set_transform_pair() or per-part
|
|
100
|
+
samples supplied by set_motion_transforms(). Requires overlays and
|
|
101
|
+
motion_blur_samples >= 2.
|
|
102
|
+
|
|
103
|
+
The three overlay capacities must be all zero (disabled) or all positive.
|
|
104
|
+
Blur and anti-aliasing affect RGB; depth, segmentation, normals and flow
|
|
105
|
+
use pixel centres at shutter close. Flow compares against the previous capture,
|
|
106
|
+
independently of the motion-blur shutter interval.
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
def __init__(self, width, height, *, num_cameras=1, num_probes=1, output="rgb", fidelity="high",
|
|
110
|
+
motion_blur_samples=1, anti_aliasing_grid=1,
|
|
111
|
+
num_overlays=0, max_overlay_instances=0, max_overlays_per_camera=0,
|
|
112
|
+
semantic_segmentation=False, dynamic_motion_blur=False):
|
|
113
|
+
if isinstance(fidelity, str):
|
|
114
|
+
fidelity = fidelity.lower()
|
|
115
|
+
self.config = RendererConfig(
|
|
116
|
+
width=width,
|
|
117
|
+
height=height,
|
|
118
|
+
num_cameras=num_cameras,
|
|
119
|
+
num_probes=num_probes,
|
|
120
|
+
fidelity=fidelity,
|
|
121
|
+
output=output,
|
|
122
|
+
motion_blur_samples=motion_blur_samples,
|
|
123
|
+
anti_aliasing_grid=anti_aliasing_grid,
|
|
124
|
+
num_overlays=num_overlays,
|
|
125
|
+
max_overlay_instances=max_overlay_instances,
|
|
126
|
+
max_overlays_per_camera=max_overlays_per_camera,
|
|
127
|
+
semantic_segmentation=bool(semantic_segmentation),
|
|
128
|
+
dynamic_motion_blur=bool(dynamic_motion_blur),
|
|
129
|
+
)
|
|
130
|
+
self._renderer = load_renderer(self.config).Renderer()
|
|
131
|
+
self._scene = None
|
|
132
|
+
self._asset_pool = None
|
|
133
|
+
self._pending_inputs = []
|
|
134
|
+
self._pending_cameras = []
|
|
135
|
+
self._live = {}
|
|
136
|
+
self._generation = count()
|
|
137
|
+
self._serial = next(_RENDERER_SERIALS)
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def width(self):
|
|
141
|
+
return self.config.width
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def height(self):
|
|
145
|
+
return self.config.height
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def num_cameras(self):
|
|
149
|
+
return self.config.num_cameras
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def num_probes(self):
|
|
153
|
+
return self.config.num_probes
|
|
154
|
+
|
|
155
|
+
@property
|
|
156
|
+
def has_probes(self):
|
|
157
|
+
return self.config.has_probes
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
def aspect(self):
|
|
161
|
+
return self.config.width / self.config.height
|
|
162
|
+
|
|
163
|
+
@property
|
|
164
|
+
def motion_blur_samples(self):
|
|
165
|
+
return self.config.motion_blur_samples
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def backend(self):
|
|
169
|
+
return self._renderer.backend
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def scene_bounds(self):
|
|
173
|
+
center, half_extent, camera_radius = self._renderer.scene_bounds()
|
|
174
|
+
return {"center": center, "half_extent": half_extent, "camera_radius": camera_radius}
|
|
175
|
+
|
|
176
|
+
def init(self, scene, *, asset_pool=None):
|
|
177
|
+
"""Build acceleration structures for a scene. The scene (and asset pool) must stay
|
|
178
|
+
alive as long as this renderer; references are held here to guarantee that."""
|
|
179
|
+
self._renderer.init(scene, asset_pool)
|
|
180
|
+
self._scene = scene
|
|
181
|
+
self._asset_pool = asset_pool
|
|
182
|
+
self._live.clear()
|
|
183
|
+
|
|
184
|
+
def camera(self, position, look_at, *, up=(0.0, 0.0, 1.0), fov=60.0):
|
|
185
|
+
"""Camera ray-gen base for set_cameras; fov is in degrees."""
|
|
186
|
+
core = load_core()
|
|
187
|
+
return core.make_camera(tuple(position), tuple(look_at), tuple(up), float(fov), self.aspect)
|
|
188
|
+
|
|
189
|
+
def set_cameras(self, cameras, *, stream=0):
|
|
190
|
+
"""Upload camera ray-gen bases. Accepts host arrays/tensors (any DLPack producer)
|
|
191
|
+
or CUDA-resident tensors; stream is the producer's cudaStream_t handle (0 = default).
|
|
192
|
+
Each float32 (N, 12) row concatenates position, dir_00, dir_du and dir_dv.
|
|
193
|
+
Pixel centre (x, y) casts normalize(dir_00 + u * dir_du + v * dir_dv),
|
|
194
|
+
with u=(x+0.5)/width and v=(y+0.5)/height, in world-FLU coordinates.
|
|
195
|
+
Inputs stay retained until the
|
|
196
|
+
render or probe operation consuming their copy has synchronized."""
|
|
197
|
+
if _is_cuda(cameras):
|
|
198
|
+
if not hasattr(self._renderer, "set_cameras_device"):
|
|
199
|
+
raise RuntimeError("hyperdrone: device-resident camera input requires the OptiX backend")
|
|
200
|
+
self._renderer.set_cameras_device(cameras, int(stream))
|
|
201
|
+
self._pending_cameras.append(cameras)
|
|
202
|
+
return
|
|
203
|
+
self._renderer.set_cameras(_as_cameras(cameras, self.num_cameras))
|
|
204
|
+
|
|
205
|
+
def set_motion_blur_cameras(self, cameras_open, cameras_close, *, stream=0):
|
|
206
|
+
if _is_cuda(cameras_open) != _is_cuda(cameras_close):
|
|
207
|
+
raise ValueError("shutter cameras must live in the same memory")
|
|
208
|
+
if _is_cuda(cameras_open):
|
|
209
|
+
self._require_device_inputs("set_motion_blur_cameras_device")
|
|
210
|
+
self._renderer.set_motion_blur_cameras_device(cameras_open, cameras_close, int(stream))
|
|
211
|
+
self._pending_cameras.extend((cameras_open, cameras_close))
|
|
212
|
+
return
|
|
213
|
+
self._renderer.set_motion_blur_cameras(
|
|
214
|
+
_as_cameras(cameras_open, self.num_cameras),
|
|
215
|
+
_as_cameras(cameras_close, self.num_cameras),
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
def generate_cameras(self, *, center=None, radius=None, up=(0.0, 0.0, 1.0), fov=60.0):
|
|
219
|
+
bounds = self.scene_bounds
|
|
220
|
+
if center is None:
|
|
221
|
+
center = bounds["center"]
|
|
222
|
+
if radius is None:
|
|
223
|
+
radius = bounds["camera_radius"]
|
|
224
|
+
self._renderer.generate_cameras(tuple(center), float(radius), tuple(up), float(fov))
|
|
225
|
+
|
|
226
|
+
def _require_probes(self):
|
|
227
|
+
if not self.config.has_probes:
|
|
228
|
+
raise RuntimeError("hyperdrone: this renderer was compiled without collision probes (num_probes=0)")
|
|
229
|
+
|
|
230
|
+
def generate_probe_directions(self):
|
|
231
|
+
self._require_probes()
|
|
232
|
+
self._renderer.generate_probe_directions()
|
|
233
|
+
|
|
234
|
+
def advance_flow(self):
|
|
235
|
+
"""Snapshot current camera/object poses before changing them for the next frame.
|
|
236
|
+
|
|
237
|
+
The first render seeds previous=current automatically. Subsequent renders keep
|
|
238
|
+
the snapshot until this verb is called; reads never advance it.
|
|
239
|
+
"""
|
|
240
|
+
self._renderer.advance_flow()
|
|
241
|
+
|
|
242
|
+
def render(self):
|
|
243
|
+
self._renderer.render()
|
|
244
|
+
self._pending_inputs.clear()
|
|
245
|
+
self._pending_cameras.clear()
|
|
246
|
+
|
|
247
|
+
def render_launch(self):
|
|
248
|
+
self._renderer.render_launch()
|
|
249
|
+
|
|
250
|
+
def render_sync(self):
|
|
251
|
+
self._renderer.render_sync()
|
|
252
|
+
self._pending_inputs.clear()
|
|
253
|
+
self._pending_cameras.clear()
|
|
254
|
+
|
|
255
|
+
def probe(self):
|
|
256
|
+
self._require_probes()
|
|
257
|
+
self._renderer.probe()
|
|
258
|
+
self._pending_cameras.clear()
|
|
259
|
+
|
|
260
|
+
def probe_launch(self):
|
|
261
|
+
self._require_probes()
|
|
262
|
+
self._renderer.probe_launch()
|
|
263
|
+
|
|
264
|
+
def probe_sync(self):
|
|
265
|
+
self._require_probes()
|
|
266
|
+
self._renderer.probe_sync()
|
|
267
|
+
self._pending_cameras.clear()
|
|
268
|
+
|
|
269
|
+
def synchronize(self):
|
|
270
|
+
self._renderer.synchronize()
|
|
271
|
+
self._pending_inputs.clear()
|
|
272
|
+
self._pending_cameras.clear()
|
|
273
|
+
|
|
274
|
+
def update(self):
|
|
275
|
+
"""Publish pending overlay changes (attach/detach/spawn/despawn and the transform
|
|
276
|
+
verbs) and rebuild the overlay acceleration structures."""
|
|
277
|
+
self._renderer.update()
|
|
278
|
+
|
|
279
|
+
def frame_raw(self, *, out=None):
|
|
280
|
+
"""Packed RGBA8 uint32 snapshot with shape (num_cameras, height, width)."""
|
|
281
|
+
return self._image_output("frame", np.uint32, 1, out)
|
|
282
|
+
|
|
283
|
+
def frame(self, *, out=None):
|
|
284
|
+
"""sRGB RGBA8 snapshot with shape (num_cameras, height, width, 4); alpha is 255, reserved."""
|
|
285
|
+
shape = (self.num_cameras, self.height, self.width, 4)
|
|
286
|
+
out = _output(out, shape, np.uint8)
|
|
287
|
+
packed = out.view(np.uint32).reshape(shape[:3])
|
|
288
|
+
self.frame_raw(out=packed)
|
|
289
|
+
return out
|
|
290
|
+
|
|
291
|
+
def depth(self, *, out=None):
|
|
292
|
+
"""Camera-forward metric depth at pixel centre and shutter close; misses are +inf."""
|
|
293
|
+
return self._image_output("depth", np.float32, 1, out)
|
|
294
|
+
|
|
295
|
+
@property
|
|
296
|
+
def segmentation_mode(self):
|
|
297
|
+
return "semantic" if self.config.semantic_segmentation else "instance"
|
|
298
|
+
|
|
299
|
+
def segmentation(self, *, out=None):
|
|
300
|
+
"""uint32 instance IDs or semantic classes at shutter close; misses are 0xFFFFFFFF."""
|
|
301
|
+
return self._image_output("segmentation", np.uint32, 1, out)
|
|
302
|
+
|
|
303
|
+
def normals(self, *, out=None):
|
|
304
|
+
"""World-FLU geometric normals facing against the ray, float32 (N, H, W, 3); misses are zero."""
|
|
305
|
+
return self._image_output("normals", np.float32, 3, out)
|
|
306
|
+
|
|
307
|
+
def flow(self, *, out=None):
|
|
308
|
+
"""Current-to-previous pixel displacement (dx, dy), float32 (N, H, W, 2); see flow_status()."""
|
|
309
|
+
return self._image_output("flow", np.float32, 2, out)
|
|
310
|
+
|
|
311
|
+
def flow_status(self, *, out=None):
|
|
312
|
+
"""FlowStatus codes as uint32 (N, H, W)."""
|
|
313
|
+
return self._image_output("flow_status", np.uint32, 1, out)
|
|
314
|
+
|
|
315
|
+
def _image_output(self, name, dtype, channels, out):
|
|
316
|
+
shape = (self.num_cameras, self.height, self.width)
|
|
317
|
+
if channels > 1:
|
|
318
|
+
shape += (channels,)
|
|
319
|
+
out = _output(out, shape, dtype)
|
|
320
|
+
getattr(self._renderer, "read_" + name + "_buffer")(out)
|
|
321
|
+
return out
|
|
322
|
+
|
|
323
|
+
def frame_dlpack(self):
|
|
324
|
+
"""Live RGBA8 buffer as a zero-copy uint8 DLPack producer with shape
|
|
325
|
+
(num_cameras, height, width, 4). CUDA device memory on OptiX, CPU-visible memory
|
|
326
|
+
elsewhere. Valid after render()/render_sync(); overwritten by the next render."""
|
|
327
|
+
return _DLPackBuffer(self, self._renderer.frame_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
328
|
+
|
|
329
|
+
def frame_raw_dlpack(self):
|
|
330
|
+
"""The same live framebuffer in its native packed representation: a zero-copy
|
|
331
|
+
uint32 DLPack producer with shape (num_cameras, height, width)."""
|
|
332
|
+
return _DLPackBuffer(self, self._renderer.frame_raw_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
333
|
+
|
|
334
|
+
def depth_dlpack(self):
|
|
335
|
+
"""DLPack producer over the live depth buffer; see frame_dlpack for semantics."""
|
|
336
|
+
return _DLPackBuffer(self, self._renderer.depth_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
337
|
+
|
|
338
|
+
def segmentation_dlpack(self):
|
|
339
|
+
"""DLPack producer over the live segmentation buffer; see frame_dlpack."""
|
|
340
|
+
return _DLPackBuffer(self, self._renderer.segmentation_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
341
|
+
|
|
342
|
+
def normals_dlpack(self):
|
|
343
|
+
"""DLPack producer over the live normals buffer; see frame_dlpack."""
|
|
344
|
+
return _DLPackBuffer(self, self._renderer.normals_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
345
|
+
|
|
346
|
+
def flow_dlpack(self):
|
|
347
|
+
"""DLPack producer over the live flow buffer; see frame_dlpack."""
|
|
348
|
+
return _DLPackBuffer(self, self._renderer.flow_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
349
|
+
|
|
350
|
+
def flow_status_dlpack(self):
|
|
351
|
+
"""DLPack producer over the live flow status buffer; see frame_dlpack."""
|
|
352
|
+
return _DLPackBuffer(self, self._renderer.flow_status_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
353
|
+
|
|
354
|
+
def collisions(self):
|
|
355
|
+
"""Probe results as (distances, hits), each shaped (num_cameras, num_probes)."""
|
|
356
|
+
self._require_probes()
|
|
357
|
+
distances = np.empty((self.num_cameras, self.num_probes), dtype=np.float32)
|
|
358
|
+
hits = np.empty((self.num_cameras, self.num_probes), dtype=np.int32)
|
|
359
|
+
self._renderer.read_collision_results(distances, hits)
|
|
360
|
+
return distances, hits.astype(bool)
|
|
361
|
+
|
|
362
|
+
def can_attach(self, camera, overlay):
|
|
363
|
+
return self._renderer.can_attach(camera, overlay)
|
|
364
|
+
|
|
365
|
+
def attach(self, camera, overlay):
|
|
366
|
+
self._renderer.attach(camera, overlay)
|
|
367
|
+
|
|
368
|
+
def detach(self, camera, overlay):
|
|
369
|
+
self._renderer.detach(camera, overlay)
|
|
370
|
+
|
|
371
|
+
def can_spawn(self, overlay, asset):
|
|
372
|
+
return self._renderer.can_spawn(overlay, asset)
|
|
373
|
+
|
|
374
|
+
def spawn(self, overlay, asset, transform):
|
|
375
|
+
native = self._renderer.spawn(overlay, asset, _as_transform(transform))
|
|
376
|
+
placement = OverlayPlacement(overlay=overlay, first_slot=native[0], num_parts=native[1], _generation=next(self._generation), _renderer=self._serial)
|
|
377
|
+
self._live[(overlay, placement.first_slot)] = (placement, native)
|
|
378
|
+
return placement
|
|
379
|
+
|
|
380
|
+
def _native(self, placement):
|
|
381
|
+
if not isinstance(placement, OverlayPlacement):
|
|
382
|
+
raise TypeError("hyperdrone: expected an OverlayPlacement returned by spawn")
|
|
383
|
+
if placement._renderer != self._serial:
|
|
384
|
+
raise ValueError("hyperdrone: placement belongs to another renderer")
|
|
385
|
+
entry = self._live.get((placement.overlay, placement.first_slot))
|
|
386
|
+
if entry is None or entry[0] != placement:
|
|
387
|
+
raise ValueError("hyperdrone: placement is stale or does not match its allocation")
|
|
388
|
+
return entry[1]
|
|
389
|
+
|
|
390
|
+
def despawn(self, placement):
|
|
391
|
+
native = self._native(placement)
|
|
392
|
+
self._renderer.despawn(placement.overlay, native)
|
|
393
|
+
del self._live[(placement.overlay, placement.first_slot)]
|
|
394
|
+
|
|
395
|
+
def set_transform(self, placement, transform, *, rig=None, coordinates=None):
|
|
396
|
+
"""Move a placement rigidly: every part at transform composed with its asset rest frame.
|
|
397
|
+
With a rig, transform is its base pose and coordinates its joint state (default: the
|
|
398
|
+
neutral state), and the parts land at the rig's geometry-to-world poses."""
|
|
399
|
+
native = self._native(placement)
|
|
400
|
+
if rig is None:
|
|
401
|
+
if coordinates is not None:
|
|
402
|
+
raise ValueError("coordinates articulate a rig: pass rig=")
|
|
403
|
+
self._renderer.set_transform(placement.overlay, native, _as_transform(transform))
|
|
404
|
+
return
|
|
405
|
+
self.set_transforms(placement, rig.evaluate(transform, coordinates))
|
|
406
|
+
|
|
407
|
+
def set_transform_pair(self, placement, open_transform, close_transform, *, rig=None, coordinates_open=None, coordinates_close=None):
|
|
408
|
+
"""Rigid shutter-open/close move, interpolated into the motion samples (dynamic_motion_blur=True).
|
|
409
|
+
With a rig, the transforms are its base poses and the coordinates its joint states at
|
|
410
|
+
the shutter ends (default: the neutral state): the base follows the constant-twist screw,
|
|
411
|
+
the coordinates interpolate before the kinematics, so a revolute joint keeps every
|
|
412
|
+
revolution in between."""
|
|
413
|
+
native = self._native(placement)
|
|
414
|
+
if rig is None:
|
|
415
|
+
if coordinates_open is not None or coordinates_close is not None:
|
|
416
|
+
raise ValueError("coordinates articulate a rig: pass rig=")
|
|
417
|
+
self._renderer.set_transform_pair(placement.overlay, native, _as_transform(open_transform), _as_transform(close_transform))
|
|
418
|
+
return
|
|
419
|
+
if coordinates_open is None:
|
|
420
|
+
coordinates_open = rig.default_coordinates
|
|
421
|
+
if coordinates_close is None:
|
|
422
|
+
coordinates_close = rig.default_coordinates
|
|
423
|
+
samples, close = rig.sample(open_transform, close_transform, coordinates_open, coordinates_close, self.motion_blur_samples)
|
|
424
|
+
self.set_motion_transforms(placement, samples, close)
|
|
425
|
+
|
|
426
|
+
def _require_device_inputs(self, name):
|
|
427
|
+
if not hasattr(self._renderer, name):
|
|
428
|
+
raise RuntimeError("hyperdrone: device-resident transform input requires the OptiX backend")
|
|
429
|
+
|
|
430
|
+
def set_transforms(self, placement, poses, *, stream=0):
|
|
431
|
+
"""Per-part geometry-to-world poses, shape (num_parts, 3, 4): the output of Rig.evaluate
|
|
432
|
+
for the placement's assembly. CUDA tensors (OptiX) are copied device-to-device on the
|
|
433
|
+
render stream after awaiting stream (the producer's cudaStream_t handle, 0 = default)."""
|
|
434
|
+
native = self._native(placement)
|
|
435
|
+
if _is_cuda(poses):
|
|
436
|
+
self._require_device_inputs("set_transforms_device")
|
|
437
|
+
self._renderer.set_transforms_device(placement.overlay, native, poses, int(stream))
|
|
438
|
+
self._pending_inputs.append(poses)
|
|
439
|
+
return
|
|
440
|
+
self._renderer.set_transforms(placement.overlay, native, _as_rows(poses, (placement.num_parts, 3, 4)))
|
|
441
|
+
|
|
442
|
+
def set_motion_transforms(self, placement, samples, close, *, stream=0):
|
|
443
|
+
"""Per-part motion for dynamic motion blur: samples (motion_blur_samples, num_parts, 3, 4)
|
|
444
|
+
at the shutter times (s + 0.5) / motion_blur_samples and the shutter-close poses
|
|
445
|
+
(num_parts, 3, 4) that segmentation, probes and the next frame see: the output of
|
|
446
|
+
Rig.sample. CUDA tensors are handed over like in set_transforms."""
|
|
447
|
+
native = self._native(placement)
|
|
448
|
+
if _is_cuda(samples) != _is_cuda(close):
|
|
449
|
+
raise ValueError("samples and close poses must live in the same memory")
|
|
450
|
+
if _is_cuda(samples):
|
|
451
|
+
self._require_device_inputs("set_motion_transforms_device")
|
|
452
|
+
self._renderer.set_motion_transforms_device(placement.overlay, native, samples, close, int(stream))
|
|
453
|
+
self._pending_inputs.extend((samples, close))
|
|
454
|
+
return
|
|
455
|
+
num_parts = placement.num_parts
|
|
456
|
+
self._renderer.set_motion_transforms(placement.overlay, native, _as_rows(samples, (self.motion_blur_samples, num_parts, 3, 4)), _as_rows(close, (num_parts, 3, 4)))
|
|
457
|
+
|
|
458
|
+
def set_all_transforms(self, poses, *, stream=0):
|
|
459
|
+
"""Every slot at once, shape (num_overlays, max_overlay_instances, 3, 4): a batch of
|
|
460
|
+
identical assets spawned one per overlay is exactly this tensor. Rows of inactive slots
|
|
461
|
+
are ignored."""
|
|
462
|
+
shape = (self.config.num_overlays, self.config.max_overlay_instances, 3, 4)
|
|
463
|
+
if _is_cuda(poses):
|
|
464
|
+
self._require_device_inputs("set_all_transforms_device")
|
|
465
|
+
self._renderer.set_all_transforms_device(poses, int(stream))
|
|
466
|
+
self._pending_inputs.append(poses)
|
|
467
|
+
return
|
|
468
|
+
self._renderer.set_all_transforms(_as_rows(poses, shape))
|
|
469
|
+
|
|
470
|
+
def set_all_motion_transforms(self, samples, close, *, stream=0):
|
|
471
|
+
"""Every slot's motion at once: samples (motion_blur_samples, num_overlays,
|
|
472
|
+
max_overlay_instances, 3, 4) and close (num_overlays, max_overlay_instances, 3, 4)."""
|
|
473
|
+
shape = (self.config.num_overlays, self.config.max_overlay_instances, 3, 4)
|
|
474
|
+
if _is_cuda(samples) != _is_cuda(close):
|
|
475
|
+
raise ValueError("samples and close poses must live in the same memory")
|
|
476
|
+
if _is_cuda(samples):
|
|
477
|
+
self._require_device_inputs("set_all_motion_transforms_device")
|
|
478
|
+
self._renderer.set_all_motion_transforms_device(samples, close, int(stream))
|
|
479
|
+
self._pending_inputs.extend((samples, close))
|
|
480
|
+
return
|
|
481
|
+
self._renderer.set_all_motion_transforms(_as_rows(samples, (self.motion_blur_samples,) + shape), _as_rows(close, shape))
|
|
482
|
+
|
|
483
|
+
def transforms_dlpack(self):
|
|
484
|
+
"""Live geometry-to-world tensor (num_overlays, max_overlay_instances, 3, 4) as a
|
|
485
|
+
zero-copy DLPack producer for in-place writers (CUDA device memory on OptiX, CPU memory
|
|
486
|
+
elsewhere); update() consumes it. Call update() to publish pending host writes before
|
|
487
|
+
writing it, and order a CUDA producer against render_stream."""
|
|
488
|
+
return _DLPackBuffer(self, self._renderer.transforms_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
489
|
+
|
|
490
|
+
def transforms_motion_dlpack(self):
|
|
491
|
+
"""Live per-sample tensor (motion_blur_samples, num_overlays, max_overlay_instances, 3, 4);
|
|
492
|
+
see transforms_dlpack for the contract."""
|
|
493
|
+
return _DLPackBuffer(self, self._renderer.transforms_motion_dlpack, self._renderer.buffer_device_type(), self._renderer.buffer_device_id())
|
|
494
|
+
|
|
495
|
+
@property
|
|
496
|
+
def render_stream(self):
|
|
497
|
+
"""cudaStream_t handle of the render stream (0 on host backends)."""
|
|
498
|
+
return self._renderer.render_stream()
|