public static bool MapLightType(LightArchetype la, LightType lt, out GPULightType gputype, out GPUShadowType shadowtype)
        {
            switch (la)
            {
            case LightArchetype.Punctual: return(MapLightType(lt, out gputype, out shadowtype));

            case LightArchetype.Rectangle: gputype = GPULightType.Rectangle; shadowtype = GPUShadowType.Unknown; return(true);

            case LightArchetype.Line: gputype = GPULightType.Line; shadowtype = GPUShadowType.Unknown; return(true);

            default: gputype = GPULightType.Spot; shadowtype = GPUShadowType.Unknown; return(false);                         // <- probably not what you want
            }
        }
        public static bool MapLightType(LightArchetype la, LightType lt, out GPUShadowType shadowtype)
        {
            switch (la)
            {
            case LightArchetype.Punctual:
                return(MapLightType(lt, out shadowtype));

            case LightArchetype.Area:
                shadowtype = GPUShadowType.Unknown;
                return(true);

            case LightArchetype.Projector:
                shadowtype = GPUShadowType.Unknown;
                return(true);

            default:
                shadowtype = GPUShadowType.Unknown;
                return(false);    // <- probably not what you want
            }
        }