Ticket #2506: merge-gentangents-preferglsl.patch
File merge-gentangents-preferglsl.patch, 6.3 KB (added by , 8 years ago) |
---|
-
binaries/data/config/default.cfg
96 96 renderpath = default 97 97 98 98 ;;;;; EXPERIMENTAL ;;;;; 99 ; Prefer GLSL shaders over ARB shaders (not recommended). REQUIRES gentangents=true.99 ; Prefer GLSL shaders over ARB shaders 100 100 preferglsl = false 101 101 102 ; Generate tangents for normal and parallax mapping. REQUIRES preferglsl=true.103 gentangents = false104 105 102 ; Experimental probably-non-working GPU skinning support; requires preferglsl; use at own risk 106 103 gpuskinning = false 107 104 -
binaries/data/mods/public/gui/options/options.js
125 125 }(option[2][action]); 126 126 // Merge the new callback with any existing callbacks. 127 127 onPress = mergeFunctions(callback, onPress); 128 // TODO: Remove this once GLSL works without GenTangents (#2506)129 if (option[2][action] == "preferglsl")130 {131 callback = function()132 Engine.ConfigDB_CreateValue("user", "gentangents", String(this.checked));133 onPress = mergeFunctions(callback, onPress);134 }135 128 break; 136 129 case "renderer": 137 130 // Load initial value if not yet loaded. … … 145 138 }(option[2][action]); 146 139 // Merge the new callback with any existing callbacks. 147 140 onPress = mergeFunctions(callback, onPress); 148 // TODO: Remove this once GLSL works without GenTangents (#2506)149 if (option[2][action] == "PreferGLSL")150 {151 callback = function()152 eval("Engine.Renderer_SetGenTangentsEnabled(" + this.checked + ")");153 onPress = mergeFunctions(callback, onPress);154 }155 141 break; 156 142 case "function": 157 143 // This allows for doing low-level actions, like hiding/showing UI elements. -
source/renderer/Renderer.cpp
438 438 m_Options.m_PreferGLSL = false; 439 439 m_Options.m_ForceAlphaTest = false; 440 440 m_Options.m_GPUSkinning = false; 441 m_Options.m_GenTangents = false;442 441 m_Options.m_SmoothLOS = false; 443 442 m_Options.m_Postproc = false; 444 443 m_Options.m_ShowSky = false; … … 448 447 CFG_GET_VAL("preferglsl", m_Options.m_PreferGLSL); 449 448 CFG_GET_VAL("forcealphatest", m_Options.m_ForceAlphaTest); 450 449 CFG_GET_VAL("gpuskinning", m_Options.m_GPUSkinning); 451 CFG_GET_VAL("gentangents", m_Options.m_GenTangents);452 450 CFG_GET_VAL("smoothlos", m_Options.m_SmoothLOS); 453 451 CFG_GET_VAL("postproc", m_Options.m_Postproc); 454 452 … … 581 579 582 580 bool cpuLighting = (GetRenderPath() == RP_FIXED); 583 581 m->Model.VertexRendererShader = ModelVertexRendererPtr(new ShaderModelVertexRenderer(cpuLighting)); 584 m->Model.VertexInstancingShader = ModelVertexRendererPtr(new InstancingModelRenderer(false, m_Options.m_ GenTangents));582 m->Model.VertexInstancingShader = ModelVertexRendererPtr(new InstancingModelRenderer(false, m_Options.m_PreferGLSL)); 585 583 586 584 if (GetRenderPath() == RP_SHADER && m_Options.m_GPUSkinning) // TODO: should check caps and GLSL etc too 587 585 { 588 m->Model.VertexGPUSkinningShader = ModelVertexRendererPtr(new InstancingModelRenderer(true, m_Options.m_ GenTangents));586 m->Model.VertexGPUSkinningShader = ModelVertexRendererPtr(new InstancingModelRenderer(true, m_Options.m_PreferGLSL)); 589 587 m->Model.NormalSkinned = ModelRendererPtr(new ShaderModelRenderer(m->Model.VertexGPUSkinningShader)); 590 588 m->Model.TranspSkinned = ModelRendererPtr(new ShaderModelRenderer(m->Model.VertexGPUSkinningShader)); 591 589 } … … 708 706 case OPT_PARTICLES: 709 707 m_Options.m_Particles = value; 710 708 break; 711 case OPT_GENTANGENTS:712 m_Options.m_GenTangents = value;713 break;714 709 case OPT_PREFERGLSL: 715 710 m_Options.m_PreferGLSL = value; 716 711 MakeShadersDirty(); … … 762 757 return m_Options.m_ShadowPCF; 763 758 case OPT_PARTICLES: 764 759 return m_Options.m_Particles; 765 case OPT_GENTANGENTS:766 return m_Options.m_GenTangents;767 760 case OPT_PREFERGLSL: 768 761 return m_Options.m_PreferGLSL; 769 762 case OPT_SILHOUETTES: -
source/renderer/Renderer.h
83 83 OPT_SHADOWSONWATER, 84 84 OPT_SHADOWPCF, 85 85 OPT_PARTICLES, 86 OPT_GENTANGENTS,87 86 OPT_PREFERGLSL, 88 87 OPT_SILHOUETTES, 89 88 OPT_SHOWSKY, … … 155 154 bool m_ForceAlphaTest; 156 155 bool m_GPUSkinning; 157 156 bool m_Silhouettes; 158 bool m_GenTangents;159 157 bool m_SmoothLOS; 160 158 bool m_ShowSky; 161 159 bool m_Postproc; -
source/renderer/scripting/JSInterface_Renderer.cpp
32 32 } 33 33 34 34 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(PARTICLES, Particles); 35 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(GENTANGENTS, GenTangents);36 35 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(PREFERGLSL, PreferGLSL); 37 36 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERUGLY, WaterUgly); 38 37 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERFANCYEFFECTS, WaterFancyEffects); … … 72 71 REGISTER_BOOLEAN_SCRIPT_SETTING(Shadows); 73 72 REGISTER_BOOLEAN_SCRIPT_SETTING(ShadowPCF); 74 73 REGISTER_BOOLEAN_SCRIPT_SETTING(Particles); 75 REGISTER_BOOLEAN_SCRIPT_SETTING(GenTangents);76 74 REGISTER_BOOLEAN_SCRIPT_SETTING(PreferGLSL); 77 75 REGISTER_BOOLEAN_SCRIPT_SETTING(WaterUgly); 78 76 REGISTER_BOOLEAN_SCRIPT_SETTING(WaterFancyEffects); -
source/renderer/scripting/JSInterface_Renderer.h
33 33 DECLARE_BOOLEAN_SCRIPT_SETTING(Shadows); 34 34 DECLARE_BOOLEAN_SCRIPT_SETTING(ShadowPCF); 35 35 DECLARE_BOOLEAN_SCRIPT_SETTING(Particles); 36 DECLARE_BOOLEAN_SCRIPT_SETTING(GenTangents);37 36 DECLARE_BOOLEAN_SCRIPT_SETTING(PreferGLSL); 38 37 DECLARE_BOOLEAN_SCRIPT_SETTING(WaterUgly); 39 38 DECLARE_BOOLEAN_SCRIPT_SETTING(WaterFancyEffects);