2025-01-22 16:18:30 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								from  typing  import  Optional 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								import  bpy 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								from  bpy . props  import  * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								import  lnx . assets  as  assets 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								import  lnx . utils 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  lnx . is_reload ( __name__ ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    assets  =  lnx . reload_module ( assets ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx . utils  =  lnx . reload_module ( lnx . utils ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx . enable_reload ( __name__ ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								atlas_sizes  =  [  ( ' 256 ' ,  ' 256 ' ,  ' 256 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 512 ' ,  ' 512 ' ,  ' 512 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 1024 ' ,  ' 1024 ' ,  ' 1024 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 2048 ' ,  ' 2048 ' ,  ' 2048 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 4096 ' ,  ' 4096 ' ,  ' 4096 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 8192 ' ,  ' 8192 ' ,  ' 8192 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 16384 ' ,  ' 16384 ' ,  ' 16384 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ( ' 32768 ' ,  ' 32768 ' ,  ' 32768 ' )  ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  atlas_sizes_from_min ( min_size :  int )  - >  list : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    """  Create an enum list of atlas sizes from a minimal size  """ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sizes  =  [ ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    for  i  in  range ( len ( atlas_sizes ) ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  int ( atlas_sizes [ i ] [ 0 ] )  >  min_size : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            sizes . append ( atlas_sizes [ i ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  sizes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_spot_sun_atlas_size_options ( scene :  bpy . types . Scene ,  context :  bpy . types . Context )  - >  list : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    wrd  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  len ( wrd . lnx_rplist )  < =  wrd . lnx_rplist_index : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  [ ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rpdat  =  wrd . lnx_rplist [ wrd . lnx_rplist_index ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  atlas_sizes_from_min ( int ( rpdat . rp_shadowmap_cascade ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_point_atlas_size_options ( scene :  bpy . types . Scene ,  context :  bpy . types . Context )  - >  list : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    wrd  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  len ( wrd . lnx_rplist )  < =  wrd . lnx_rplist_index : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  [ ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rpdat  =  wrd . lnx_rplist [ wrd . lnx_rplist_index ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  atlas_sizes_from_min ( int ( rpdat . rp_shadowmap_cube )  *  2 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_preset ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rpdat  =  self . lnx_rplist [ - 1 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_preset  ==  ' Desktop ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_renderer  =  ' Deferred ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_material_model  =  ' Full ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadows  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cube  =  ' 512 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascade  =  ' 1024 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascades  =  ' 4 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_translucency_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_overlays_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_decals_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_sss_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_blending_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_depth_texture_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_draw_order  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_hdr  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_background  =  ' World ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_stereo  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxelgi_resolution  =  ' 32 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_voxelgi_size  =  0.25 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxels  =  ' Voxel AO ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_render_to_texture  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_supersampling  =  ' 1 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_antialiasing  =  ' SMAA ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_compositornodes  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_volumetriclight  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssgi  =  ' SSAO ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_ssrs  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_micro_shadowing  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssr  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_bloom  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_quality  =  ' medium ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_anti_flicker  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_autoexposure  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_motionblur  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_rp_resolution  =  ' Display ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_texture_filter  =  ' Anisotropic ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_irradiance  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_radiance  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_pp  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_preset  ==  ' Mobile ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_renderer  =  ' Forward ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_depthprepass  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_material_model  =  ' Mobile ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadows  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cube  =  ' 256 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascade  =  ' 1024 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascades  =  ' 1 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_translucency_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_overlays_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_decals_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_sss_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_blending_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_depth_texture_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_draw_order  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_hdr  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_background  =  ' Clear ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_stereo  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxels  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_render_to_texture  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_supersampling  =  ' 1 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_antialiasing  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_compositornodes  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_volumetriclight  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssgi  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_ssrs  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_micro_shadowing  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssr  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_bloom  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_quality  =  ' low ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_anti_flicker  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_autoexposure  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_motionblur  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_rp_resolution  =  ' Display ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_texture_filter  =  ' Linear ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_irradiance  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_radiance  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_pp  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_preset  ==  ' Max ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_renderer  =  ' Deferred ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadows  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cube  =  ' 2048 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascade  =  ' 4096 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascades  =  ' 4 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_translucency_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_overlays_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_decals_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_sss_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_blending_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_depth_texture_state  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_draw_order  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_hdr  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_background  =  ' World ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_stereo  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxels  =  ' Voxel GI ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxelgi_resolution  =  ' 64 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_voxelgi_size  =  0.25 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_voxelgi_step  =  0.25 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_voxelgi_revoxelize  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_voxelgi_camera  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxelgi_emission  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_render_to_texture  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_supersampling  =  ' 1 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_antialiasing  =  ' TAA ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_compositornodes  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_volumetriclight  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssgi  =  ' RTAO ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_ssrs  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_micro_shadowing  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssr  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ss_refraction  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_ssr_half_res  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_bloom  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_quality  =  ' high ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_anti_flicker  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_autoexposure  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_motionblur  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_rp_resolution  =  ' Display ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_material_model  =  ' Full ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_texture_filter  =  ' Anisotropic ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_irradiance  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_radiance  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_pp  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_preset  ==  ' 2D/Baked ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_renderer  =  ' Forward ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_depthprepass  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_material_model  =  ' Solid ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadows  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cube  =  ' 512 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascade  =  ' 1024 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_shadowmap_cascades  =  ' 1 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_translucency_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_overlays_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_decals_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_sss_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_blending_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_depth_texture_state  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_draw_order  =  ' Auto ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_hdr  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_background  =  ' Clear ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_stereo  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_voxels  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_render_to_texture  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_supersampling  =  ' 1 ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_antialiasing  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_compositornodes  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_volumetriclight  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssgi  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_ssrs  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_micro_shadowing  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_ssr  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_bloom  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_quality  =  ' low ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_bloom_anti_flicker  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_autoexposure  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_motionblur  =  ' Off ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_rp_resolution  =  ' Display ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_texture_filter  =  ' Linear ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_irradiance  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . lnx_radiance  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rpdat . rp_pp  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_renderpath ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  not  assets . invalidate_enabled : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    assets . invalidate_shader_cache ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bpy . data . worlds [ ' Lnx ' ] . lnx_recompile  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  udpate_shadowmap_cascades ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bpy . data . worlds [ ' Lnx ' ] . lnx_recompile  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_material_model ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    assets . invalidate_shader_cache ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_translucency_state ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_translucency_state  ==  ' On ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_translucency  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_translucency_state  ==  ' Off ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_translucency  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else :  # Auto - updates rp at build time if translucent mat is used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_decals_state ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_decals_state  ==  ' On ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_decals  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_decals_state  ==  ' Off ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_decals  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else :  # Auto - updates rp at build time if decal mat is used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_overlays_state ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_overlays_state  ==  ' On ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_overlays  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_overlays_state  ==  ' Off ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_overlays  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else :  # Auto - updates rp at build time if x-ray mat is used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_blending_state ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_blending_state  ==  ' On ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_blending  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_blending_state  ==  ' Off ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_blending  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else :  # Auto - updates rp at build time if blending mat is used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_depth_texture_state ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_depth_texture_state  ==  ' On ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_depth_texture  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_depth_texture_state  ==  ' Off ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_depth_texture  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else :  # Auto - updates rp at build time if depth texture mat is used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  update_sss_state ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  self . rp_sss_state  ==  ' On ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_sss  =  True 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  self . rp_sss_state  ==  ' Off ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self . rp_sss  =  False 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else :  # Auto - updates rp at build time if sss mat is used 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    update_renderpath ( self ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  LnxRPListItem ( bpy . types . PropertyGroup ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    name :  StringProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								           name = " Name " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								           description = " A name for this item " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								           default = " Desktop " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_driver :  StringProperty ( name = " Driver " ,  default = " Leenkx " ,  update = assets . invalidate_compiled_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_renderer :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Forward ' ,  ' Forward Clustered ' ,  ' Forward ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Deferred ' ,  ' Deferred Clustered ' ,  ' Deferred ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               # ('Raytracer', 'Raytracer', 'Raytracer (Direct3D 12)', 'ERROR', 2), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Renderer " ,  description = " Renderer type " ,  default = ' Deferred ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_depthprepass :  BoolProperty ( name = " Depth Prepass " ,  description = " Depth Prepass for mesh context " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_hdr :  BoolProperty ( name = " HDR " ,  description = " Render in HDR Space " ,  default = True ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_render_to_texture :  BoolProperty ( name = " Post Process " ,  description = " Render scene to texture for further processing " ,  default = True ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_background :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      items = [ ( ' World ' ,  ' World ' ,  ' World ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             ( ' Clear ' ,  ' Clear ' ,  ' Clear ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             ( ' Off ' ,  ' No Clear ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      name = " Background " ,  description = " Background type " ,  default = ' World ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_irradiance :  BoolProperty ( name = " Irradiance " ,  description = " Generate spherical harmonics " ,  default = True ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_radiance :  BoolProperty ( name = " Radiance " ,  description = " Generate radiance textures " ,  default = True ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_radiance_size :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 512 ' ,  ' 512 ' ,  ' 512 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 1024 ' ,  ' 1024 ' ,  ' 1024 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2048 ' ,  ' 2048 ' ,  ' 2048 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Map Size " ,  description = " Prefiltered map size " ,  default = ' 1024 ' ,  update = assets . invalidate_envmap_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_autoexposure :  BoolProperty ( name = " Auto Exposure " ,  description = " Adjust exposure based on luminance " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_compositornodes :  BoolProperty ( name = " Compositor " ,  description = " Draw compositor nodes " ,  default = True ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadows :  BoolProperty ( name = " Shadows " ,  description = " Enable shadow casting " ,  default = True ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_max_lights :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 4 ' ,  ' 4 ' ,  ' 4 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 8 ' ,  ' 8 ' ,  ' 8 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 16 ' ,  ' 16 ' ,  ' 16 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 24 ' ,  ' 24 ' ,  ' 24 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 32 ' ,  ' 32 ' ,  ' 32 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 64 ' ,  ' 64 ' ,  ' 64 ' ) , ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Max Lights " ,  description = " Max number of lights that can be visible in the screen " ,  default = ' 16 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_max_lights_cluster :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 4 ' ,  ' 4 ' ,  ' 4 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 8 ' ,  ' 8 ' ,  ' 8 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 16 ' ,  ' 16 ' ,  ' 16 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 24 ' ,  ' 24 ' ,  ' 24 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 32 ' ,  ' 32 ' ,  ' 32 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 64 ' ,  ' 64 ' ,  ' 64 ' ) , ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Max Lights Shadows " ,  description = " Max number of rendered shadow maps that can be visible in the screen. Always equal or lower than Max Lights " ,  default = ' 16 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas :  BoolProperty ( name = " Shadow Map Atlasing " ,  description = " Group shadow maps of lights of the same type in the same texture " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_single_map :  BoolProperty ( name = " Shadow Map Atlas single map " ,  description = " Use a single texture for all different light types. " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_lod :  BoolProperty ( name = " Shadow Map Atlas LOD (Experimental) " ,  description = " When enabled, the size of the shadow map will be determined on runtime based on the distance of the light to the camera " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_lod_subdivisions :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 2 ' ,  ' 2 ' ,  ' 2 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 3 ' ,  ' 3 ' ,  ' 3 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 4 ' ,  ' 4 ' ,  ' 4 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 5 ' ,  ' 5 ' ,  ' 5 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 6 ' ,  ' 6 ' ,  ' 6 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 7 ' ,  ' 7 ' ,  ' 7 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 8 ' ,  ' 8 ' ,  ' 8 ' ) , ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " LOD Subdivisions " ,  description = " Number of subdivisions of the default tile size for LOD " ,  default = ' 2 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_max_size_point :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = update_point_atlas_size_options , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Max Atlas Texture Size Points " ,  description = " Sets the limit of the size of the texture. " ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_max_size_spot :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = update_spot_sun_atlas_size_options , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Max Atlas Texture Size Spots " ,  description = " Sets the limit of the size of the texture. " ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_max_size_sun :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = update_spot_sun_atlas_size_options , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Max Atlas Texture Size Sun " ,  description = " Sets the limit of the size of the texture. " ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_atlas_max_size :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = update_spot_sun_atlas_size_options , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Max Atlas Texture Size " ,  description = " Sets the limit of the size of the texture. " ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_cube :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 256 ' ,  ' 256 ' ,  ' 256 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 512 ' ,  ' 512 ' ,  ' 512 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 1024 ' ,  ' 1024 ' ,  ' 1024 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2048 ' ,  ' 2048 ' ,  ' 2048 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 4096 ' ,  ' 4096 ' ,  ' 4096 ' ) , ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Cube Size " ,  description = " Cube map resolution " ,  default = ' 512 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_cascade :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 256 ' ,  ' 256 ' ,  ' 256 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 512 ' ,  ' 512 ' ,  ' 512 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 1024 ' ,  ' 1024 ' ,  ' 1024 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2048 ' ,  ' 2048 ' ,  ' 2048 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 4096 ' ,  ' 4096 ' ,  ' 4096 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 8192 ' ,  ' 8192 ' ,  ' 8192 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 16384 ' ,  ' 16384 ' ,  ' 16384 ' ) , ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Cascade Size " ,  description = " Shadow map resolution " ,  default = ' 1024 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_shadowmap_cascades :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 1 ' ,  ' 1 ' ,  ' 1 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2 ' ,  ' 2 ' ,  ' 2 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 4 ' ,  ' 4 ' ,  ' 4 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Cascades " ,  description = " Shadow map cascades " ,  default = ' 4 ' ,  update = udpate_shadowmap_cascades ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_pcfsize :  FloatProperty ( name = " PCF Size " ,  description = " Filter size " ,  default = 1.0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_supersampling :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 1 ' ,  ' 1 ' ,  ' 1 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 1.5 ' ,  ' 1.5 ' ,  ' 1.5 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2 ' ,  ' 2 ' ,  ' 2 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 4 ' ,  ' 4 ' ,  ' 4 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Super Sampling " ,  description = " Screen resolution multiplier " ,  default = ' 1 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_antialiasing :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' No AA ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' FXAA ' ,  ' FXAA ' ,  ' FXAA ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' SMAA ' ,  ' SMAA ' ,  ' SMAA ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' TAA ' ,  ' TAA ' ,  ' TAA ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Anti Aliasing " ,  description = " Post-process anti aliasing technique " ,  default = ' SMAA ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_volumetriclight :  BoolProperty ( name = " Volumetric Light " ,  description = " Use volumetric lighting " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_ssr :  BoolProperty ( name = " SSR " ,  description = " Screen space reflections " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_ss_refraction :  BoolProperty ( name = " SSRefraction " ,  description = " Screen space refractions " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_ssgi :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' No AO ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' SSAO ' ,  ' SSAO ' ,  ' Screen space ambient occlusion ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' RTAO ' ,  ' RTAO ' ,  ' Ray-traced ambient occlusion ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               # ('RTGI', 'RTGI', 'Ray-traced global illumination') 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " SSGI " ,  description = " Screen space global illumination " ,  default = ' SSAO ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_bloom :  BoolProperty ( name = " Bloom " ,  description = " Bloom processing " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_follow_blender :  BoolProperty ( name = " Use Blender Settings " ,  description = " Use Blender settings instead of Leenkx settings " ,  default = True ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_motionblur :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Camera ' ,  ' Camera ' ,  ' Camera ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Object ' ,  ' Object ' ,  ' Object ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Motion Blur " ,  description = " Velocity buffer is used for object based motion blur " ,  default = ' Off ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_translucency :  BoolProperty ( name = " Translucency " ,  description = " Current render-path state " ,  default = False ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_translucency_state :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Translucency " ,  description = " Order independent translucency " ,  default = ' Auto ' ,  update = update_translucency_state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_decals :  BoolProperty ( name = " Decals " ,  description = " Current render-path state " ,  default = False ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_decals_state :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Decals " ,  description = " Decals pass " ,  default = ' Auto ' ,  update = update_decals_state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_overlays :  BoolProperty ( name = " Overlays " ,  description = " Current render-path state " ,  default = False ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_overlays_state :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Overlays " ,  description = " X-Ray pass " ,  default = ' Auto ' ,  update = update_overlays_state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_sss :  BoolProperty ( name = " SSS " ,  description = " Current render-path state " ,  default = False ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_sss_state :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " SSS " ,  description = " Sub-surface scattering pass " ,  default = ' Auto ' ,  update = update_sss_state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_blending :  BoolProperty ( name = " Blending " ,  description = " Current render-path state " ,  default = False ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_blending_state :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Blending " ,  description = " Blending pass " ,  default = ' Auto ' ,  update = update_blending_state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_draw_order :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Distance ' ,  ' Distance ' ,  ' Distance ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Shader ' ,  ' Shader ' ,  ' Shader ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = ' Draw Order ' ,  description = ' Sort objects ' ,  default = ' Auto ' ,  update = assets . invalidate_compiled_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_depth_texture :  BoolProperty ( name = " Depth Texture " ,  description = " Current render-path state " ,  default = False ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_depth_texture_state :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Auto ' ,  ' Auto ' ,  ' Auto ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = ' Depth Texture ' ,  description = ' Whether materials can read from a depth texture ' ,  default = ' Auto ' ,  update = update_depth_texture_state ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_stereo :  BoolProperty ( name = " VR " ,  description = " Stereo rendering " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_water :  BoolProperty ( name = " Water " ,  description = " Enable water surface pass " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_pp :  BoolProperty ( name = " Realtime postprocess " ,  description = " Realtime postprocess " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_clouds :  BoolProperty ( name = " Clouds " ,  description = " Enable clouds pass " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssrs :  BoolProperty ( name = " SSRS " ,  description = " Screen-space ray-traced shadows " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_micro_shadowing :  BoolProperty ( name = " Micro Shadowing " ,  description = " Use the shaders '  occlusion parameter to compute micro shadowing for the scene ' s sun lamp. This option is not available for render paths using mobile or solid material models " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_texture_filter :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Anisotropic ' ,  ' Anisotropic ' ,  ' Anisotropic ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Linear ' ,  ' Linear ' ,  ' Linear ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Point ' ,  ' Closest ' ,  ' Point ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Manual ' ,  ' Manual ' ,  ' Manual ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Texture Filtering " ,  description = " Set Manual to honor interpolation setting on Image Texture node " ,  default = ' Anisotropic ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_material_model :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Full ' ,  ' Full ' ,  ' Full ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Mobile ' ,  ' Mobile ' ,  ' Mobile ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Solid ' ,  ' Solid ' ,  ' Solid ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Materials " ,  description = " Material builder " ,  default = ' Full ' ,  update = update_material_model ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_rp_displacement :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Vertex ' ,  ' Vertex ' ,  ' Vertex ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Tessellation ' ,  ' Tessellation ' ,  ' Tessellation ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Displacement " ,  description = " Enable material displacement " ,  default = ' Vertex ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_tess_mesh_inner :  IntProperty ( name = " Inner " ,  description = " Inner tessellation level " ,  default = 7 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_tess_mesh_outer :  IntProperty ( name = " Outer " ,  description = " Outer tessellation level " ,  default = 7 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_tess_shadows_inner :  IntProperty ( name = " Inner " ,  description = " Inner tessellation level " ,  default = 7 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_tess_shadows_outer :  IntProperty ( name = " Outer " ,  description = " Outer tessellation level " ,  default = 7 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_rp_resolution :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Display ' ,  ' Display ' ,  ' Display ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Custom ' ,  ' Custom ' ,  ' Custom ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Resolution " ,  description = " Resolution to perform rendering at " ,  default = ' Display ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_rp_resolution_size :  IntProperty ( name = " Size " ,  description = " Resolution height in pixels(for example 720p), width is auto-fit to preserve aspect ratio " ,  default = 720 ,  min = 0 ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_rp_resolution_filter :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Linear ' ,  ' Linear ' ,  ' Linear ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Point ' ,  ' Closest ' ,  ' Point ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Filter " ,  description = " Scaling filter " ,  default = ' Linear ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_dynres :  BoolProperty ( name = " Dynamic Resolution " ,  description = " Dynamic resolution scaling for performance " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_chromatic_aberration :  BoolProperty ( name = " Chromatic Aberration " ,  description = " Add chromatic aberration (scene fringe) " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssr_half_res :  BoolProperty ( name = " Half Res " ,  description = " Trace in half resolution " ,  default = True ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_voxels :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Voxel GI ' ,  ' Voxel GI ' ,  ' Voxel GI ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Voxel AO ' ,  ' Voxel AO ' ,  ' Voxel AO ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Voxels " ,  description = " Dynamic global illumination " ,  default = ' Off ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_voxelgi_resolution :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 16 ' ,  ' 16 ' ,  ' 16 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 32 ' ,  ' 32 ' ,  ' 32 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 64 ' ,  ' 64 ' ,  ' 64 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 128 ' ,  ' 128 ' ,  ' 128 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 256 ' ,  ' 256 ' ,  ' 256 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Resolution " ,  description = " 3D texture resolution " ,  default = ' 32 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rp_voxelgi_resolution_z :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 1.0 ' ,  ' 1.0 ' ,  ' 1.0 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 0.5 ' ,  ' 0.5 ' ,  ' 0.5 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 0.25 ' ,  ' 0.25 ' ,  ' 0.25 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Resolution Z " ,  description = " 3D texture z resolution multiplier " ,  default = ' 1.0 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_refract :  BoolProperty ( name = " Trace Refraction " ,  description = " Use voxels to render refraction " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_bounces :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        	   ( ' 1 ' ,  ' 1 ' ,  ' 1 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2 ' ,  ' 2 ' ,  ' 2 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Bounces " ,  description = " Trace multiple light bounces " ,  default = ' 1 ' ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_clipmap_count :  IntProperty ( name = " Clipmap count " ,  description = " Number of clipmaps " ,  default = 3 ,  update = assets . invalidate_compiled_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_temporal :  BoolProperty ( name = " Temporal Filter " ,  description = " Use temporal filtering to stabilize voxels " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_shadows :  BoolProperty ( name = " Shadows " ,  description = " Use voxels to render shadows " ,  default = False ,  update = update_renderpath ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_samples_per_pixel :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 1 ' ,  ' 1 ' ,  ' 1 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 2 ' ,  ' 2 ' ,  ' 2 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 4 ' ,  ' 4 ' ,  ' 4 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 8 ' ,  ' 8 ' ,  ' 8 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 16 ' ,  ' 16 ' ,  ' 16 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " MSAA " ,  description = " Samples per pixel usable for render paths drawing directly to framebuffer " ,  default = ' 1 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_cones :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 9 ' ,  ' 9 ' ,  ' 9 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 5 ' ,  ' 5 ' ,  ' 5 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 3 ' ,  ' 3 ' ,  ' 3 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 1 ' ,  ' 1 ' ,  ' 1 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Cones " ,  description = " Number of cones to trace " ,  default = ' 5 ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_diff :  FloatProperty ( name = " Diffuse " ,  description = " " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_spec :  FloatProperty ( name = " Reflection " ,  description = " " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_refr :  FloatProperty ( name = " Refraction " ,  description = " " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_shad :  FloatProperty ( name = " Shadows " ,  description = " Contrast for voxels shadows " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_occ :  FloatProperty ( name = " Occlusion " ,  description = " " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_size :  FloatProperty ( name = " Size " ,  description = " Voxel size " ,  default = 0.25 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_step :  FloatProperty ( name = " Step " ,  description = " Step size " ,  default = 0.25 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_range :  FloatProperty ( name = " Range " ,  description = " Maximum range " ,  default = 100.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_offset :  FloatProperty ( name = " Offset " ,  description = " Multiplicative Offset for dealing with self occlusion " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_voxelgi_aperture :  FloatProperty ( name = " Aperture " ,  description = " Cone aperture for shadow trace " ,  default = 0.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_sss_width :  FloatProperty ( name = " Width " ,  description = " SSS blur strength " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_color :  FloatVectorProperty ( name = " Color " ,  size = 3 ,  default = [ 1 ,  1 ,  1 ] ,  subtype = ' COLOR ' ,  min = 0 ,  max = 1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_level :  FloatProperty ( name = " Level " ,  default = 0.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_displace :  FloatProperty ( name = " Displace " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_speed :  FloatProperty ( name = " Speed " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_freq :  FloatProperty ( name = " Freq " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_density :  FloatProperty ( name = " Density " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_refract :  FloatProperty ( name = " Refract " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_water_reflect :  FloatProperty ( name = " Reflect " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssgi_strength :  FloatProperty ( name = " Strength " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssgi_radius :  FloatProperty ( name = " Radius " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssgi_step :  FloatProperty ( name = " Step " ,  default = 2.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssgi_max_steps :  IntProperty ( name = " Max Steps " ,  default = 8 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssgi_rays :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' 9 ' ,  ' 9 ' ,  ' 9 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' 5 ' ,  ' 5 ' ,  ' 5 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Rays " ,  description = " Number of rays to trace for RTAO " ,  default = ' 5 ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssgi_half_res :  BoolProperty ( name = " Half Res " ,  description = " Trace in half resolution " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_threshold :  FloatProperty ( name = " Threshold " ,  description = " Brightness above which a pixel is contributing to the bloom effect " ,  min = 0 ,  default = 0.8 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_knee :  FloatProperty ( name = " Knee " ,  description = " Smoothen transition around the threshold (higher values = smoother transition) " ,  min = 0 ,  max = 1 ,  default = 0.5 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_strength :  FloatProperty ( name = " Strength " ,  description = " Strength of the bloom effect " ,  min = 0 ,  default = 0.05 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_radius :  FloatProperty ( name = " Radius " ,  description = " Glow radius (screen-size independent) " ,  min = 0 ,  default = 6.5 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_anti_flicker :  BoolProperty ( name = " Anti-Flicker Filter " ,  description = " Apply a filter to reduce flickering caused by fireflies (single very bright pixels) " ,  default = True ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_bloom_quality :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Quality " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        description = " Resampling quality of the bloom pass " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ( " low " ,  " Low " ,  " Lowest visual quality but best performance " ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ( " medium " ,  " Medium " ,  " Compromise between quality and performance " ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ( " high " ,  " High " ,  " Best quality, but slowest " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        default = " medium " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        update = assets . invalidate_shader_cache 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_motion_blur_intensity :  FloatProperty ( name = " Intensity " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssr_ray_step :  FloatProperty ( name = " Step " ,  default = 0.03 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssr_search_dist :  FloatProperty ( name = " Search " ,  default = 5.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssr_falloff_exp :  FloatProperty ( name = " Falloff " ,  default = 5.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssr_jitter :  FloatProperty ( name = " Jitter " ,  default = 0.6 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ss_refraction_ray_step :  FloatProperty ( name = " Step " ,  default = 0.05 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ss_refraction_search_dist :  FloatProperty ( name = " Search " ,  default = 5.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ss_refraction_falloff_exp :  FloatProperty ( name = " Falloff " ,  default = 5.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ss_refraction_jitter :  FloatProperty ( name = " Jitter " ,  default = 0.6 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_volumetric_light_air_turbidity :  FloatProperty ( name = " Air Turbidity " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_volumetric_light_air_color :  FloatVectorProperty ( name = " Air Color " ,  size = 3 ,  default = [ 1.0 ,  1.0 ,  1.0 ] ,  subtype = ' COLOR ' ,  min = 0 ,  max = 1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_volumetric_light_steps :  IntProperty ( name = " Steps " ,  default = 20 ,  min = 0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_shadowmap_split :  FloatProperty ( name = " Cascade Split " ,  description = " Split factor for cascaded shadow maps, higher factor favors detail on close surfaces " ,  default = 0.8 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_shadowmap_bounds :  FloatProperty ( name = " Cascade Bounds " ,  description = " Multiply cascade bounds to capture bigger area " ,  default = 1.0 ,  update = assets . invalidate_compiled_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_autoexposure_strength :  FloatProperty ( name = " Auto Exposure Strength " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_autoexposure_speed :  FloatProperty ( name = " Auto Exposure Speed " ,  default = 1.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_ssrs_ray_step :  FloatProperty ( name = " Step " ,  default = 0.01 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_chromatic_aberration_type :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Simple ' ,  ' Simple ' ,  ' Simple ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Spectral ' ,  ' Spectral ' ,  ' Spectral ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Aberration type " ,  description = " Aberration type " ,  default = ' Simple ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_chromatic_aberration_strength :  FloatProperty ( name = " Strength " ,  default = 2.00 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_chromatic_aberration_samples :  IntProperty ( name = " Samples " ,  default = 32 ,  min = 8 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # Compositor 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_letterbox :  BoolProperty ( name = " Letterbox " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_letterbox_color :  FloatVectorProperty ( name = " Color " ,  size = 3 ,  default = [ 0 ,  0 ,  0 ] ,  subtype = ' COLOR ' ,  min = 0 ,  max = 1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_letterbox_size :  FloatProperty ( name = " Size " ,  default = 0.1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_distort :  BoolProperty ( name = " Distort " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_distort_strength :  FloatProperty ( name = " Strength " ,  default = 2.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_grain :  BoolProperty ( name = " Film Grain " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_grain_strength :  FloatProperty ( name = " Strength " ,  default = 2.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_sharpen :  BoolProperty ( name = " Sharpen " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_sharpen_strength :  FloatProperty ( name = " Strength " ,  default = 0.25 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_fog :  BoolProperty ( name = " Volumetric Fog " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_fog_color :  FloatVectorProperty ( name = " Color " ,  size = 3 ,  subtype = ' COLOR ' ,  default = [ 0.5 ,  0.6 ,  0.7 ] ,  min = 0 ,  max = 1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_fog_amounta :  FloatProperty ( name = " Amount A " ,  default = 0.25 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_fog_amountb :  FloatProperty ( name = " Amount B " ,  default = 0.5 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_tonemap :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Filmic ' ,  ' Filmic ' ,  ' Filmic ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Filmic2 ' ,  ' Filmic2 ' ,  ' Filmic2 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Reinhard ' ,  ' Reinhard ' ,  ' Reinhard ' ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-05 08:18:32 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               ( ' Uncharted ' ,  ' Uncharted ' ,  ' Uncharted ' ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-05 13:10:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								               ( ' AgXSimple ' ,  ' AgX ' ,  ' AgX Implementation ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               # ('AgXFull', 'AgX (Full)', 'AgX Full Implementation')], 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-05 13:27:30 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        name = ' Tonemap ' ,  description = ' Tonemapping operator ' ,  default = ' Filmic ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-07 21:16:29 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    lnx_dithering :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' Off ' ,  ' Off ' ,  ' Off ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' BlueNoise ' ,  ' Blue Noise ' ,  ' Blue Noise ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' WhiteNoise ' ,  ' White Noise ' ,  ' White Noise ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' OrderedBayer4x4 ' ,  ' Ordered Bayer 4x4 ' ,  ' Ordered Bayer 4x4 ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' OrderedBayer8x8 ' ,  ' Ordered Bayer 8x8 ' ,  ' Ordered Bayer 8x8 ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = ' Dithering ' ,  description = ' Dithering operator ' ,  default = ' Off ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_dithering_strength :  FloatProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = " Dither Strength " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        description = " Strength of the dithering effect (applied as offset / 255.0) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        default = 1.0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        min = 0.0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        max = 1000.0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ) 
							 
						 
					
						
							
								
									
										
										
										
											2025-01-22 16:18:30 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    lnx_fisheye :  BoolProperty ( name = " Fish Eye " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_vignette :  BoolProperty ( name = " Vignette " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_vignette_strength :  FloatProperty ( name = " Strength " ,  default = 0.7 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lensflare :  BoolProperty ( name = " Lens Flare " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens :  BoolProperty ( name = " Lens Texture " ,  description = " Grime Overlay " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture :  StringProperty ( name = " Texture " ,  description = " Lens filepath " ,  default = " lenstexture.jpg " ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture_masking :  BoolProperty ( name = " Luminance Masking " ,  description = " Luminance masking " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture_masking_centerMinClip  :  FloatProperty ( name = " Center Min Clip " ,  default = 0.5 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture_masking_centerMaxClip  :  FloatProperty ( name = " Center Max Clip " ,  default = 0.1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture_masking_luminanceMax  :  FloatProperty ( name = " Luminance Min " ,  default = 0.1 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture_masking_luminanceMin  :  FloatProperty ( name = " Luminance Max " ,  default = 2.5 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lens_texture_masking_brightnessExp  :  FloatProperty ( name = " Brightness Exponent " ,  default = 2.0 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lut :  BoolProperty ( name = " LUT Colorgrading " ,  description = " Colorgrading " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_lut_texture :  StringProperty ( name = " Texture " ,  description = " LUT filepath " ,  default = " luttexture.jpg " ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_skin :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = ' Skinning ' ,  description = ' Enable skinning ' ,  default = ' On ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_use_armature_deform_only :  BoolProperty ( name = " Only Deform Bones " ,  description = " Only write deforming bones (and non-deforming ones when they have deforming children) " ,  default = False ,  update = assets . invalidate_compiled_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_skin_max_bones_auto :  BoolProperty ( name = " Auto Bones " ,  description = " Calculate amount of maximum bones based on armatures " ,  default = True ,  update = assets . invalidate_compiled_data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_skin_max_bones :  IntProperty ( name = " Max Bones " ,  default = 50 ,  min = 1 ,  max = 3000 ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_morph_target :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = ' Shape key ' ,  description = ' Enable shape keys ' ,  default = ' On ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_particles :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        items = [ ( ' On ' ,  ' On ' ,  ' On ' ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								               ( ' Off ' ,  ' Off ' ,  ' Off ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        name = ' Particles ' ,  description = ' Enable particle simulation ' ,  default = ' On ' ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # Material override flags 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_culling :  BoolProperty ( name = " Culling " ,  default = True ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lnx_two_sided_area_light :  BoolProperty ( name = " Two-Sided Area Light " ,  description = " Emit light from both faces of area plane " ,  default = False ,  update = assets . invalidate_shader_cache ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    @staticmethod 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  get_by_name ( name :  str )  - >  Optional [ ' LnxRPListItem ' ] : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        wrd  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        # Assume unique rp names 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        for  i  in  range ( len ( wrd . lnx_rplist ) ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  wrd . lnx_rplist [ i ] . name  ==  name : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  wrd . lnx_rplist [ i ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  None 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  LNX_UL_RPList ( bpy . types . UIList ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  draw_item ( self ,  context ,  layout ,  data ,  item ,  icon ,  active_data ,  active_propname ,  index ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        custom_icon  =  ' OBJECT_DATAMODE ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  self . layout_type  in  { ' DEFAULT ' ,  ' COMPACT ' } : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            row  =  layout . row ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            row . prop ( item ,  " name " ,  text = " " ,  emboss = False ,  icon = custom_icon ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elif  self . layout_type  in  { ' GRID ' } : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            layout . alignment  =  ' CENTER ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            layout . label ( text = " " ,  icon  =  custom_icon ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  LnxRPListNewItem ( bpy . types . Operator ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # Add a new item to the list 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bl_idname  =  " lnx_rplist.new_item " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bl_label  =  " New " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  invoke ( self ,  context ,  event ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        wm  =  context . window_manager 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  wm . invoke_props_dialog ( self ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  draw ( self , context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        layout  =  self . layout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        layout . prop ( bpy . data . worlds [ ' Lnx ' ] ,  ' rp_preset ' ,  expand = True ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  execute ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        wrd  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        wrd . lnx_rplist . add ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        wrd . lnx_rplist_index  =  len ( wrd . lnx_rplist )  -  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        wrd . lnx_rplist [ wrd . lnx_rplist_index ] . name  =  bpy . data . worlds [ ' Lnx ' ] . rp_preset 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        update_preset ( wrd ,  context ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return { ' FINISHED ' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  LnxRPListDeleteItem ( bpy . types . Operator ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # Delete the selected item from the list 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bl_idname  =  " lnx_rplist.delete_item " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bl_label  =  " Deletes an item " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    @classmethod 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  poll ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        """  Enable if there ' s something in the list  """ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  len ( mdata . lnx_rplist )  >  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  execute ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        list  =  mdata . lnx_rplist 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        index  =  mdata . lnx_rplist_index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        list . remove ( index ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  index  >  0 : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            index  =  index  -  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata . lnx_rplist_index  =  index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return { ' FINISHED ' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  LnxRPListMoveItem ( bpy . types . Operator ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # Move an item in the list 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bl_idname  =  " lnx_rplist.move_item " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bl_label  =  " Move an item in the list " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    direction :  EnumProperty ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                items = ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    ( ' UP ' ,  ' Up ' ,  " " ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    ( ' DOWN ' ,  ' Down ' ,  " " ) , ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  move_index ( self ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        # Move index of an item render queue while clamping it 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        index  =  mdata . lnx_rplist_index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        list_length  =  len ( mdata . lnx_rplist )  -  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        new_index  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  self . direction  ==  ' UP ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            new_index  =  index  -  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elif  self . direction  ==  ' DOWN ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            new_index  =  index  +  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        new_index  =  max ( 0 ,  min ( new_index ,  list_length ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata . lnx_rplist . move ( index ,  new_index ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata . lnx_rplist_index  =  new_index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    def  execute ( self ,  context ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        mdata  =  bpy . data . worlds [ ' Lnx ' ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        list  =  mdata . lnx_rplist 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        index  =  mdata . lnx_rplist_index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  self . direction  ==  ' DOWN ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            neighbor  =  index  +  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            self . move_index ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elif  self . direction  ==  ' UP ' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            neighbor  =  index  -  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            self . move_index ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return { ' CANCELLED ' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return { ' FINISHED ' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__REG_CLASSES  =  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    LnxRPListItem , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    LNX_UL_RPList , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    LnxRPListNewItem , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    LnxRPListDeleteItem , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    LnxRPListMoveItem , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__reg_classes ,  unregister  =  bpy . utils . register_classes_factory ( __REG_CLASSES ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								def  register ( ) : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    __reg_classes ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bpy . types . World . lnx_rplist  =  CollectionProperty ( type = LnxRPListItem ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bpy . types . World . rp_driver_list  =  CollectionProperty ( type = bpy . types . PropertyGroup ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bpy . types . World . lnx_rplist_index  =  IntProperty ( name = " Index for my_list " ,  default = 0 ,  update = update_renderpath )