error with specular reflexion

Hi, i’m trying to do specular reflexion on an object build with triangles
the function works fine except that instead of having a white circle with represents the sun, i’ve all my tringle in white… if some one can help …

float3 phit = ray.origin + t_hit * ray.direction;
float3 n_shading = normalize(rtTransformNormal(RT_OBJECT_TO_WORLD, shading_normal));
float3 ffnormal = faceforward( n_shading, -ray.direction, n_shading );
double result=0.0;

PerRayData_radiance refl_prd;
refl_prd.importance = prd_radiance.importance * 0.80;
refl_prd.depth = prd_radiance.depth+1;
refl_prd.result = make_float3(0);

if (refl_prd.depth < max_depth)
{
float3 R = reflect(ray.direction, shading_normal );
optix::Ray refl_ray(phit, R, radiance_ray_type, scene_epsilon);
rtTrace( top_object, refl_ray, refl_prd );
result=refl_prd.result;
if(result<0.0)result=0.0;
}

This code is not showing how you calculate the final color, so it’s not possible to say why something gets white.
(Note that the forum supports code tags to keep the formatting intact.)

This instruction assigns a float3 to a double: result = refl_prd.result;
I wouldn’t expect that to compile.

In general try to do everything with floats first. Only use doubles if you must.