=
" // The user program for compute. \n"
" NV_IDX_DEVICE_INLINE_MEMBER \n"
" int compute( \n"
" const Data_point_info_self& data_point_info, \n"
" Data_point_output& data_output) \n"
" { \n"
" if (!data_point_info.is_valid()) { return NV_IDX_PROG_OK; } \n"
" \n"
" const auto& surf = state.self; \n"
" // Attr_elevation; Attr_normal \n"
" \n"
" float3 v = surf.get_attribute<float3>(surf.Attr_normal, data_point_info); \n"
" float3 v2 = make_float3(-v.z, v.y, v.x); \n"
" \n"
" data_output.write_value(surf.Attr_normal, v2); \n"
" \n"
" return NV_IDX_PROG_OK; \n"
" } \n"