资源简介
为解决 volumetric fusion 重建时,重建的空间划分成等大小的 voxel,显存消耗太多,难以重建大场景,并且大量 voxel 更新耗费 GPU 资源问题,斯坦福图形学组提出了 voxel hashing 算法(参考文献:”Real-time 3D Reconstruction at Scale using Voxel Hashing”),voxel hashing 只在相机测量到的场景表面划分 voxel,而不是将整个空间都划分成 voxel,从而节省显存。算法用 hash 表的形式存储在场景表面划分的 voxel block(8x8x8 voxels),方便 voxel block 的查询。算法代码开源。InfiniTAM 是对 voxel hashing 的改进,算法速度更快,适合在移动端运行。BunldeFusion mapping 部分 code 和 voxel hashing 是一样的。
代码片段和文件信息
//--------------------------------------------------------------------------------------
// File: DXUT.cpp
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//--------------------------------------------------------------------------------------
#include “DXUT.h“
#define DXUT_MIN_WINDOW_SIZE_X 200
#define DXUT_MIN_WINDOW_SIZE_Y 200
#define DXUT_COUNTER_STAT_LENGTH 2048
#undef min // use __min instead inside this source file
#undef max // use __max instead inside this source file
#ifndef ARRAYSIZE
extern “C++“ // templates cannot be declared to have ‘C‘ linkage
template
char (*RtlpNumberOf( UNALIGNED T (&)[N] ))[N];
#define RTL_NUMBER_OF_V2(A) (sizeof(*RtlpNumberOf(A)))
#define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A)
#endif
//--------------------------------------------------------------------------------------
// Thread safety
//--------------------------------------------------------------------------------------
CRITICAL_SECTION g_cs;
bool g_bThreadSafe = true;
//--------------------------------------------------------------------------------------
// Automatically enters & leaves the CS upon object creation/deletion
//--------------------------------------------------------------------------------------
class DXUTLock
{
public:
inline DXUTLock() { if( g_bThreadSafe ) EnterCriticalSection( &g_cs ); }
inline ~DXUTLock() { if( g_bThreadSafe ) LeaveCriticalSection( &g_cs ); }
};
//--------------------------------------------------------------------------------------
// Helper macros to build member functions that access member variables with thread safety
//--------------------------------------------------------------------------------------
#define SET_ACCESSOR( x y ) inline void Set##y( x t ) { DXUTLock l; m_state.m_##y = t; };
#define GET_ACCESSOR( x y ) inline x Get##y() { DXUTLock l; return m_state.m_##y; };
#define GET_SET_ACCESSOR( x y ) SET_ACCESSOR( x y ) GET_ACCESSOR( x y )
#define SETP_ACCESSOR( x y ) inline void Set##y( x* t ) { DXUTLock l; m_state.m_##y = *t; };
#define GETP_ACCESSOR( x y ) inline x* Get##y() { DXUTLock l; return &m_state.m_##y; };
#define GETP_SETP_ACCESSOR( x y ) SETP_ACCESSOR( x y ) GETP_ACCESSOR( x y )
//--------------------------------------------------------------------------------------
// Stores timer callback info
//--------------------------------------------------------------------------------------
struct DXUT_TIMER
{
LPDXUTCALLBACKTIMER pCallbackTimer;
void* pCallbackUserContext;
float fTimeoutInSecs;
float fCountdown;
bool bEnabled;
UINT nID;
};
//--------------------------------------------------------------------------------------
// Stores DXUT state and data access is done with thread safety (if g_bThreadSafe==true)
//--------------------------------------------------------------------------------------
class DXUTState
{
protected:
struct STATE
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-22 04:15 VoxelHashing-master\
文件 568 2017-02-22 04:15 VoxelHashing-master\CONTACT.txt
目录 0 2017-02-22 04:15 VoxelHashing-master\DepthSensing\
目录 0 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\
目录 0 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\
文件 261813 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT.cpp
文件 18240 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT.h
文件 13565952 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT.pch
文件 43969 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUTDevice11.cpp
文件 8513 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUTDevice11.h
文件 42959 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUTDevice9.cpp
文件 9168 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUTDevice9.h
文件 1574 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT_2008.sln
文件 10872 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT_2008.vcproj
文件 1575 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT_2010.sln
文件 17318 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT_2010.vcxproj
文件 851 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUT_2010.vcxproj.filters
文件 66781 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUTmisc.cpp
文件 24715 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\DXUTmisc.h
文件 329 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Core\dpiaware.manifest
目录 0 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\
文件 9537 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTLockFreePipe.h
文件 1580 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTOpt_2008.sln
文件 11493 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTOpt_2008.vcproj
文件 1581 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTOpt_2010.sln
文件 17939 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTOpt_2010.vcxproj
文件 1412 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTOpt_2010.vcxproj.filters
文件 56672 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTcamera.cpp
文件 20553 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTcamera.h
文件 235353 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTgui.cpp
文件 45912 2017-02-22 04:15 VoxelHashing-master\DepthSensing\DXUT\Optional\DXUTgui.h
............此处省略3268个文件信息
相关资源
- 申抒含-基于图像的大规模场景三维重
- pcd格式三维点云
- kinectfusion程序
- 双目标定后的三维重建
- 空间点三位重建前方交会
- 基于特征点匹配的三维重建OpenCV+Ope
- 基于相移法的三维重建
- CMP-MVS开源代码
- SFMtoolKit3工程
- VisualSFM代码
- 三维重建经典论文集
- 三维重建源代码
- 点云三维重建
- Multi-View Stereo.pdf
- VisualSFM+MeshLab三维重建
- 用于三维重建方面的三维点云文件
- sfm三维重建.rar
- SfM三维重建:BA优化
- 有关于三维重建的英文文献,在CVPR
- J3D多目三维重建系统V1.9
- WCE注入工具.rar
- UMAT-nonlinear shear criteria from Hashin 3D.f
- 基于窗口的稀疏点匹配及三维重建
- 密码学 hash算法实验代码及报告
- PCL点云库MovingLeastSquares用法demo
- File Checksum Integrity Verifier V2.05
- 哈希树HashTree.pdf
- 计算文件哈希值的程序
- 据结构hash查找课程设计
- 三维重建移动立方体法(Marching Cube
评论
共有 条评论