apply_light Subroutine

private subroutine apply_light(self)

Give the light source's node its colors (if it has been made).

Arguments

Type IntentOptional Attributes Name
class(ReferenceFrame), intent(inout) :: self

Calls

proc~~apply_light~~CallsGraph proc~apply_light apply_light interface~vkf_light_set vkf_light_set proc~apply_light->interface~vkf_light_set proc~check_status check_status proc~apply_light->proc~check_status

Called by

proc~~apply_light~~CalledByGraph proc~apply_light apply_light proc~build_light build_light proc~build_light->proc~apply_light proc~set_light_ambient~2 ReferenceFrame%set_light_ambient proc~set_light_ambient~2->proc~apply_light proc~set_light_diffuse~2 ReferenceFrame%set_light_diffuse proc~set_light_diffuse~2->proc~apply_light proc~set_light_specular~2 ReferenceFrame%set_light_specular proc~set_light_specular~2->proc~apply_light proc~realize ReferenceFrame%realize proc~realize->proc~build_light proc~realize->proc~realize proc~set_light_source_enabled ReferenceFrame%set_light_source_enabled proc~set_light_source_enabled->proc~build_light proc~add_child ReferenceFrame%add_child proc~add_child->proc~realize proc~frame WindowProxy%frame proc~frame->proc~realize proc~resize WindowProxy%resize proc~resize->proc~frame proc~run WindowProxy%run proc~run->proc~frame

Source Code

    subroutine apply_light(self)
        class(ReferenceFrame), intent(inout) :: self
        if (.not. c_associated(self%light_node)) return
        call check_status(vkf_light_set(self%light_node, real(self%light_ambient_, c_float), real(self%light_diffuse_, c_float), &
                                 real(self%light_specular_, c_float), [0.0_c_double, 0.0_c_double, 0.0_c_double, 1.0_c_double]))
    end subroutine apply_light