summaryrefslogtreecommitdiff
path: root/src/render.cu
diff options
context:
space:
mode:
Diffstat (limited to 'src/render.cu')
-rw-r--r--src/render.cu9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/render.cu b/src/render.cu
index 005950f..d4ed443 100644
--- a/src/render.cu
+++ b/src/render.cu
@@ -39,11 +39,20 @@ render(int nthreads, float3 *_origin, float3 *_direction, Geometry *g,
unsigned int alpha_depth, unsigned int *pixels, float *_dx,
unsigned int *dxlen, float4 *_color)
{
+ __shared__ Geometry sg;
+
+ if (threadIdx.x == 0)
+ sg = *g;
+
+ __syncthreads();
+
int id = blockIdx.x*blockDim.x + threadIdx.x;
if (id >= nthreads)
return;
+ g = &sg;
+
float3 origin = _origin[id];
float3 direction = _direction[id];
unsigned int n = dxlen[id];