/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// // Opengl Highlevel Shaderlanguage ogl { glsl { vertshader { code_variant_array { req_ver "1x0" code_array "levelutil/shader/prog/ogl_glsl/" & "bump_ogl_glsl_vs1x0.s3d_shadercode_run" } tracking { // uniform mat4 matBone[4]; cnt 4 codevar "matBone[$]" chan "bone" trans "identity" } // attribute vec4 bone_wgh; bone_wgh "boneWgh" //bone_subscr "boneSubscr" predefine_array { name "S3D_USE_BONEWGH" } { name "S3D_LIGHT_BRIGHT" } { name "S3D_LIGHT_BRIGHT_CARE" } { name "S3D_PARALLAX_MAPPING" } } fragshader { code_variant_array { req_ver "1x0" code_array "levelutil/shader/prog/ogl_glsl/" & "bump_ogl_glsl_fs1x0.s3d_shadercode_run" } predefine_array { name "S3D_SPECULAR_EXP" val "4.0" } { name "S3D_GEOMETRIC_SHADOW" } { name "S3D_PARALLAX_MAPPING" } { name "S3D_PARALLAX_SCALE" val "0.07" } { name "S3D_PARALLAX_BIAS" val "0.50196078431372549" // = 128/255 } { name "S3D_LIGHT_BRIGHT" } { name "S3D_LIGHT_BRIGHT_CARE" } } param_array { src_progvar "prog_light_cenrange" dest_codevar "lightCenRange" type "float4" } { src_progvar "prog_light_ambient" dest_codevar "lightAmbient" type "float4" } { src_progvar "prog_light_diffuse" dest_codevar "lightDiffuse" type "float4" } { src_progvar "prog_light_specular" dest_codevar "lightSpecular" type "float4" } { src_progvar "prog_light_brightmat" dest_codevar "lightBrightMat" type "float4x4" } sampler_array "tex0" "normalSamp" "lightBrightSamp" tex_rcpsize_codevar_array "" "" "lightBrightRcpSize" } } // D3D9 Highlevel Shaderlanguage d3d9 { hlsl_vertshader { // Code of the pixel program code_variant_array { profile "1x1" entry_point "main" code "levelutil/shader/prog/d3d9_hlsl/" & "bump_d3d9_hlsl_vs1x1.s3d_shadercode_run" debug_code_file "src/res/levelutil/shader/prog/d3d9_hlsl/" & "bump_d3d9_hlsl_vs1x1.s3d_shadercode" } // Copy matrices into vertex program constants. // The field "chan" can be one // of "identity", "proj", "view" or "projview" "bone" // The field "trans" can be one // of "identity", "inv", "transp" or "invtransp" // One matrix needs 4 constants. tracking { codevar "projMat" slot 0 chan "proj" trans "identity" } { codevar "matBone" slot 0 chan "bone" trans "identity" } param_array { src_progvar "prog_light_cenrange" dest_codevar "lightCenRange" type "float4" } { src_progvar "prog_light_brightmat" dest_codevar "lightBrightMat" type "float4x4" } predefine_array { name "S3D_USE_BONESUBSCR" } { name "S3D_MATBONE_CNT" val "32" } { name "S3D_PARALLAX_MAPPING" } { name "S3D_LIGHT_BRIGHT" } { name "S3D_LIGHT_BRIGHT_CARE" } } hlsl_pixshader { code_variant_array { profile "2x0" entry_point "main" code "levelutil/shader/prog/d3d9_hlsl/" & "bump_d3d9_hlsl_ps2x0.s3d_shadercode_run" } param_array { src_progvar "prog_light_ambient" dest_codevar "lightAmbient" type "float4" } { src_progvar "prog_light_diffuse" dest_codevar "lightDiffuse" type "float4" } { src_progvar "prog_light_specular" dest_codevar "lightSpecular" type "float4" } predefine_array { name "S3D_SPECULAR_EXP" val "4.0" } { name "S3D_GEOMETRIC_SHADOW" } { name "S3D_PARALLAX_MAPPING" } { name "S3D_PARALLAX_SCALE" val "0.07" } { name "S3D_PARALLAX_BIAS" val "0.50196078431372549" // = 128/255 } { name "S3D_LIGHT_BRIGHT" } { name "S3D_LIGHT_BRIGHT_CARE" } tex_rcpsize_codevar_array "" "" "lightBrightRcpSize" } } // D3D9 Highlevel Shaderlanguage xe { hlsl_vertshader { // Code of the pixel program code_variant_array { profile "1x1" entry_point "main" code "levelutil/shader/prog/d3d9_hlsl/" & "bump_d3d9_hlsl_vs1x1.s3d_shadercode_run" debug_code_file "src/res/levelutil/shader/prog/d3d9_hlsl/" & "bump_d3d9_hlsl_vs1x1.s3d_shadercode" } // Copy matrices into vertex program constants. // The field "chan" can be one // of "identity", "proj", "view" or "projview" "bone" // The field "trans" can be one // of "identity", "inv", "transp" or "invtransp" // One matrix needs 4 constants. tracking { codevar "projMat" slot 0 chan "proj" trans "identity" } { codevar "matBone" slot 0 chan "bone" trans "identity" } param_array { src_progvar "prog_light_cenrange" dest_codevar "lightCenRange" type "float4" } { src_progvar "prog_light_brightmat" dest_codevar "lightBrightMat" type "float4x4" } predefine_array { name "S3D_USE_BONESUBSCR" } { name "S3D_MATBONE_CNT" val "32" } { name "S3D_PARALLAX_MAPPING" } { name "S3D_LIGHT_BRIGHT" } { name "S3D_LIGHT_BRIGHT_CARE" } } hlsl_pixshader { code_variant_array { profile "2x0" entry_point "main" code "levelutil/shader/prog/d3d9_hlsl/" & "bump_d3d9_hlsl_ps2x0.s3d_shadercode_run" } param_array { src_progvar "prog_light_ambient" dest_codevar "lightAmbient" type "float4" } { src_progvar "prog_light_diffuse" dest_codevar "lightDiffuse" type "float4" } { src_progvar "prog_light_specular" dest_codevar "lightSpecular" type "float4" } predefine_array { name "S3D_SPECULAR_EXP" val "4.0" } { name "S3D_GEOMETRIC_SHADOW" } { name "S3D_PARALLAX_MAPPING" } { name "S3D_PARALLAX_SCALE" val "0.07" } { name "S3D_PARALLAX_BIAS" val "0.50196078431372549" // = 128/255 } { name "S3D_LIGHT_BRIGHT" } { name "S3D_LIGHT_BRIGHT_CARE" } tex_rcpsize_codevar_array "" "" "lightBrightRcpSize" } }