Ticket #2506: merge-gentangents-preferglsl.patch

File merge-gentangents-preferglsl.patch, 6.3 KB (added by fabio, 8 years ago)

merge gentangents option into preferglsl

  • binaries/data/config/default.cfg

     
    9696renderpath = default
    9797
    9898;;;;; EXPERIMENTAL ;;;;;
    99 ; Prefer GLSL shaders over ARB shaders (not recommended). REQUIRES gentangents=true.
     99; Prefer GLSL shaders over ARB shaders
    100100preferglsl = false
    101101
    102 ; Generate tangents for normal and parallax mapping. REQUIRES preferglsl=true.
    103 gentangents = false
    104 
    105102; Experimental probably-non-working GPU skinning support; requires preferglsl; use at own risk
    106103gpuskinning = false
    107104
  • binaries/data/mods/public/gui/options/options.js

     
    125125                        }(option[2][action]);
    126126                        // Merge the new callback with any existing callbacks.
    127127                        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                         }
    135128                        break;
    136129                    case "renderer":
    137130                        // Load initial value if not yet loaded.
     
    145138                        }(option[2][action]);
    146139                        // Merge the new callback with any existing callbacks.
    147140                        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                         }
    155141                        break;
    156142                    case "function":
    157143                        // This allows for doing low-level actions, like hiding/showing UI elements.
  • source/renderer/Renderer.cpp

     
    438438    m_Options.m_PreferGLSL = false;
    439439    m_Options.m_ForceAlphaTest = false;
    440440    m_Options.m_GPUSkinning = false;
    441     m_Options.m_GenTangents = false;
    442441    m_Options.m_SmoothLOS = false;
    443442    m_Options.m_Postproc = false;
    444443    m_Options.m_ShowSky = false;
     
    448447    CFG_GET_VAL("preferglsl", m_Options.m_PreferGLSL);
    449448    CFG_GET_VAL("forcealphatest", m_Options.m_ForceAlphaTest);
    450449    CFG_GET_VAL("gpuskinning", m_Options.m_GPUSkinning);
    451     CFG_GET_VAL("gentangents", m_Options.m_GenTangents);
    452450    CFG_GET_VAL("smoothlos", m_Options.m_SmoothLOS);
    453451    CFG_GET_VAL("postproc", m_Options.m_Postproc);
    454452
     
    581579
    582580    bool cpuLighting = (GetRenderPath() == RP_FIXED);
    583581    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));
    585583
    586584    if (GetRenderPath() == RP_SHADER && m_Options.m_GPUSkinning) // TODO: should check caps and GLSL etc too
    587585    {
    588         m->Model.VertexGPUSkinningShader = ModelVertexRendererPtr(new InstancingModelRenderer(true, m_Options.m_GenTangents));
     586        m->Model.VertexGPUSkinningShader = ModelVertexRendererPtr(new InstancingModelRenderer(true, m_Options.m_PreferGLSL));
    589587        m->Model.NormalSkinned = ModelRendererPtr(new ShaderModelRenderer(m->Model.VertexGPUSkinningShader));
    590588        m->Model.TranspSkinned = ModelRendererPtr(new ShaderModelRenderer(m->Model.VertexGPUSkinningShader));
    591589    }
     
    708706        case OPT_PARTICLES:
    709707            m_Options.m_Particles = value;
    710708            break;
    711         case OPT_GENTANGENTS:
    712             m_Options.m_GenTangents = value;
    713             break;
    714709        case OPT_PREFERGLSL:
    715710            m_Options.m_PreferGLSL = value;
    716711            MakeShadersDirty();
     
    762757            return m_Options.m_ShadowPCF;
    763758        case OPT_PARTICLES:
    764759            return m_Options.m_Particles;
    765         case OPT_GENTANGENTS:
    766             return m_Options.m_GenTangents;
    767760        case OPT_PREFERGLSL:
    768761            return m_Options.m_PreferGLSL;
    769762        case OPT_SILHOUETTES:
  • source/renderer/Renderer.h

     
    8383        OPT_SHADOWSONWATER,
    8484        OPT_SHADOWPCF,
    8585        OPT_PARTICLES,
    86         OPT_GENTANGENTS,
    8786        OPT_PREFERGLSL,
    8887        OPT_SILHOUETTES,
    8988        OPT_SHOWSKY,
     
    155154        bool m_ForceAlphaTest;
    156155        bool m_GPUSkinning;
    157156        bool m_Silhouettes;
    158         bool m_GenTangents;
    159157        bool m_SmoothLOS;
    160158        bool m_ShowSky;
    161159        bool m_Postproc;
  • source/renderer/scripting/JSInterface_Renderer.cpp

     
    3232}
    3333
    3434IMPLEMENT_BOOLEAN_SCRIPT_SETTING(PARTICLES, Particles);
    35 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(GENTANGENTS, GenTangents);
    3635IMPLEMENT_BOOLEAN_SCRIPT_SETTING(PREFERGLSL, PreferGLSL);
    3736IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERUGLY, WaterUgly);
    3837IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERFANCYEFFECTS, WaterFancyEffects);
     
    7271    REGISTER_BOOLEAN_SCRIPT_SETTING(Shadows);
    7372    REGISTER_BOOLEAN_SCRIPT_SETTING(ShadowPCF);
    7473    REGISTER_BOOLEAN_SCRIPT_SETTING(Particles);
    75     REGISTER_BOOLEAN_SCRIPT_SETTING(GenTangents);
    7674    REGISTER_BOOLEAN_SCRIPT_SETTING(PreferGLSL);
    7775    REGISTER_BOOLEAN_SCRIPT_SETTING(WaterUgly);
    7876    REGISTER_BOOLEAN_SCRIPT_SETTING(WaterFancyEffects);
  • source/renderer/scripting/JSInterface_Renderer.h

     
    3333    DECLARE_BOOLEAN_SCRIPT_SETTING(Shadows);
    3434    DECLARE_BOOLEAN_SCRIPT_SETTING(ShadowPCF);
    3535    DECLARE_BOOLEAN_SCRIPT_SETTING(Particles);
    36     DECLARE_BOOLEAN_SCRIPT_SETTING(GenTangents);
    3736    DECLARE_BOOLEAN_SCRIPT_SETTING(PreferGLSL);
    3837    DECLARE_BOOLEAN_SCRIPT_SETTING(WaterUgly);
    3938    DECLARE_BOOLEAN_SCRIPT_SETTING(WaterFancyEffects);