Commit e8efb04b authored by Byurrrer's avatar Byurrrer

доабвил функцию полчения статуса библиотеки sxmtrl, теперь генератор превью не...

доабвил функцию полчения статуса библиотеки sxmtrl, теперь генератор превью не вылетает, добавил дополнительную очистку уровня при загрузке уровня, исправил несколько шейдеров материалов
parent 6bdd23cb
......@@ -29,7 +29,7 @@ PSO_Gbuffer main(VSO_SceneCommon IN)
half3 vNormal = MixNormalMicro(IN.vNormal, Color2Normal(tex2D(g_sNormals0, IN.vTexUV).rgb) * g_vParam.z);
return CreateGbuffer(
MixColorDetail(tex2D(g_sColor,IN.vTexUV), tex2D(DetTex, IN.vTexUV * g_vParam.x * MTRL_TEXUV_SCALE), GetLerpFactorDetail(IN.vPos.z)),
MixColorDetail(tex2D(g_sColor,IN.vTexUV), tex2D(g_sDetails0, IN.vTexUV * g_vParam.x * MTRL_TEXUV_SCALE), GetLerpFactorDetail(IN.vPos.z)),
vNormal,
tex2D(g_sParameters,IN.vTexUV),
IN.vPos,
......
......@@ -42,7 +42,7 @@ PSO_Gbuffer main(VSO_WaterPlane IN)
vNormal2.z = IN.vNormal.z;
half3 vNormal = normalize(vNormal1+vNormal2+IN.vNormal);
half3 vNormalOffset = normalize(Color2Normal(tex2D(g_sDetails0,IN.vTexUV2.xy)) + Color2Normal(tex2D(g_sDetails0,IN.Tex3.xy * 0.5)))*g_vParam.x;
half3 vNormalOffset = normalize(Color2Normal(tex2D(g_sDetails0,IN.vTexUV2.xy)) + Color2Normal(tex2D(g_sDetails0,IN.vTexUV3.xy * 0.5)))*g_vParam.x;
IN.vTexUV += vNormalOffset.xy*0.5;
half4 vColor = tex2D(g_sColor, IN.vTexUV);
......
......@@ -434,7 +434,7 @@ void ModelFile::render(SMMATRIX * mWorld, UINT nSkin, UINT nLod, ID idOverrideMa
{
idMat = ID_VALID(idOverrideMaterial) ? idOverrideMaterial : m_iMaterials[nSkin][m_pLods[nLod].pSubLODmeshes[i].iMaterialID].iMat;
if(SMtrl_MtlGetUseDestColor(idMat))
if (SMtrl_AisInit() && SMtrl_MtlGetUseDestColor(idMat))
{
if(bUseGlow)
{
......
......@@ -48,6 +48,8 @@ void CLevel::clear()
void CLevel::load(const char *szName, bool isGame)
{
clear();
LibReport(REPORT_MSG_LEVEL_NOTICE, "load level '%s' ...\n", szName);
sprintf(m_szName, "%s", szName);
......
......@@ -65,6 +65,11 @@ SX_LIB_API void SMtrl_AKill()
mem_delete(ArrMaterials);
}
SX_LIB_API bool SMtrl_AisInit()
{
return (ArrMaterials ? true : false);
}
SX_LIB_API void SMtrl_OnLostDevice()
{
ML_PRECOND(_VOID);
......
......@@ -51,6 +51,9 @@ SX_LIB_API void SMtrl_0Create(
//! уничтожить подсистему
SX_LIB_API void SMtrl_AKill();
//! возвращает статус инициализации библиотеки?
SX_LIB_API bool SMtrl_AisInit();
//!@}
/*! \name Обработка потери/восстановления устройства
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment