Update to 2026-09-17 pipeline snapshot; add weights, L20 assets and recording via Git LFS
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>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
// 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
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// This is a slimmed-down and modernized version of the original
|
||||
// CudaRaster codebase that accompanied the HPG 2011 paper
|
||||
// "High-Performance Software Rasterization on GPUs" by Laine and Karras.
|
||||
// Modifications have been made to accommodate post-Volta execution model
|
||||
// with warp divergence. Support for shading, blending, quad rendering,
|
||||
// and supersampling have been removed as unnecessary for nvdiffrast.
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
namespace CR
|
||||
{
|
||||
|
||||
class RasterImpl;
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// Interface class to isolate user from implementation details.
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
class CudaRaster
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
RenderModeFlag_EnableBackfaceCulling = 1 << 0, // Enable backface culling.
|
||||
RenderModeFlag_EnableDepthPeeling = 1 << 1, // Enable depth peeling. Must have a peel buffer set.
|
||||
};
|
||||
|
||||
public:
|
||||
CudaRaster (void);
|
||||
~CudaRaster (void);
|
||||
|
||||
void setBufferSize (int width, int height, int numImages); // Width and height are internally rounded up to multiples of tile size (8x8) for buffer sizes.
|
||||
void setViewport (int width, int height, int offsetX, int offsetY); // Tiled rendering viewport setup.
|
||||
void setRenderModeFlags (unsigned int renderModeFlags); // Affects all subsequent calls to drawTriangles(). Defaults to zero.
|
||||
void deferredClear (unsigned int clearColor); // Clears color and depth buffers during next call to drawTriangles().
|
||||
void setVertexBuffer (void* vertices, int numVertices); // GPU pointer managed by caller. Vertex positions in clip space as float4 (x, y, z, w).
|
||||
void setIndexBuffer (void* indices, int numTriangles); // GPU pointer managed by caller. Triangle index+color quadruplets as uint4 (idx0, idx1, idx2, color).
|
||||
bool drawTriangles (const int* ranges, bool peel, cudaStream_t stream); // Ranges (offsets and counts) as #triangles entries, not as bytes. If NULL, draw all triangles. Returns false in case of internal overflow.
|
||||
void* getColorBuffer (void); // GPU pointer managed by CudaRaster.
|
||||
void* getDepthBuffer (void); // GPU pointer managed by CudaRaster.
|
||||
void swapDepthAndPeel (void); // Swap depth and peeling buffers.
|
||||
|
||||
private:
|
||||
CudaRaster (const CudaRaster&); // forbidden
|
||||
CudaRaster& operator= (const CudaRaster&); // forbidden
|
||||
|
||||
private:
|
||||
RasterImpl* m_impl; // Opaque pointer to implementation.
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
} // namespace CR
|
||||
|
||||
Reference in New Issue
Block a user