OptiX quick start 02
本文是optix自带的文档的翻译,本人初学者,英文水平很有限,仅作为自学与交流之用,如有大神能指正其中错误,本人将感激不尽。 一点四 到目前为止,我们还没有创建任何不能被opengl轻松创建的图像。然而,光线跟踪技术一个十分强悍的特征就是我们可以很轻松地添加十分复杂的光照效果(比如阴影和反射)。为了修改之前的例子使它可以支持阴影效果,我们添加了几行代码来跟踪另外的光线。在这个例子中新的光线(叫做阴影光线)将会从阴影点的表面发出,指向光源的位置。 ... if( nDl > 0.0f ){ // cast shadow ray PerRayData_shadow shadow_prd; shadow_prd.attenuation = 1.0f; float Ldist = length(light.pos - hit_point); optix::Ray shadow_ray(hit_point, L, shadow_ray_type, scene_epsilon, Ldist ); rtTrace(top_shadower, shadow_ray, shadow_prd); float light_attenuation = shadow_prd.attenuation; if( light_attenuation > 0.0f ){ float3 Lc = light