warp-lang 1.6.1__py3-none-win_amd64.whl → 1.7.0__py3-none-win_amd64.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.
Potentially problematic release.
This version of warp-lang might be problematic. Click here for more details.
- warp/__init__.py +21 -7
- warp/autograd.py +14 -6
- warp/bin/warp-clang.dll +0 -0
- warp/bin/warp.dll +0 -0
- warp/build.py +424 -6
- warp/build_dll.py +20 -20
- warp/builtins.py +467 -368
- warp/codegen.py +193 -125
- warp/config.py +56 -12
- warp/constants.py +14 -6
- warp/context.py +524 -277
- warp/dlpack.py +22 -12
- warp/examples/__init__.py +14 -6
- warp/examples/assets/nonuniform.usd +0 -0
- warp/examples/assets/nvidia_logo.png +0 -0
- warp/examples/benchmarks/benchmark_api.py +14 -6
- warp/examples/benchmarks/benchmark_cloth.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_cupy.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_jax.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_numba.py +15 -0
- warp/examples/benchmarks/benchmark_cloth_numpy.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_paddle.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_pytorch.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_taichi.py +14 -6
- warp/examples/benchmarks/benchmark_cloth_warp.py +14 -6
- warp/examples/benchmarks/benchmark_gemm.py +82 -48
- warp/examples/benchmarks/benchmark_interop_paddle.py +14 -6
- warp/examples/benchmarks/benchmark_interop_torch.py +14 -6
- warp/examples/benchmarks/benchmark_launches.py +14 -6
- warp/examples/benchmarks/benchmark_tile_load_store.py +103 -0
- warp/examples/browse.py +14 -6
- warp/examples/core/example_cupy.py +14 -6
- warp/examples/core/example_dem.py +14 -6
- warp/examples/core/example_fluid.py +14 -6
- warp/examples/core/example_graph_capture.py +14 -6
- warp/examples/core/example_marching_cubes.py +14 -6
- warp/examples/core/example_mesh.py +14 -6
- warp/examples/core/example_mesh_intersect.py +14 -6
- warp/examples/core/example_nvdb.py +14 -6
- warp/examples/core/example_raycast.py +14 -6
- warp/examples/core/example_raymarch.py +14 -6
- warp/examples/core/example_render_opengl.py +14 -6
- warp/examples/core/example_sample_mesh.py +300 -0
- warp/examples/core/example_sph.py +14 -6
- warp/examples/core/example_torch.py +14 -6
- warp/examples/core/example_wave.py +14 -6
- warp/examples/fem/example_adaptive_grid.py +14 -6
- warp/examples/fem/example_apic_fluid.py +15 -7
- warp/examples/fem/example_burgers.py +16 -8
- warp/examples/fem/example_convection_diffusion.py +14 -6
- warp/examples/fem/example_convection_diffusion_dg.py +14 -6
- warp/examples/fem/example_deformed_geometry.py +15 -7
- warp/examples/fem/example_diffusion.py +14 -6
- warp/examples/fem/example_diffusion_3d.py +14 -6
- warp/examples/fem/example_diffusion_mgpu.py +14 -6
- warp/examples/fem/example_distortion_energy.py +15 -7
- warp/examples/fem/example_magnetostatics.py +20 -12
- warp/examples/fem/example_mixed_elasticity.py +14 -6
- warp/examples/fem/example_navier_stokes.py +14 -6
- warp/examples/fem/example_nonconforming_contact.py +14 -6
- warp/examples/fem/example_stokes.py +14 -6
- warp/examples/fem/example_stokes_transfer.py +14 -6
- warp/examples/fem/example_streamlines.py +14 -6
- warp/examples/fem/utils.py +24 -3
- warp/examples/interop/example_jax_callable.py +116 -0
- warp/examples/interop/example_jax_ffi_callback.py +132 -0
- warp/examples/interop/example_jax_kernel.py +205 -0
- warp/examples/optim/example_bounce.py +14 -6
- warp/examples/optim/example_cloth_throw.py +14 -6
- warp/examples/optim/example_diffray.py +14 -6
- warp/examples/optim/example_drone.py +14 -6
- warp/examples/optim/example_fluid_checkpoint.py +497 -0
- warp/examples/optim/example_inverse_kinematics.py +14 -6
- warp/examples/optim/example_inverse_kinematics_torch.py +14 -6
- warp/examples/optim/example_softbody_properties.py +14 -6
- warp/examples/optim/example_spring_cage.py +14 -6
- warp/examples/optim/example_trajectory.py +14 -6
- warp/examples/sim/example_cartpole.py +14 -6
- warp/examples/sim/example_cloth.py +14 -6
- warp/examples/sim/example_cloth_self_contact.py +14 -6
- warp/examples/sim/example_granular.py +14 -6
- warp/examples/sim/example_granular_collision_sdf.py +14 -6
- warp/examples/sim/example_jacobian_ik.py +14 -6
- warp/examples/sim/example_particle_chain.py +14 -6
- warp/examples/sim/example_quadruped.py +14 -6
- warp/examples/sim/example_rigid_chain.py +14 -6
- warp/examples/sim/example_rigid_contact.py +14 -6
- warp/examples/sim/example_rigid_force.py +14 -6
- warp/examples/sim/example_rigid_gyroscopic.py +14 -6
- warp/examples/sim/example_rigid_soft_contact.py +14 -6
- warp/examples/sim/example_soft_body.py +14 -6
- warp/examples/tile/example_tile_cholesky.py +14 -6
- warp/examples/tile/example_tile_convolution.py +14 -6
- warp/examples/tile/example_tile_fft.py +14 -6
- warp/examples/tile/example_tile_filtering.py +14 -6
- warp/examples/tile/example_tile_matmul.py +16 -10
- warp/examples/tile/example_tile_mlp.py +14 -6
- warp/examples/tile/example_tile_nbody.py +14 -6
- warp/examples/tile/example_tile_walker.py +14 -6
- warp/fabric.py +15 -0
- warp/fem/__init__.py +26 -1
- warp/fem/adaptivity.py +19 -4
- warp/fem/cache.py +15 -0
- warp/fem/dirichlet.py +15 -0
- warp/fem/domain.py +15 -0
- warp/fem/field/__init__.py +15 -0
- warp/fem/field/field.py +15 -0
- warp/fem/field/nodal_field.py +37 -68
- warp/fem/field/restriction.py +15 -0
- warp/fem/field/virtual.py +77 -23
- warp/fem/geometry/__init__.py +15 -0
- warp/fem/geometry/adaptive_nanogrid.py +24 -10
- warp/fem/geometry/closest_point.py +16 -1
- warp/fem/geometry/deformed_geometry.py +20 -2
- warp/fem/geometry/element.py +15 -0
- warp/fem/geometry/geometry.py +20 -0
- warp/fem/geometry/grid_2d.py +27 -12
- warp/fem/geometry/grid_3d.py +27 -15
- warp/fem/geometry/hexmesh.py +20 -7
- warp/fem/geometry/nanogrid.py +24 -11
- warp/fem/geometry/partition.py +15 -0
- warp/fem/geometry/quadmesh.py +28 -13
- warp/fem/geometry/tetmesh.py +18 -4
- warp/fem/geometry/trimesh.py +18 -8
- warp/fem/integrate.py +277 -93
- warp/fem/linalg.py +20 -5
- warp/fem/operator.py +15 -0
- warp/fem/polynomial.py +15 -0
- warp/fem/quadrature/__init__.py +15 -0
- warp/fem/quadrature/pic_quadrature.py +52 -22
- warp/fem/quadrature/quadrature.py +209 -25
- warp/fem/space/__init__.py +16 -1
- warp/fem/space/basis_function_space.py +19 -2
- warp/fem/space/basis_space.py +40 -18
- warp/fem/space/dof_mapper.py +15 -0
- warp/fem/space/function_space.py +15 -0
- warp/fem/space/grid_2d_function_space.py +15 -0
- warp/fem/space/grid_3d_function_space.py +15 -0
- warp/fem/space/hexmesh_function_space.py +17 -2
- warp/fem/space/nanogrid_function_space.py +15 -0
- warp/fem/space/partition.py +21 -2
- warp/fem/space/quadmesh_function_space.py +23 -8
- warp/fem/space/restriction.py +15 -0
- warp/fem/space/shape/__init__.py +15 -0
- warp/fem/space/shape/cube_shape_function.py +38 -23
- warp/fem/space/shape/shape_function.py +15 -0
- warp/fem/space/shape/square_shape_function.py +27 -12
- warp/fem/space/shape/tet_shape_function.py +15 -0
- warp/fem/space/shape/triangle_shape_function.py +16 -1
- warp/fem/space/tetmesh_function_space.py +18 -3
- warp/fem/space/topology.py +15 -0
- warp/fem/space/trimesh_function_space.py +17 -2
- warp/fem/types.py +15 -0
- warp/fem/utils.py +27 -6
- warp/jax.py +28 -7
- warp/jax_experimental/__init__.py +16 -0
- warp/{jax_experimental.py → jax_experimental/custom_call.py} +28 -33
- warp/jax_experimental/ffi.py +698 -0
- warp/jax_experimental/xla_ffi.py +602 -0
- warp/math.py +103 -6
- warp/native/array.h +28 -6
- warp/native/builtin.h +44 -9
- warp/native/bvh.cpp +18 -7
- warp/native/bvh.cu +57 -20
- warp/native/bvh.h +17 -7
- warp/native/clang/clang.cpp +45 -9
- warp/native/coloring.cpp +15 -6
- warp/native/crt.cpp +15 -6
- warp/native/crt.h +15 -6
- warp/native/cuda_crt.h +15 -6
- warp/native/cuda_util.cpp +29 -6
- warp/native/cuda_util.h +17 -6
- warp/native/error.cpp +15 -6
- warp/native/error.h +15 -6
- warp/native/exports.h +85 -63
- warp/native/fabric.h +15 -6
- warp/native/hashgrid.cpp +15 -6
- warp/native/hashgrid.cu +15 -6
- warp/native/hashgrid.h +15 -6
- warp/native/initializer_array.h +15 -6
- warp/native/intersect.h +41 -32
- warp/native/intersect_adj.h +48 -39
- warp/native/intersect_tri.h +17 -0
- warp/native/marching.cpp +16 -0
- warp/native/marching.cu +16 -7
- warp/native/marching.h +17 -0
- warp/native/mat.h +528 -15
- warp/native/mathdx.cpp +15 -6
- warp/native/matnn.h +15 -6
- warp/native/mesh.cpp +15 -6
- warp/native/mesh.cu +15 -6
- warp/native/mesh.h +25 -16
- warp/native/noise.h +15 -6
- warp/native/quat.h +114 -17
- warp/native/rand.h +21 -6
- warp/native/range.h +15 -6
- warp/native/reduce.cpp +15 -6
- warp/native/reduce.cu +15 -6
- warp/native/runlength_encode.cpp +15 -6
- warp/native/runlength_encode.cu +15 -6
- warp/native/scan.cpp +15 -6
- warp/native/scan.cu +15 -6
- warp/native/scan.h +15 -6
- warp/native/solid_angle.h +17 -0
- warp/native/sort.cpp +137 -65
- warp/native/sort.cu +167 -21
- warp/native/sort.h +23 -7
- warp/native/sparse.cpp +58 -28
- warp/native/sparse.cu +67 -23
- warp/native/spatial.h +15 -6
- warp/native/svd.h +131 -6
- warp/native/temp_buffer.h +15 -6
- warp/native/tile.h +316 -111
- warp/native/tile_reduce.h +61 -9
- warp/native/vec.h +83 -13
- warp/native/volume.cpp +100 -119
- warp/native/volume.cu +15 -6
- warp/native/volume.h +15 -6
- warp/native/volume_builder.cu +40 -16
- warp/native/volume_builder.h +21 -6
- warp/native/volume_impl.h +15 -6
- warp/native/warp.cpp +20 -12
- warp/native/warp.cu +114 -16
- warp/native/warp.h +34 -16
- warp/optim/__init__.py +14 -6
- warp/optim/adam.py +14 -6
- warp/optim/linear.py +25 -10
- warp/optim/sgd.py +14 -6
- warp/paddle.py +14 -6
- warp/render/__init__.py +14 -6
- warp/render/render_opengl.py +14 -6
- warp/render/render_usd.py +14 -6
- warp/render/utils.py +14 -6
- warp/sim/__init__.py +14 -7
- warp/sim/articulation.py +18 -10
- warp/sim/collide.py +35 -16
- warp/sim/graph_coloring.py +14 -6
- warp/sim/import_mjcf.py +463 -162
- warp/sim/import_snu.py +14 -7
- warp/sim/import_urdf.py +46 -18
- warp/sim/import_usd.py +14 -7
- warp/sim/inertia.py +14 -6
- warp/sim/integrator.py +14 -6
- warp/sim/integrator_euler.py +19 -11
- warp/sim/integrator_featherstone.py +17 -16
- warp/sim/integrator_vbd.py +222 -8
- warp/sim/integrator_xpbd.py +19 -11
- warp/sim/model.py +56 -19
- warp/sim/particles.py +14 -6
- warp/sim/render.py +14 -6
- warp/sim/utils.py +17 -2
- warp/sparse.py +657 -555
- warp/stubs.py +231 -19
- warp/tape.py +14 -6
- warp/tests/aux_test_class_kernel.py +14 -6
- warp/tests/aux_test_compile_consts_dummy.py +14 -6
- warp/tests/aux_test_conditional_unequal_types_kernels.py +14 -6
- warp/tests/aux_test_dependent.py +14 -6
- warp/tests/aux_test_grad_customs.py +14 -6
- warp/tests/aux_test_instancing_gc.py +14 -6
- warp/tests/aux_test_module_unload.py +14 -6
- warp/tests/aux_test_name_clash1.py +14 -6
- warp/tests/aux_test_name_clash2.py +14 -6
- warp/tests/aux_test_unresolved_func.py +14 -6
- warp/tests/aux_test_unresolved_symbol.py +14 -6
- warp/tests/cuda/__init__.py +0 -0
- warp/tests/{test_async.py → cuda/test_async.py} +14 -6
- warp/tests/{test_ipc.py → cuda/test_ipc.py} +14 -6
- warp/tests/{test_mempool.py → cuda/test_mempool.py} +53 -6
- warp/tests/{test_multigpu.py → cuda/test_multigpu.py} +14 -6
- warp/tests/{test_peer.py → cuda/test_peer.py} +14 -6
- warp/tests/{test_pinned.py → cuda/test_pinned.py} +14 -6
- warp/tests/{test_streams.py → cuda/test_streams.py} +85 -6
- warp/tests/geometry/__init__.py +0 -0
- warp/tests/{test_bvh.py → geometry/test_bvh.py} +14 -6
- warp/tests/{test_hash_grid.py → geometry/test_hash_grid.py} +14 -6
- warp/tests/{test_marching_cubes.py → geometry/test_marching_cubes.py} +14 -6
- warp/tests/{test_mesh.py → geometry/test_mesh.py} +14 -6
- warp/tests/{test_mesh_query_aabb.py → geometry/test_mesh_query_aabb.py} +14 -6
- warp/tests/{test_mesh_query_point.py → geometry/test_mesh_query_point.py} +80 -69
- warp/tests/{test_mesh_query_ray.py → geometry/test_mesh_query_ray.py} +15 -7
- warp/tests/{test_volume.py → geometry/test_volume.py} +55 -12
- warp/tests/{test_volume_write.py → geometry/test_volume_write.py} +14 -6
- warp/tests/interop/__init__.py +0 -0
- warp/tests/{test_dlpack.py → interop/test_dlpack.py} +42 -11
- warp/tests/{test_jax.py → interop/test_jax.py} +14 -6
- warp/tests/{test_paddle.py → interop/test_paddle.py} +14 -6
- warp/tests/{test_torch.py → interop/test_torch.py} +14 -6
- warp/tests/run_coverage_serial.py +14 -6
- warp/tests/sim/__init__.py +0 -0
- warp/tests/{disabled_kinematics.py → sim/disabled_kinematics.py} +23 -16
- warp/tests/{flaky_test_sim_grad.py → sim/flaky_test_sim_grad.py} +14 -6
- warp/tests/{test_collision.py → sim/test_collision.py} +16 -8
- warp/tests/{test_coloring.py → sim/test_coloring.py} +14 -7
- warp/tests/{test_model.py → sim/test_model.py} +55 -7
- warp/tests/{test_sim_grad_bounce_linear.py → sim/test_sim_grad_bounce_linear.py} +14 -6
- warp/tests/{test_sim_kinematics.py → sim/test_sim_kinematics.py} +16 -7
- warp/tests/sim/test_vbd.py +597 -0
- warp/tests/test_adam.py +14 -6
- warp/tests/test_arithmetic.py +14 -6
- warp/tests/test_array.py +14 -6
- warp/tests/test_array_reduce.py +14 -6
- warp/tests/test_assert.py +14 -6
- warp/tests/test_atomic.py +14 -6
- warp/tests/test_bool.py +15 -7
- warp/tests/test_builtins_resolution.py +14 -6
- warp/tests/test_closest_point_edge_edge.py +14 -6
- warp/tests/test_codegen.py +14 -6
- warp/tests/test_codegen_instancing.py +14 -6
- warp/tests/test_compile_consts.py +14 -6
- warp/tests/test_conditional.py +14 -6
- warp/tests/test_context.py +14 -6
- warp/tests/test_copy.py +14 -6
- warp/tests/test_ctypes.py +14 -6
- warp/tests/test_dense.py +14 -6
- warp/tests/test_devices.py +14 -6
- warp/tests/test_examples.py +42 -42
- warp/tests/test_fabricarray.py +14 -6
- warp/tests/test_fast_math.py +14 -6
- warp/tests/test_fem.py +37 -10
- warp/tests/test_fp16.py +14 -6
- warp/tests/test_func.py +14 -6
- warp/tests/test_future_annotations.py +14 -6
- warp/tests/test_generics.py +14 -6
- warp/tests/test_grad.py +14 -6
- warp/tests/test_grad_customs.py +14 -6
- warp/tests/test_grad_debug.py +14 -6
- warp/tests/test_implicit_init.py +14 -6
- warp/tests/test_import.py +14 -6
- warp/tests/test_indexedarray.py +14 -6
- warp/tests/test_intersect.py +14 -6
- warp/tests/test_iter.py +14 -6
- warp/tests/test_large.py +14 -6
- warp/tests/test_launch.py +14 -6
- warp/tests/test_lerp.py +14 -6
- warp/tests/test_linear_solvers.py +15 -11
- warp/tests/test_lvalue.py +14 -6
- warp/tests/test_mat.py +247 -85
- warp/tests/test_mat_lite.py +14 -6
- warp/tests/test_mat_scalar_ops.py +18 -10
- warp/tests/test_math.py +14 -6
- warp/tests/test_mlp.py +14 -6
- warp/tests/test_module_hashing.py +14 -6
- warp/tests/test_modules_lite.py +14 -6
- warp/tests/test_noise.py +14 -6
- warp/tests/test_operators.py +14 -6
- warp/tests/test_options.py +14 -6
- warp/tests/test_overwrite.py +15 -60
- warp/tests/test_print.py +14 -6
- warp/tests/test_quat.py +81 -52
- warp/tests/test_rand.py +58 -43
- warp/tests/test_reload.py +14 -6
- warp/tests/test_rounding.py +14 -6
- warp/tests/test_runlength_encode.py +14 -6
- warp/tests/test_scalar_ops.py +14 -6
- warp/tests/test_smoothstep.py +14 -6
- warp/tests/test_snippet.py +15 -0
- warp/tests/test_sparse.py +61 -12
- warp/tests/test_spatial.py +89 -6
- warp/tests/test_special_values.py +14 -6
- warp/tests/test_static.py +15 -7
- warp/tests/test_struct.py +14 -6
- warp/tests/test_tape.py +14 -6
- warp/tests/test_transient_module.py +14 -6
- warp/tests/test_triangle_closest_point.py +14 -6
- warp/tests/test_types.py +14 -6
- warp/tests/test_utils.py +98 -10
- warp/tests/test_vec.py +60 -40
- warp/tests/test_vec_lite.py +14 -6
- warp/tests/test_vec_scalar_ops.py +14 -6
- warp/tests/test_verify_fp.py +14 -6
- warp/tests/tile/__init__.py +0 -0
- warp/tests/{test_tile.py → tile/test_tile.py} +150 -57
- warp/tests/{test_tile_load.py → tile/test_tile_load.py} +15 -7
- warp/tests/{test_tile_mathdx.py → tile/test_tile_mathdx.py} +23 -12
- warp/tests/{test_tile_mlp.py → tile/test_tile_mlp.py} +39 -20
- warp/tests/{test_tile_reduce.py → tile/test_tile_reduce.py} +74 -7
- warp/tests/{test_tile_shared_memory.py → tile/test_tile_shared_memory.py} +14 -6
- warp/tests/{test_tile_view.py → tile/test_tile_view.py} +15 -7
- warp/tests/unittest_serial.py +15 -6
- warp/tests/unittest_suites.py +59 -65
- warp/tests/unittest_utils.py +16 -7
- warp/tests/walkthrough_debug.py +14 -6
- warp/thirdparty/unittest_parallel.py +15 -8
- warp/torch.py +14 -6
- warp/types.py +124 -664
- warp/utils.py +151 -78
- {warp_lang-1.6.1.dist-info → warp_lang-1.7.0.dist-info}/METADATA +39 -12
- warp_lang-1.7.0.dist-info/RECORD +429 -0
- {warp_lang-1.6.1.dist-info → warp_lang-1.7.0.dist-info}/WHEEL +1 -1
- warp_lang-1.7.0.dist-info/licenses/LICENSE.md +202 -0
- warp/examples/optim/example_walker.py +0 -309
- warp/native/cutlass_gemm.cpp +0 -34
- warp/native/cutlass_gemm.cu +0 -373
- warp/tests/test_matmul.py +0 -503
- warp/tests/test_matmul_lite.py +0 -403
- warp/tests/test_vbd.py +0 -378
- warp/tests/unused_test_misc.py +0 -69
- warp_lang-1.6.1.dist-info/LICENSE.md +0 -126
- warp_lang-1.6.1.dist-info/RECORD +0 -419
- {warp_lang-1.6.1.dist-info → warp_lang-1.7.0.dist-info}/top_level.txt +0 -0
warp/native/intersect.h
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
* NVIDIA CORPORATION
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
7
16
|
*/
|
|
8
17
|
|
|
9
18
|
#pragma once
|
|
@@ -806,7 +815,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
806
815
|
var_17 = wp::vec2(var_5, var_9);
|
|
807
816
|
goto label1;
|
|
808
817
|
}
|
|
809
|
-
var_18 = wp::
|
|
818
|
+
var_18 = wp::where(var_16, var_17, var_10);
|
|
810
819
|
var_19 = wp::mul(var_3, var_13);
|
|
811
820
|
var_20 = wp::mul(var_12, var_4);
|
|
812
821
|
var_21 = wp::sub(var_19, var_20);
|
|
@@ -821,7 +830,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
821
830
|
var_29 = wp::vec2(var_28, var_23);
|
|
822
831
|
goto label2;
|
|
823
832
|
}
|
|
824
|
-
var_30 = wp::
|
|
833
|
+
var_30 = wp::where(var_27, var_29, var_18);
|
|
825
834
|
var_31 = wp::sub(var_p, var_c);
|
|
826
835
|
var_32 = wp::dot(var_0, var_31);
|
|
827
836
|
var_33 = wp::dot(var_1, var_31);
|
|
@@ -832,7 +841,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
832
841
|
var_37 = wp::vec2(var_5, var_5);
|
|
833
842
|
goto label3;
|
|
834
843
|
}
|
|
835
|
-
var_38 = wp::
|
|
844
|
+
var_38 = wp::where(var_36, var_37, var_30);
|
|
836
845
|
var_39 = wp::mul(var_32, var_4);
|
|
837
846
|
var_40 = wp::mul(var_3, var_33);
|
|
838
847
|
var_41 = wp::sub(var_39, var_40);
|
|
@@ -847,7 +856,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
847
856
|
var_49 = wp::vec2(var_48, var_5);
|
|
848
857
|
goto label4;
|
|
849
858
|
}
|
|
850
|
-
var_50 = wp::
|
|
859
|
+
var_50 = wp::where(var_47, var_49, var_38);
|
|
851
860
|
var_51 = wp::mul(var_12, var_33);
|
|
852
861
|
var_52 = wp::mul(var_32, var_13);
|
|
853
862
|
var_53 = wp::sub(var_51, var_52);
|
|
@@ -867,7 +876,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
867
876
|
var_66 = wp::vec2(var_5, var_65);
|
|
868
877
|
goto label5;
|
|
869
878
|
}
|
|
870
|
-
// var_67 = wp::
|
|
879
|
+
// var_67 = wp::where(var_64, var_66, var_50);
|
|
871
880
|
var_68 = wp::add(var_53, var_41);
|
|
872
881
|
var_69 = wp::add(var_68, var_21);
|
|
873
882
|
var_70 = wp::div(var_9, var_69);
|
|
@@ -889,7 +898,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
889
898
|
wp::adj_div(var_9, var_69, var_70, adj_9, adj_69, adj_70);
|
|
890
899
|
wp::adj_add(var_68, var_21, adj_68, adj_21, adj_69);
|
|
891
900
|
wp::adj_add(var_53, var_41, adj_53, adj_41, adj_68);
|
|
892
|
-
wp::
|
|
901
|
+
wp::adj_where(var_64, var_66, var_50, adj_64, adj_66, adj_50, adj_67);
|
|
893
902
|
if (var_64) {
|
|
894
903
|
label5:;
|
|
895
904
|
adj_66 += adj_ret;
|
|
@@ -906,7 +915,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
906
915
|
wp::adj_sub(var_51, var_52, adj_51, adj_52, adj_53);
|
|
907
916
|
wp::adj_mul(var_32, var_13, adj_32, adj_13, adj_52);
|
|
908
917
|
wp::adj_mul(var_12, var_33, adj_12, adj_33, adj_51);
|
|
909
|
-
wp::
|
|
918
|
+
wp::adj_where(var_47, var_49, var_38, adj_47, adj_49, adj_38, adj_50);
|
|
910
919
|
if (var_47) {
|
|
911
920
|
label4:;
|
|
912
921
|
adj_49 += adj_ret;
|
|
@@ -918,7 +927,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
918
927
|
wp::adj_sub(var_39, var_40, adj_39, adj_40, adj_41);
|
|
919
928
|
wp::adj_mul(var_3, var_33, adj_3, adj_33, adj_40);
|
|
920
929
|
wp::adj_mul(var_32, var_4, adj_32, adj_4, adj_39);
|
|
921
|
-
wp::
|
|
930
|
+
wp::adj_where(var_36, var_37, var_30, adj_36, adj_37, adj_30, adj_38);
|
|
922
931
|
if (var_36) {
|
|
923
932
|
label3:;
|
|
924
933
|
adj_37 += adj_ret;
|
|
@@ -927,7 +936,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
927
936
|
wp::adj_dot(var_1, var_31, adj_1, adj_31, adj_33);
|
|
928
937
|
wp::adj_dot(var_0, var_31, adj_0, adj_31, adj_32);
|
|
929
938
|
wp::adj_sub(var_p, var_c, adj_p, adj_c, adj_31);
|
|
930
|
-
wp::
|
|
939
|
+
wp::adj_where(var_27, var_29, var_18, adj_27, adj_29, adj_18, adj_30);
|
|
931
940
|
if (var_27) {
|
|
932
941
|
label2:;
|
|
933
942
|
adj_29 += adj_ret;
|
|
@@ -939,7 +948,7 @@ CUDA_CALLABLE inline void adj_closest_point_to_triangle(
|
|
|
939
948
|
wp::adj_sub(var_19, var_20, adj_19, adj_20, adj_21);
|
|
940
949
|
wp::adj_mul(var_12, var_4, adj_12, adj_4, adj_20);
|
|
941
950
|
wp::adj_mul(var_3, var_13, adj_3, adj_13, adj_19);
|
|
942
|
-
wp::
|
|
951
|
+
wp::adj_where(var_16, var_17, var_10, adj_16, adj_17, adj_10, adj_18);
|
|
943
952
|
if (var_16) {
|
|
944
953
|
label1:;
|
|
945
954
|
adj_17 += adj_ret;
|
|
@@ -1147,8 +1156,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1147
1156
|
var_17 = wp::div(var_5, var_4);
|
|
1148
1157
|
var_18 = wp::cast_float(var_17);
|
|
1149
1158
|
}
|
|
1150
|
-
var_19 = wp::
|
|
1151
|
-
var_20 = wp::
|
|
1159
|
+
var_19 = wp::where(var_15, var_16, var_7);
|
|
1160
|
+
var_20 = wp::where(var_15, var_18, var_8);
|
|
1152
1161
|
if (!var_15) {
|
|
1153
1162
|
var_21 = wp::dot(var_0, var_2);
|
|
1154
1163
|
var_22 = (var_4 <= var_epsilon);
|
|
@@ -1158,8 +1167,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1158
1167
|
var_26 = wp::clamp(var_24, var_6, var_25);
|
|
1159
1168
|
var_27 = wp::cast_float(var_6);
|
|
1160
1169
|
}
|
|
1161
|
-
var_28 = wp::
|
|
1162
|
-
var_29 = wp::
|
|
1170
|
+
var_28 = wp::where(var_22, var_26, var_19);
|
|
1171
|
+
var_29 = wp::where(var_22, var_27, var_20);
|
|
1163
1172
|
if (!var_22) {
|
|
1164
1173
|
var_30 = wp::dot(var_0, var_1);
|
|
1165
1174
|
var_31 = wp::mul(var_3, var_4);
|
|
@@ -1173,10 +1182,10 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1173
1182
|
var_38 = wp::div(var_37, var_33);
|
|
1174
1183
|
var_39 = wp::clamp(var_38, var_6, var_25);
|
|
1175
1184
|
}
|
|
1176
|
-
var_40 = wp::
|
|
1185
|
+
var_40 = wp::where(var_34, var_39, var_28);
|
|
1177
1186
|
if (!var_34) {
|
|
1178
1187
|
}
|
|
1179
|
-
var_41 = wp::
|
|
1188
|
+
var_41 = wp::where(var_34, var_40, var_6);
|
|
1180
1189
|
var_42 = wp::mul(var_30, var_41);
|
|
1181
1190
|
var_43 = wp::add(var_42, var_5);
|
|
1182
1191
|
var_44 = wp::div(var_43, var_4);
|
|
@@ -1186,8 +1195,8 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1186
1195
|
var_47 = wp::div(var_46, var_3);
|
|
1187
1196
|
var_48 = wp::clamp(var_47, var_6, var_25);
|
|
1188
1197
|
}
|
|
1189
|
-
var_49 = wp::
|
|
1190
|
-
var_50 = wp::
|
|
1198
|
+
var_49 = wp::where(var_45, var_48, var_41);
|
|
1199
|
+
var_50 = wp::where(var_45, var_6, var_44);
|
|
1191
1200
|
if (!var_45) {
|
|
1192
1201
|
var_51 = (var_50 > var_25);
|
|
1193
1202
|
if (var_51) {
|
|
@@ -1195,17 +1204,17 @@ static CUDA_CALLABLE vec3 closest_point_edge_edge(vec3 var_p1,
|
|
|
1195
1204
|
var_53 = wp::div(var_52, var_3);
|
|
1196
1205
|
var_54 = wp::clamp(var_53, var_6, var_25);
|
|
1197
1206
|
}
|
|
1198
|
-
var_55 = wp::
|
|
1199
|
-
var_56 = wp::
|
|
1207
|
+
var_55 = wp::where(var_51, var_54, var_49);
|
|
1208
|
+
var_56 = wp::where(var_51, var_25, var_50);
|
|
1200
1209
|
}
|
|
1201
|
-
var_57 = wp::
|
|
1202
|
-
var_58 = wp::
|
|
1210
|
+
var_57 = wp::where(var_45, var_49, var_55);
|
|
1211
|
+
var_58 = wp::where(var_45, var_50, var_56);
|
|
1203
1212
|
}
|
|
1204
|
-
var_59 = wp::
|
|
1205
|
-
var_60 = wp::
|
|
1213
|
+
var_59 = wp::where(var_22, var_28, var_57);
|
|
1214
|
+
var_60 = wp::where(var_22, var_29, var_58);
|
|
1206
1215
|
}
|
|
1207
|
-
var_61 = wp::
|
|
1208
|
-
var_62 = wp::
|
|
1216
|
+
var_61 = wp::where(var_15, var_19, var_59);
|
|
1217
|
+
var_62 = wp::where(var_15, var_20, var_60);
|
|
1209
1218
|
var_63 = wp::sub(var_q1, var_p1);
|
|
1210
1219
|
var_64 = wp::mul(var_63, var_61);
|
|
1211
1220
|
var_65 = wp::add(var_p1, var_64);
|
warp/native/intersect_adj.h
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
* NVIDIA CORPORATION
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
7
16
|
*/
|
|
8
17
|
|
|
9
18
|
#pragma once
|
|
@@ -202,8 +211,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
202
211
|
var_17 = wp::div(var_5, var_4);
|
|
203
212
|
var_18 = wp::cast_float(var_17);
|
|
204
213
|
}
|
|
205
|
-
var_19 = wp::
|
|
206
|
-
var_20 = wp::
|
|
214
|
+
var_19 = wp::where(var_15, var_16, var_7);
|
|
215
|
+
var_20 = wp::where(var_15, var_18, var_8);
|
|
207
216
|
if (!var_15) {
|
|
208
217
|
var_21 = wp::dot(var_0, var_2);
|
|
209
218
|
var_22 = (var_4 <= var_epsilon);
|
|
@@ -213,8 +222,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
213
222
|
var_26 = wp::clamp(var_24, var_6, var_25);
|
|
214
223
|
var_27 = wp::cast_float(var_6);
|
|
215
224
|
}
|
|
216
|
-
var_28 = wp::
|
|
217
|
-
var_29 = wp::
|
|
225
|
+
var_28 = wp::where(var_22, var_26, var_19);
|
|
226
|
+
var_29 = wp::where(var_22, var_27, var_20);
|
|
218
227
|
if (!var_22) {
|
|
219
228
|
var_30 = wp::dot(var_0, var_1);
|
|
220
229
|
var_31 = wp::mul(var_3, var_4);
|
|
@@ -228,10 +237,10 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
228
237
|
var_38 = wp::div(var_37, var_33);
|
|
229
238
|
var_39 = wp::clamp(var_38, var_6, var_25);
|
|
230
239
|
}
|
|
231
|
-
var_40 = wp::
|
|
240
|
+
var_40 = wp::where(var_34, var_39, var_28);
|
|
232
241
|
if (!var_34) {
|
|
233
242
|
}
|
|
234
|
-
var_41 = wp::
|
|
243
|
+
var_41 = wp::where(var_34, var_40, var_6);
|
|
235
244
|
var_42 = wp::mul(var_30, var_41);
|
|
236
245
|
var_43 = wp::add(var_42, var_5);
|
|
237
246
|
var_44 = wp::div(var_43, var_4);
|
|
@@ -241,8 +250,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
241
250
|
var_47 = wp::div(var_46, var_3);
|
|
242
251
|
var_48 = wp::clamp(var_47, var_6, var_25);
|
|
243
252
|
}
|
|
244
|
-
var_49 = wp::
|
|
245
|
-
var_50 = wp::
|
|
253
|
+
var_49 = wp::where(var_45, var_48, var_41);
|
|
254
|
+
var_50 = wp::where(var_45, var_6, var_44);
|
|
246
255
|
if (!var_45) {
|
|
247
256
|
var_51 = (var_50 > var_25);
|
|
248
257
|
if (var_51) {
|
|
@@ -250,17 +259,17 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
250
259
|
var_53 = wp::div(var_52, var_3);
|
|
251
260
|
var_54 = wp::clamp(var_53, var_6, var_25);
|
|
252
261
|
}
|
|
253
|
-
var_55 = wp::
|
|
254
|
-
var_56 = wp::
|
|
262
|
+
var_55 = wp::where(var_51, var_54, var_49);
|
|
263
|
+
var_56 = wp::where(var_51, var_25, var_50);
|
|
255
264
|
}
|
|
256
|
-
var_57 = wp::
|
|
257
|
-
var_58 = wp::
|
|
265
|
+
var_57 = wp::where(var_45, var_49, var_55);
|
|
266
|
+
var_58 = wp::where(var_45, var_50, var_56);
|
|
258
267
|
}
|
|
259
|
-
var_59 = wp::
|
|
260
|
-
var_60 = wp::
|
|
268
|
+
var_59 = wp::where(var_22, var_28, var_57);
|
|
269
|
+
var_60 = wp::where(var_22, var_29, var_58);
|
|
261
270
|
}
|
|
262
|
-
var_61 = wp::
|
|
263
|
-
var_62 = wp::
|
|
271
|
+
var_61 = wp::where(var_15, var_19, var_59);
|
|
272
|
+
var_62 = wp::where(var_15, var_20, var_60);
|
|
264
273
|
var_63 = wp::sub(var_q1, var_p1);
|
|
265
274
|
var_64 = wp::mul(var_63, var_61);
|
|
266
275
|
var_65 = wp::add(var_p1, var_64);
|
|
@@ -284,25 +293,25 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
284
293
|
wp::adj_add(var_p1, var_64, adj_p1, adj_64, adj_65);
|
|
285
294
|
wp::adj_mul(var_63, var_61, adj_63, adj_61, adj_64);
|
|
286
295
|
wp::adj_sub(var_q1, var_p1, adj_q1, adj_p1, adj_63);
|
|
287
|
-
wp::
|
|
288
|
-
wp::
|
|
296
|
+
wp::adj_where(var_15, var_20, var_60, adj_15, adj_20, adj_60, adj_62);
|
|
297
|
+
wp::adj_where(var_15, var_19, var_59, adj_15, adj_19, adj_59, adj_61);
|
|
289
298
|
if (!var_15) {
|
|
290
|
-
wp::
|
|
291
|
-
wp::
|
|
299
|
+
wp::adj_where(var_22, var_29, var_58, adj_22, adj_29, adj_58, adj_60);
|
|
300
|
+
wp::adj_where(var_22, var_28, var_57, adj_22, adj_28, adj_57, adj_59);
|
|
292
301
|
if (!var_22) {
|
|
293
|
-
wp::
|
|
294
|
-
wp::
|
|
302
|
+
wp::adj_where(var_45, var_50, var_56, adj_45, adj_50, adj_56, adj_58);
|
|
303
|
+
wp::adj_where(var_45, var_49, var_55, adj_45, adj_49, adj_55, adj_57);
|
|
295
304
|
if (!var_45) {
|
|
296
|
-
wp::
|
|
297
|
-
wp::
|
|
305
|
+
wp::adj_where(var_51, var_25, var_50, adj_51, adj_25, adj_50, adj_56);
|
|
306
|
+
wp::adj_where(var_51, var_54, var_49, adj_51, adj_54, adj_49, adj_55);
|
|
298
307
|
if (var_51) {
|
|
299
308
|
wp::adj_clamp(var_53, var_6, var_25, adj_53, adj_6, adj_25, adj_54);
|
|
300
309
|
wp::adj_div(var_52, var_3, var_53, adj_52, adj_3, adj_53);
|
|
301
310
|
wp::adj_sub(var_30, var_21, adj_30, adj_21, adj_52);
|
|
302
311
|
}
|
|
303
312
|
}
|
|
304
|
-
wp::
|
|
305
|
-
wp::
|
|
313
|
+
wp::adj_where(var_45, var_6, var_44, adj_45, adj_6, adj_44, adj_50);
|
|
314
|
+
wp::adj_where(var_45, var_48, var_41, adj_45, adj_48, adj_41, adj_49);
|
|
306
315
|
if (var_45) {
|
|
307
316
|
wp::adj_clamp(var_47, var_6, var_25, adj_47, adj_6, adj_25, adj_48);
|
|
308
317
|
wp::adj_div(var_46, var_3, var_47, adj_46, adj_3, adj_47);
|
|
@@ -311,10 +320,10 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
311
320
|
wp::adj_div(var_43, var_4, var_44, adj_43, adj_4, adj_44);
|
|
312
321
|
wp::adj_add(var_42, var_5, adj_42, adj_5, adj_43);
|
|
313
322
|
wp::adj_mul(var_30, var_41, adj_30, adj_41, adj_42);
|
|
314
|
-
wp::
|
|
323
|
+
wp::adj_where(var_34, var_40, var_6, adj_34, adj_40, adj_6, adj_41);
|
|
315
324
|
if (!var_34) {
|
|
316
325
|
}
|
|
317
|
-
wp::
|
|
326
|
+
wp::adj_where(var_34, var_39, var_28, adj_34, adj_39, adj_28, adj_40);
|
|
318
327
|
if (var_34) {
|
|
319
328
|
wp::adj_clamp(var_38, var_6, var_25, adj_38, adj_6, adj_25, adj_39);
|
|
320
329
|
wp::adj_div(var_37, var_33, var_38, adj_37, adj_33, adj_38);
|
|
@@ -327,8 +336,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
327
336
|
wp::adj_mul(var_3, var_4, adj_3, adj_4, adj_31);
|
|
328
337
|
wp::adj_dot(var_0, var_1, adj_0, adj_1, adj_30);
|
|
329
338
|
}
|
|
330
|
-
wp::
|
|
331
|
-
wp::
|
|
339
|
+
wp::adj_where(var_22, var_27, var_20, adj_22, adj_27, adj_20, adj_29);
|
|
340
|
+
wp::adj_where(var_22, var_26, var_19, adj_22, adj_26, adj_19, adj_28);
|
|
332
341
|
if (var_22) {
|
|
333
342
|
wp::adj_cast_float(var_6, adj_6, adj_27);
|
|
334
343
|
wp::adj_clamp(var_24, var_6, var_25, adj_24, adj_6, adj_25, adj_26);
|
|
@@ -337,8 +346,8 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
337
346
|
}
|
|
338
347
|
wp::adj_dot(var_0, var_2, adj_0, adj_2, adj_21);
|
|
339
348
|
}
|
|
340
|
-
wp::
|
|
341
|
-
wp::
|
|
349
|
+
wp::adj_where(var_15, var_18, var_8, adj_15, adj_18, adj_8, adj_20);
|
|
350
|
+
wp::adj_where(var_15, var_16, var_7, adj_15, adj_16, adj_7, adj_19);
|
|
342
351
|
if (var_15) {
|
|
343
352
|
wp::adj_cast_float(var_17, adj_17, adj_18);
|
|
344
353
|
wp::adj_div(var_5, var_4, var_17, adj_5, adj_4, adj_17);
|
|
@@ -363,4 +372,4 @@ static CUDA_CALLABLE void adj_closest_point_edge_edge(vec3 var_p1,
|
|
|
363
372
|
|
|
364
373
|
}
|
|
365
374
|
|
|
366
|
-
} // namespace wp
|
|
375
|
+
} // namespace wp
|
warp/native/intersect_tri.h
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
1
18
|
/* Triangle/triangle intersection test routine,
|
|
2
19
|
* by Tomas Moller, 1997.
|
|
3
20
|
* See article "A Fast Triangle-Triangle Intersection Test",
|
warp/native/marching.cpp
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
1
17
|
|
|
2
18
|
|
|
3
19
|
// not implemented yet
|
warp/native/marching.cu
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
* NVIDIA CORPORATION
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
7
16
|
*/
|
|
8
17
|
|
|
9
18
|
#include "warp.h"
|
|
@@ -496,7 +505,7 @@ WP_API int marching_cubes_surface_device(
|
|
|
496
505
|
return -1;
|
|
497
506
|
}
|
|
498
507
|
|
|
499
|
-
wp_launch_device(WP_CURRENT_CONTEXT, create_cell_tris, mc.num_cells, (mc, field, triangles, threshold));
|
|
508
|
+
wp_launch_device(WP_CURRENT_CONTEXT, wp::create_cell_tris, mc.num_cells, (mc, field, triangles, threshold));
|
|
500
509
|
|
|
501
510
|
*out_num_verts = num_verts;
|
|
502
511
|
*out_num_tris = num_tris;
|
warp/native/marching.h
CHANGED
|
@@ -1,2 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
1
18
|
#pragma once
|
|
2
19
|
|