ae28d55f81
Source: RGB-D -> Dyn-HaMR -> L20 retargeting -> FoundationPose -> reference repair -> SPIDER, documented in docs/PIPELINE_LATEST.md and docs/SETUP_AND_WEIGHTS.md. Adds FoundationPose and nvdiffrast upstream snapshots, requirements/pipeline_venv.txt and the FoundationPose weight manifest/downloader. Assets (Git LFS): weights/ (WiLoR detector, HandFlow denoiser, UniDepth-L), FoundationPose checkpoints, HaMeR checkpoint, Dyn-HaMR HMP model and BMC constraints, L20 URDF/meshes, the 20260915_171525 D405 recording and the two box CADs. MANO models are not redistributed (third_party/hamer/_DATA/data/mano/README.txt). Environments, caches and run outputs excluded. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
91 lines
2.5 KiB
C++
91 lines
2.5 KiB
C++
// Copyright (c) 2009-2022, NVIDIA CORPORATION. All rights reserved.
|
|
//
|
|
// NVIDIA CORPORATION and its licensors retain all intellectual property
|
|
// and proprietary rights in and to this software, related documentation
|
|
// and any modifications thereto. Any use, reproduction, disclosure or
|
|
// distribution of this software and related documentation without an express
|
|
// license agreement from NVIDIA CORPORATION is strictly prohibited.
|
|
|
|
#pragma once
|
|
#include <cuda_runtime.h>
|
|
#include <cstdint>
|
|
|
|
namespace CR
|
|
{
|
|
//------------------------------------------------------------------------
|
|
|
|
#ifndef NULL
|
|
# define NULL 0
|
|
#endif
|
|
|
|
#ifdef __CUDACC__
|
|
# define CR_CUDA 1
|
|
#else
|
|
# define CR_CUDA 0
|
|
#endif
|
|
|
|
#if CR_CUDA
|
|
# define CR_CUDA_FUNC __device__ __inline__
|
|
# define CR_CUDA_CONST __constant__
|
|
#else
|
|
# define CR_CUDA_FUNC inline
|
|
# define CR_CUDA_CONST static const
|
|
#endif
|
|
|
|
#define CR_UNREF(X) ((void)(X))
|
|
#define CR_ARRAY_SIZE(X) ((int)(sizeof(X) / sizeof((X)[0])))
|
|
|
|
//------------------------------------------------------------------------
|
|
|
|
typedef uint8_t U8;
|
|
typedef uint16_t U16;
|
|
typedef uint32_t U32;
|
|
typedef uint64_t U64;
|
|
typedef int8_t S8;
|
|
typedef int16_t S16;
|
|
typedef int32_t S32;
|
|
typedef int64_t S64;
|
|
typedef float F32;
|
|
typedef double F64;
|
|
typedef void (*FuncPtr)(void);
|
|
|
|
//------------------------------------------------------------------------
|
|
|
|
#define CR_U32_MAX (0xFFFFFFFFu)
|
|
#define CR_S32_MIN (~0x7FFFFFFF)
|
|
#define CR_S32_MAX (0x7FFFFFFF)
|
|
#define CR_U64_MAX ((U64)(S64)-1)
|
|
#define CR_S64_MIN ((S64)-1 << 63)
|
|
#define CR_S64_MAX (~((S64)-1 << 63))
|
|
#define CR_F32_MIN (1.175494351e-38f)
|
|
#define CR_F32_MAX (3.402823466e+38f)
|
|
#define CR_F64_MIN (2.2250738585072014e-308)
|
|
#define CR_F64_MAX (1.7976931348623158e+308)
|
|
|
|
//------------------------------------------------------------------------
|
|
// Misc types.
|
|
|
|
class Vec2i
|
|
{
|
|
public:
|
|
Vec2i(int x_, int y_) : x(x_), y(y_) {}
|
|
int x, y;
|
|
};
|
|
|
|
class Vec3i
|
|
{
|
|
public:
|
|
Vec3i(int x_, int y_, int z_) : x(x_), y(y_), z(z_) {}
|
|
int x, y, z;
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
// CUDA utilities.
|
|
|
|
#if CR_CUDA
|
|
# define globalThreadIdx (threadIdx.x + blockDim.x * (threadIdx.y + blockDim.y * (blockIdx.x + gridDim.x * blockIdx.y)))
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------
|
|
} // namespace CR
|