Commit 681c0f9e by Bernhard Kerbl

Removed bad conversions

parent 79cbd71d
...@@ -18,9 +18,9 @@ namespace CudaRasterizer ...@@ -18,9 +18,9 @@ namespace CudaRasterizer
bool* present); bool* present);
static int forward( static int forward(
std::function<char* (int)> geometryBuffer, std::function<char* (size_t)> geometryBuffer,
std::function<char* (int)> binningBuffer, std::function<char* (size_t)> binningBuffer,
std::function<char* (int)> imageBuffer, std::function<char* (size_t)> imageBuffer,
const int P, int D, int M, const int P, int D, int M,
const float* background, const float* background,
const int width, int height, const int width, int height,
......
...@@ -141,7 +141,7 @@ void CudaRasterizer::Rasterizer::markVisible( ...@@ -141,7 +141,7 @@ void CudaRasterizer::Rasterizer::markVisible(
present); present);
} }
CudaRasterizer::GeometryState CudaRasterizer::GeometryState::fromChunk(char*& chunk, int P) CudaRasterizer::GeometryState CudaRasterizer::GeometryState::fromChunk(char*& chunk, size_t P)
{ {
GeometryState geom; GeometryState geom;
obtain(chunk, geom.depths, P, 128); obtain(chunk, geom.depths, P, 128);
...@@ -158,7 +158,7 @@ CudaRasterizer::GeometryState CudaRasterizer::GeometryState::fromChunk(char*& ch ...@@ -158,7 +158,7 @@ CudaRasterizer::GeometryState CudaRasterizer::GeometryState::fromChunk(char*& ch
return geom; return geom;
} }
CudaRasterizer::ImageState CudaRasterizer::ImageState::fromChunk(char*& chunk, int N) CudaRasterizer::ImageState CudaRasterizer::ImageState::fromChunk(char*& chunk, size_t N)
{ {
ImageState img; ImageState img;
obtain(chunk, img.accum_alpha, N, 128); obtain(chunk, img.accum_alpha, N, 128);
...@@ -167,7 +167,7 @@ CudaRasterizer::ImageState CudaRasterizer::ImageState::fromChunk(char*& chunk, i ...@@ -167,7 +167,7 @@ CudaRasterizer::ImageState CudaRasterizer::ImageState::fromChunk(char*& chunk, i
return img; return img;
} }
CudaRasterizer::BinningState CudaRasterizer::BinningState::fromChunk(char*& chunk, int P) CudaRasterizer::BinningState CudaRasterizer::BinningState::fromChunk(char*& chunk, size_t P)
{ {
BinningState binning; BinningState binning;
obtain(chunk, binning.point_list, P, 128); obtain(chunk, binning.point_list, P, 128);
...@@ -185,9 +185,9 @@ CudaRasterizer::BinningState CudaRasterizer::BinningState::fromChunk(char*& chun ...@@ -185,9 +185,9 @@ CudaRasterizer::BinningState CudaRasterizer::BinningState::fromChunk(char*& chun
// Forward rendering procedure for differentiable rasterization // Forward rendering procedure for differentiable rasterization
// of Gaussians. // of Gaussians.
int CudaRasterizer::Rasterizer::forward( int CudaRasterizer::Rasterizer::forward(
std::function<char*(int)> geometryBuffer, std::function<char* (size_t)> geometryBuffer,
std::function<char* (int)> binningBuffer, std::function<char* (size_t)> binningBuffer,
std::function<char* (int)> imageBuffer, std::function<char* (size_t)> imageBuffer,
const int P, int D, int M, const int P, int D, int M,
const float* background, const float* background,
const int width, int height, const int width, int height,
...@@ -210,7 +210,7 @@ int CudaRasterizer::Rasterizer::forward( ...@@ -210,7 +210,7 @@ int CudaRasterizer::Rasterizer::forward(
const float focal_y = height / (2.0f * tan_fovy); const float focal_y = height / (2.0f * tan_fovy);
const float focal_x = width / (2.0f * tan_fovx); const float focal_x = width / (2.0f * tan_fovx);
int chunk_size = required<GeometryState>(P); size_t chunk_size = required<GeometryState>(P);
char* chunkptr = geometryBuffer(chunk_size); char* chunkptr = geometryBuffer(chunk_size);
GeometryState geomState = GeometryState::fromChunk(chunkptr, P); GeometryState geomState = GeometryState::fromChunk(chunkptr, P);
......
...@@ -29,7 +29,7 @@ namespace CudaRasterizer ...@@ -29,7 +29,7 @@ namespace CudaRasterizer
uint32_t* point_offsets; uint32_t* point_offsets;
uint32_t* tiles_touched; uint32_t* tiles_touched;
static GeometryState fromChunk(char*& chunk, int P); static GeometryState fromChunk(char*& chunk, size_t P);
}; };
struct ImageState struct ImageState
...@@ -38,7 +38,7 @@ namespace CudaRasterizer ...@@ -38,7 +38,7 @@ namespace CudaRasterizer
uint32_t* n_contrib; uint32_t* n_contrib;
float* accum_alpha; float* accum_alpha;
static ImageState fromChunk(char*& chunk, int N); static ImageState fromChunk(char*& chunk, size_t N);
}; };
struct BinningState struct BinningState
...@@ -50,14 +50,14 @@ namespace CudaRasterizer ...@@ -50,14 +50,14 @@ namespace CudaRasterizer
uint32_t* point_list; uint32_t* point_list;
char* list_sorting_space; char* list_sorting_space;
static BinningState fromChunk(char*& chunk, int P); static BinningState fromChunk(char*& chunk, size_t P);
}; };
template<typename T> template<typename T>
int required(int P) size_t required(size_t P)
{ {
char* size = nullptr; char* size = nullptr;
T::fromChunk(size, P); T::fromChunk(size, P);
return ((int)size) + 128; return ((size_t)size) + 128;
} }
}; };
\ No newline at end of file
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
#include <string> #include <string>
#include <functional> #include <functional>
std::function<char*(int N)> resizeFunctional(torch::Tensor& t) { std::function<char*(size_t N)> resizeFunctional(torch::Tensor& t) {
auto lambda = [&t](int N) { auto lambda = [&t](size_t N) {
t.resize_({N}); t.resize_({(long long)N});
return reinterpret_cast<char*>(t.contiguous().data_ptr()); return reinterpret_cast<char*>(t.contiguous().data_ptr());
}; };
return lambda; return lambda;
...@@ -64,9 +64,9 @@ RasterizeGaussiansCUDA( ...@@ -64,9 +64,9 @@ RasterizeGaussiansCUDA(
torch::Tensor geomBuffer = torch::empty({0}, options.device(device)); torch::Tensor geomBuffer = torch::empty({0}, options.device(device));
torch::Tensor binningBuffer = torch::empty({0}, options.device(device)); torch::Tensor binningBuffer = torch::empty({0}, options.device(device));
torch::Tensor imgBuffer = torch::empty({0}, options.device(device)); torch::Tensor imgBuffer = torch::empty({0}, options.device(device));
std::function<char*(int)> geomFunc = resizeFunctional(geomBuffer); std::function<char*(size_t)> geomFunc = resizeFunctional(geomBuffer);
std::function<char*(int)> binningFunc = resizeFunctional(binningBuffer); std::function<char*(size_t)> binningFunc = resizeFunctional(binningBuffer);
std::function<char*(int)> imgFunc = resizeFunctional(imgBuffer); std::function<char*(size_t)> imgFunc = resizeFunctional(imgBuffer);
int rendered = 0; int rendered = 0;
if(P != 0) if(P != 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment