diff options
Diffstat (limited to 'src/render.cu')
-rw-r--r-- | src/render.cu | 9 |
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]; |