Original Post
[color=#000000][font=Arial,]
I am working with opencl to develop a voxel raycasting engine. I am trying to do something similar to Gigavoxels by Crassin (http://maverick.inria.fr/Publications/2011/Cra11/). In this paper, they are using an octree to store the voxel data. For the moment I am just trying to descend inside the octree until I reach a leaf that contains rendering data.[/font][color=#000000][font=Arial,]
I have made two implementations: one in OpenCl on the GPU and another C++ on the CPU. The problem I am experiencing is that on the GPU the algorithm is going through a wrong number of levels until reaching a leaf inside the octree. The CPU version gives correct results. The algorithm for both versions is the same and the code is almost similar.[/font][color=#000000][font=Arial,]
Do you guys know what could be the problem? Could it be a hardware problem, an OpenCl problem or am I doing something wrong? I am experiencing the same result on three different nVidia GPUs.[/font]
I am working with opencl to develop a voxel raycasting engine. I am trying to do something similar to Gigavoxels by Crassin (http://maverick.inria.fr/Publications/2011/Cra11/). In this paper, they are using an octree to store the voxel data. For the moment I am just trying to descend inside the octree until I reach a leaf that contains rendering data.[/font][color=#000000][font=Arial,]
I have made two implementations: one in OpenCl on the GPU and another C++ on the CPU. The problem I am experiencing is that on the GPU the algorithm is going through a wrong number of levels until reaching a leaf inside the octree. The CPU version gives correct results. The algorithm for both versions is the same and the code is almost similar.[/font][color=#000000][font=Arial,]
Do you guys know what could be the problem? Could it be a hardware problem, an OpenCl problem or am I doing something wrong? I am experiencing the same result on three different nVidia GPUs.[/font]