|
| MRCUDA_API bool | isCudaAvailable (int *driverVersion=nullptr, int *runtimeVersion=nullptr, int *computeMajor=nullptr, int *computeMinor=nullptr) |
| |
| MRCUDA_API size_t | getCudaAvailableMemory () |
| | Returns available GPU memory in bytes.
|
| |
| MRCUDA_API size_t | getCudaSafeMemoryLimit () |
| | Returns maximum safe amount of free GPU memory that will be used for dynamic-sized buffers.
|
| |
| MRCUDA_API size_t | maxBufferSize (size_t availableBytes, size_t elementCount, size_t elementBytes) |
| | Returns maximum buffer size in elements that can be allocated with given memory limit.
|
| |
| MRCUDA_API size_t | maxBufferSizeAlignedByBlock (size_t availableBytes, const Vector2i &blockDims, size_t elementBytes) |
| |
| MRCUDA_API size_t | maxBufferSizeAlignedByBlock (size_t availableBytes, const Vector3i &blockDims, size_t elementBytes) |
| |
| MRCUDA_API Expected< DistanceMap > | distanceMapFromContours (const Polyline2 &polyline, const ContourToDistanceMapParams ¶ms) |
| | Computes distance of 2d contours according to ContourToDistanceMapParams (works correctly only when withSign==false)
|
| |
| MRCUDA_API size_t | distanceMapFromContoursHeapBytes (const Polyline2 &polyline, const ContourToDistanceMapParams ¶ms) |
| | Computes memory consumption of distanceMapFromContours function.
|
| |
| MRCUDA_API float3 | fromVec (const Vector3f &v) |
| | copy from CPU to GPU structs
|
| |
| MRCUDA_API int3 | fromVec (const Vector3i &v) |
| |
| MRCUDA_API Matrix4 | fromXf (const MR::AffineXf3f &xf) |
| |
| MRCUDA_API Expected< DistanceMap > | computeDistanceMap (const Mesh &mesh, const MeshToDistanceMapParams ¶ms, ProgressCallback cb={}, std::vector< MeshTriPoint > *outSamples=nullptr) |
| |
| MRCUDA_API size_t | computeDistanceMapHeapBytes (const Mesh &mesh, const MeshToDistanceMapParams ¶ms, bool needOutSamples=false) |
| | Computes memory consumption of computeDistanceMap function.
|
| |
| template<typename BufferType , typename InputIt , typename GPUFunc , typename CPUFunc > |
| Expected< void > | cudaPipeline (BufferType init, InputIt begin, InputIt end, GPUFunc gpuFunc, CPUFunc cpuFunc) |
| |
| MRCUDA_API Expected< std::unique_ptr< PointCloudDataHolder > > | copyDataFrom (const PointCloud &pc, bool copyNormals=false, const std::vector< Vector3f > *normals=nullptr) |
| | copy point cloud-related data to the GPU memory
|
| |
| MRCUDA_API size_t | pointCloudHeapBytes (const PointCloud &pc, bool copyNormals=false, const std::vector< Vector3f > *normals=nullptr) |
| | return the amount of GPU memory required for MR::Cuda::PointCloudDataHolder
|
| |
| MRCUDA_API Expected< std::vector< MR::PointsProjectionResult > > | findProjectionOnPoints (const PointCloud &pointCloud, const std::vector< Vector3f > &points, const FindProjectionOnPointsSettings &settings={}) |
| | computes the closest points on point cloud to given points
|
| |
| MRCUDA_API size_t | findProjectionOnPointsHeapBytes (const PointCloud &pointCloud, size_t pointsCount) |
| | returns the minimal amount of free GPU memory required for MR::Cuda::findProjectionOnPoints
|
| |
| MRCUDA_API Expected< MR::SimpleVolumeMinMax > | pointsToDistanceVolume (const PointCloud &cloud, const MR::PointsToDistanceVolumeParams ¶ms) |
| | makes SimpleVolume filled with signed distances to points with normals
|
| |
| MRCUDA_API Expected< void > | pointsToDistanceVolumeByParts (const PointCloud &cloud, const MR::PointsToDistanceVolumeParams ¶ms, std::function< Expected< void >(const SimpleVolumeMinMax &volume, int zOffset)> addPart, int layerOverlap) |
| |
| MRCUDA_API VertScalars | computeSkyViewFactor (const Mesh &terrain, const VertCoords &samples, const VertBitSet &validSamples, const std::vector< MR::SkyPatch > &skyPatches, BitSet *outSkyRays=nullptr, std::vector< MR::MeshIntersectionResult > *outIntersections=nullptr) |
| |
| MRCUDA_API BitSet | findSkyRays (const Mesh &terrain, const VertCoords &samples, const VertBitSet &validSamples, const std::vector< MR::SkyPatch > &skyPatches, std::vector< MR::MeshIntersectionResult > *outIntersections=nullptr) |
| |
| MRCUDA_API Expected< void > | negatePicture (MR::Image &image) |
| | This function inverts Color value (255 - value in each channel except alpha)
|
| |
| MRCUDA_API void | loadMRCudaDll () |
| | call this function to load MRCuda shared library
|
| |