 {
 	cudaMemcpyToSymbol(_travQueuePtr, &_h_endIndex, sizeof(_h_endIndex));
 
+	int octreeLevel = obj.data.level;
 	do
 	{		
 		cudaMemcpyToSymbol(_startIndex, &_h_startIndex, sizeof(_h_startIndex));
 		cudaMemcpyToSymbol(_endIndex, &_h_endIndex, sizeof(_h_endIndex));
-		cudaMemcpyToSymbol(_level, &_h_level, sizeof(_h_level));
 
 		traverse<<< nBlocks( _h_endIndex - _h_startIndex, nTHREADS_TRAV_KERNEL ), nTHREADS_TRAV_KERNEL >>>
 		(

			-1.f <= center.x + dimVec.x && center.x - dimVec.x <= 1.f &&
			-1.f <= center.y + dimVec.x && center.y - dimVec.x <= 1.f &&
			 0.f <= center.z + dimVec.x && center.z - dimVec.x <= 1.f &&
			 (_level <= 8 || d_vecDot(node.vd.normal, eyeVec) >= -0.4f))
		{	
			center.x = (center.x + 1.f) * frameWidth * 0.5f;
			center.y = frameHeight - (center.y + 1.f) * frameHeight * 0.5f;

    Matrix * animation, unsigned char boneCount,
    unsigned int * depthBuffer, VoxelData * voxelBuffer,
	int frameWidth, int frameHeight,
	int animationFrameIndex,
	int octreeLevel
)
{
	unsigned long int index = blockDim.x * blockIdx.x + threadIdx.x + _startIndex;	
