//**************************************************************************************// // // // BASIC STUFF // // // //**************************************************************************************// material WhiteVertex { technique { pass { lighting on ambient 0.0 0.0 0.0 1 diffuse 1 1 1 1 specular 1 1 1 1 127 } } } material PerVertex { technique { // Base ambient pass pass { vertex_program_ref Ambient { } } pass { // do this for each light iteration once_per_light scene_blend add vertex_program_ref PerVertex_Vert { } } } } //**************************************************************************************// // // // PERPIXEL LIGHTING // // A + D + S // // (NO TEXTURING ADDED) // //**************************************************************************************// material Simple_Perpixel { technique { // Base ambient pass pass { vertex_program_ref Ambient { } } pass { // do this for each light iteration once_per_light scene_blend add vertex_program_ref Simple_Perpixel_Vert { } fragment_program_ref Simple_PerPixel_Frag { } } } } material Perpixel { technique { // Base ambient pass pass { vertex_program_ref Ambient { } } pass { // do this for each light iteration once_per_light scene_blend add vertex_program_ref PerPixel_Vert { } fragment_program_ref PerPixel_Frag { } } } } //The limitation worth us ~20..100 FPS.It worth it. material Perpixel_Limited_3 { technique { pass { vertex_program_ref PerPixel_Lim3_Vert { } fragment_program_ref PerPixel_Lim3_Frag { } } } } //**************************************************************************************// // // // BUMP - NORMAL - OFFSET/PARALLAX - RELIEF // // MAPPING COMES NOW // // (WITH TEXTURING) // //**************************************************************************************// //Any lights, offset with specular //Apart from being slow, this sax, 'cuz diffuse texture's uv's cannot be offsetted //due to the iteration (or at least I can't do it easily) //(and due to I cannot transfer data beetwen Fragshaders of different passes) material Offset { technique { pass { vertex_program_ref Ambient { } } pass { // do this for each light iteration once_per_light scene_blend add // Vertex program reference vertex_program_ref Offset_Vert { param_named scale float 5 } // Fragment program fragment_program_ref Offset_Frag { } // Base bump map texture_unit { texture notex_normal.png filtering trilinear //filtering anisotropic //max_anisotropy 3 //colour_op replace } } //Decal pass pass { lighting off vertex_program_ref OneTexture { param_named scale float 5 } scene_blend modulate texture_unit { //filtering anisotropic //max_anisotropy 3 filtering trilinear texture notex_diffuse.png } } } } material Base { set $DiffuseMap "notex_diffuse.png" set $NormalMap "notex_normal.png" technique { // pass // { // vertex_program_ref Ambient // { // } // } pass { // do this for each light // iteration once_per_light // scene_blend add // Vertex program reference vertex_program_ref BaseNormal_Vert { param_named scale float 1 } // Fragment program fragment_program_ref BaseNormal_Frag { } // Base bump map texture_unit { texture $NormalMap filtering trilinear //filtering anisotropic //max_anisotropy 3 //colour_op replace } texture_unit { //filtering anisotropic //max_anisotropy 3 filtering trilinear texture $DiffuseMap } } } } material Offset_Limited3 { set $DiffuseMap "notex_diffuse.png" set $NormalMap "notex_normal.png" technique { // pass // { // vertex_program_ref Ambient // { // } // } pass { // do this for each light // iteration once_per_light // scene_blend add // Vertex program reference vertex_program_ref Offset_Lim3_Vert { param_named scale float 1 // param_named lightnum float 2 } // Fragment program // fragment_program_ref Offset_Lim3_Frag // { // param_named lightnum float 2 // } // Base bump map // texture_unit // { // texture $NormalMap // filtering trilinear //filtering anisotropic //max_anisotropy 3 //colour_op replace // } texture_unit { //filtering anisotropic //max_anisotropy 3 filtering trilinear texture $DiffuseMap } } } } material Base/NormalMap : Base {} material Base/ParallaxMap : Offset_Limited3 {} material wood : Base/NormalMap { set $DiffuseMap "wood01_diffuse.png" set $NormalMap "wood01_normal.png" } material dirty_metal01 : Base/NormalMap { set $DiffuseMap "dirty_metal01_diffuse.png" set $NormalMap "dirty_metal01_normal.png" } material crate01__props\crate01.blend : Base/NormalMap { set $DiffuseMap "crate01.png" set $NormalMap "crate01_nrm.png" } material Material__props\wellston_lamp.blend : Base/NormalMap { set $DiffuseMap "lamp1.png" set $NormalMap "lamp1_nrm.png" } material or_office_siding : Base/NormalMap { set $DiffuseMap "concrete02.png" set $NormalMap "concrete02_nrm.png" } material or_office_roof : Base/NormalMap { set $DiffuseMap "rooftiles01.png" set $NormalMap "rooftiles01_nrm.png" } material or_office_trim : Base/NormalMap { set $DiffuseMap "concrete03.png" set $NormalMap "concrete03_nrm.png" } material or_housedeco01 : Base/NormalMap { set $DiffuseMap "housedeco01.png" set $NormalMap "housedeco01_nrm.png" } material concrete01 : Base/NormalMap { set $DiffuseMap "concrete02.png" set $NormalMap "concrete02_nrm.png" } material station : Base/NormalMap { set $DiffuseMap "wellston_tramstation.png" set $NormalMap "wellston_tramstation_nrm.png" } material brick01 : Base/NormalMap { set $DiffuseMap "brick01.png" set $NormalMap "brick01_nrm.png" } material brick01.001 : brick01 {} material bank : Base/NormalMap { set $DiffuseMap "wellston_bank.png" set $NormalMap "wellston_bank_nrm.png" } material wellston_butcher__buildings\wellston_butcher.blend : Base/ParallaxMap { set $DiffuseMap "wellston_butcher.png" set $NormalMap "wellston_butcher_height_nrm.tga" } material wellston_central : Base/NormalMap { set $DiffuseMap "wellston_central.png" set $NormalMap "wellston_central_nrm.png" } material church : Base/NormalMap { set $DiffuseMap "wellston_chapel.png" set $NormalMap "wellston_chapel_nrm.png" } material guild : Base/NormalMap { set $DiffuseMap "wellston_guildcentre.png" set $NormalMap "wellston_guildcentre_nrm.png" } material hotel { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.6400000190734865 0.6400000190734865 0.6400000190734865 1.0 specular 0.0 0.0 0.0 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material midhouse2__buildings\wellston_middle_house2.blend : Base/NormalMap { set $DiffuseMap "wellston_middle_house2.png" set $NormalMap "wellston_middle_house2_nrm.png" } material concrete2 : Base/NormalMap { set $DiffuseMap "Concrete2.png" set $NormalMap "Concrete2_nrm.png" } material plazafloor : Base/NormalMap { set $DiffuseMap "wellston_plazafloor.png" set $NormalMap "wellston_plazafloor_normal.png" } material fountain_concrete : Base/NormalMap { set $DiffuseMap "concrete02.png" set $NormalMap "concrete02_nrm.png" } material wellston_police__buildings\wellston_police_station.blend : Base/NormalMap { set $DiffuseMap "wellston_police.png" set $NormalMap "wellston_police_nrm.png" } material footpath1 : Base/NormalMap { set $DiffuseMap "footpath1.png" set $NormalMap "footpath1_nrm.png" } material wellston_cobble : Base/NormalMap { set $DiffuseMap "wellston_cobble.png" set $NormalMap "wellston_cobble_nrm.png" } material awning : Base/NormalMap { set $DiffuseMap "awning01_diffuse.png" //set $NormalMap "awning01_normal.png" } material stonepath : Base/ParallaxMap { set $DiffuseMap "stonepath01.png" set $NormalMap "stonepath01_normal_.tga" set $ScaleBias "0.4 0.2" } material shop1__buildings\wellston_shop1.blend : Base/NormalMap { set $DiffuseMap "wellston_shop1.png" set $NormalMap "wellston_shop1_nrm.png" } material shop2__buildings\wellston_shop2.blend : Base/NormalMap { set $DiffuseMap "wellston_shop2.png" set $NormalMap "wellston_shop2_nrm.png" } material shop3 : Base/NormalMap { set $DiffuseMap "wellston_shop3.png" set $NormalMap "wellston_shop3_nrm.png" } material shop5.001 : Base/NormalMap { set $DiffuseMap "wellston_shop5.png" set $NormalMap "wellston_shop5_nrm.png" } material wellston_shop6 : Base/NormalMap { set $DiffuseMap "wellston_shop6.png" set $NormalMap "wellston_shop6_nrm.png" } material wellston_shop6_2 : Base/NormalMap { set $DiffuseMap "wellston_shop6.png" set $NormalMap "wellston_shop6_nrm.png" } material tailor__buildings\wellston_tailor.blend : Base/NormalMap { set $DiffuseMap "wellston_tailor.png" set $NormalMap "wellston_tailor_nrm.png" } material dirt01 : Base/NormalMap { set $DiffuseMap "dirt01.png" set $NormalMap "dirt01_nrm.png" } material wellston_roads : Base/NormalMap { set $DiffuseMap "wellston_roads.png" //set $NormalMap "wellston_roads_normal.png" } material stonewall : Base/NormalMap { set $DiffuseMap "chapel_stone.png" set $NormalMap "chapel_stone_nrm.png" } material gravel : Base/NormalMap { set $DiffuseMap "wellston_tramgravel.png" set $NormalMap "wellston_tramgravel_nrm.png" } material tram_car : Base/NormalMap { //set $DiffuseMap "tram_car.png" //set $NormalMap "tram_car_nrm.png" } material middle_house__props\wellston_window_details.blend { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.6400000190734865 0.6400000190734865 0.6400000190734865 1.0 specular 0.0 0.0 0.0 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material siding-trim { receive_shadows on technique { pass { cull_hardware none ambient 0.2738246023654938 0.2256130576133728 0.17049434781074524 1.0 diffuse 0.21905968515663865 0.18049044878021547 0.1363954802810472 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material window { receive_shadows on technique { pass { cull_hardware none ambient 0.3682475686073303 0.5171822309494019 1.0 1.0 diffuse 0.29459805927571736 0.4137457909248141 0.800000011920929 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material Material__buildings\wellston_mayor_house.blend { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.6400000190734865 0.6400000190734865 0.6400000190734865 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material map { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.5372925838424649 0.5372925838424649 0.5372925838424649 1.0 specular 0.0 0.0 0.0 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material Material__buildings\wellston_mansion.blend { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.6400000190734865 0.6400000190734865 0.6400000190734865 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material Material__props\wellston_water_tower.blend { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.6400000190734865 0.6400000190734865 0.6400000190734865 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material Material__props\crates.blend { receive_shadows on technique { pass { cull_hardware none ambient 0.800000011920929 0.800000011920929 0.800000011920929 1.0 diffuse 0.6400000190734865 0.6400000190734865 0.6400000190734865 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.0 0.0 0.0 1.0 scene_blend one zero } } } material water { receive_shadows on technique { pass { cull_hardware none ambient 0.07262690365314484 0.7414990663528442 0.0 0.539962887763977 diffuse 0.07262690365314484 0.7414990663528442 0.0 0.539962887763977 specular 0.5 0.5 0.5 0.539962887763977 12.5 emissive 0.0 0.0 0.0 0.539962887763977 scene_blend one zero } } } material _missing_material_ { receive_shadows off technique { pass { ambient 0.1 0.1 0.1 1.0 diffuse 0.8 0.0 0.0 1.0 specular 0.5 0.5 0.5 1.0 12.5 emissive 0.3 0.3 0.3 1.0 } } }