vertex_program GTP/StationDemo/StationBase_VS hlsl { source StationBase.hlsl entry_point StationBase_VS target vs_3_0 } fragment_program GTP/StationDemo/StationBase_PS hlsl { source StationBase.hlsl entry_point StationBase_PS target ps_3_0 flow_control prefer } vertex_program GTP/StationDemo/MorphedSphere_VS hlsl { source StationBase.hlsl entry_point MorphedSphere_VS target vs_2_0 } material SpaceStation_Base { technique main { pass main { IllumTechniques { RenderTechnique PathMap { new_passes false start_tex_id 2 } RenderTechnique DepthShadowReceiver { max_light_count 2 nearest_from_camera false set_light_viewproj true set_light_view true set_light_farplane true bind_to_vertex_shader true light_view_param_name LightView light_viewproj_param_name LightViewProj light_farplane_param_name lightFarPlane new_passes false start_tex_id 5 } } vertex_program_ref GTP/StationDemo/StationBase_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldI inverse_world_matrix param_named_auto wCamPos camera_position } fragment_program_ref GTP/StationDemo/StationBase_PS { param_named_auto wLightPos1 light_position 0 param_named_auto wLightPos2 light_position 1 param_named_auto wLightDir1 light_direction 0 param_named_auto wLightDir2 light_direction 1 param_named_auto lightRange1 light_attenuation 0 param_named_auto lightRange2 light_attenuation 1 param_named_auto lightPower1 light_power 0 param_named_auto lightPower2 light_power 1 param_named_auto lightColor1 light_diffuse_colour 0 param_named_auto lightColor2 light_diffuse_colour 1 param_named specularity float 20 param_named specularColor float4 0.2 0.2 0.2 0.2 param_named causticReceiver float 0 } texture_unit color { } texture_unit Obscurances { } texture_unit PM_PRM { } texture_unit PM_weightIndex { } texture_unit PM_ClusterWeight { } texture_unit SM1 { } texture_unit SM2 { } } } } material SpaceStation_ConnectElem : SpaceStation_Base { technique main { pass main { texture_unit color { texture cornerUV.jpg } texture_unit Obscurances { texture cornerO.bmp } } } } material SpaceStation_CorridorElem : SpaceStation_Base { technique main { pass main { texture_unit color { texture elemUV.jpg } texture_unit Obscurances { texture elemO.bmp } } } } material SpaceStation_HallPipes : SpaceStation_Base { technique main { pass main { texture_unit color { texture pipesUV.jpg } texture_unit Obscurances { texture pipesO.bmp } } } } material SpaceStation_Hall : SpaceStation_Base { technique main { pass main { IllumTechniques { RenderTechnique CausticReceiver { max_caster_count 1 //bind_distance_map true attenuation_var_name causticAttenuationRange center_var_name causticCasterCenter start_tex_id 7 new_passes false } } fragment_program_ref { param_named causticReceiver float 1 } texture_unit color { texture hallUV.jpg } texture_unit Obscurances { texture hallO.bmp } texture_unit CauMap { } } } } material SpaceStation_Room : SpaceStation_Base { technique main { pass main { texture_unit color { texture roomUV.jpg } texture_unit Obscurances { texture roomO.bmp } } } } material GTP/Station/PhotonMap_HitEnv { technique { pass { vertex_program_ref GTP/StationDemo/MorphedSphere_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldInv inverse_world_matrix param_named_auto t time } fragment_program_ref GTP/Caustic/PhotonMapHitEnv_PS { param_named_auto cameraPos camera_position param_named lastCenter float3 0 0 0 param_named refIndex float 0.65 } //cubemap of distances texture_unit { filtering none } } } } material GTP/Station/CauCube_PointSprite { technique { pass { cull_hardware none scene_blend src_alpha one depth_check off point_sprites on vertex_program_ref GTP/Caustic/CauCube_PointSprite_VS { param_named_auto WorldView worldview_matrix param_named_auto Proj projection_matrix param_named CauSpriteSize float 20 } fragment_program_ref GTP/Caustic/CauCube_PointSprite_PS { param_named CausticColor float4 1 1 1 0.06 } texture_unit { vertex_texture true } texture_unit { texture PowerOfPhotonHitTexel.dds } } } } material GTP/Station/CauCube_Triangles { technique { pass { cull_hardware none scene_blend one one scene_blend_alpha one zero depth_write off vertex_program_ref GTP/Caustic/CauCube_Triangles_VS { param_named_auto WorldView worldview_matrix param_named_auto Proj projection_matrix param_named PhotonMapResolution float 64 param_named WorldSize float 0.01 } fragment_program_ref GTP/Caustic/CauCube_Triangles_PS { param_named CausticColor float4 0.7 0.7 0.5 1 } texture_unit { vertex_texture true } } } } vertex_program GTP/StationDemo/MorphedSphereSM_VS hlsl { source StationBase.hlsl entry_point MorphedSphereSM_VS target vs_2_0 } fragment_program GTP/StationDemo/MorphedSphereSM_PS hlsl { source StationBase.hlsl entry_point MorphedSphereSM_PS target ps_2_0 } material SpaceStation_CausticCaster_SM { technique { pass { vertex_program_ref GTP/StationDemo/MorphedSphereSM_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto WorldView worldview_matrix param_named_auto t time } fragment_program_ref GTP/StationDemo/MorphedSphereSM_PS { param_named_auto farPlane far_clip_distance } } } } vertex_program GTP/StationDemo/MorphedSphereCDepth_VS hlsl { source StationBase.hlsl entry_point MorphedSphereCDepth_VS target vs_2_0 } material SpaceStation_CausticCaster_CDepth { technique { pass { vertex_program_ref GTP/StationDemo/MorphedSphereCDepth_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto WorldView worldview_matrix param_named_auto t time } fragment_program_ref GTP/Basic/CDepth_PS { param_named_auto farplane far_clip_distance } } } } material SpaceStation_CausticCaster { technique { pass { IllumTechniques { RenderTechnique Triggers { ILLUM_TRIGGER_SM_SPOT SpaceStation_CausticCaster_SM ILLUM_TRIGGER_CAMERADEPTH SpaceStation_CausticCaster_CDepth } RenderTechnique ColorCubeMap { update_interval 1 resolution 256 update_all_face true } RenderTechnique DistanceCubeMap { resolution 512 update_interval 0 start_frame 0 update_all_face true } RenderTechnique CausticCaster { attenuation 5.5 update_interval 1 update_all_face true photonmap_resolution 128 caustic_cubemap_resolution 256 photon_map_material GTP/Station/PhotonMap_HitEnv caustic_map_material GTP/Station/CauCube_PointSprite //caustic_map_material GTP/Station/CauCube_Triangles //use_triangles true //blur_caustic_cubemap true } } vertex_program_ref GTP/StationDemo/MorphedSphere_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldInv inverse_world_matrix param_named_auto t time } fragment_program_ref GTP/EnvMap/Localized_Refraction_PS { param_named_auto cameraPos camera_position param_named lastCenter float3 0 0 0 param_named sFresnel float 0.1 param_named sRefraction float 0.65 } //Cube map for reflections and refractions texture_unit { } //Cube map of distances texture_unit { filtering none } } } } material Station/redbutton { technique { pass { ambient 0 0 0 1 diffuse 1 0.2 0.2 1 specular 0 0 0 1 emissive 0.1 0.01 0.01 1 } } } material Station/bluebutton { technique { pass { ambient 0 0 0 1 diffuse 0.2 0.2 1 1 specular 0 0 0 1 emissive 0.01 0.01 0.1 1 } } }