- major shader rework
* handle brightmaps in the main shader instead of keeping separate instances around. * added detail and glow layers from Raze. * fixed material setup which could not guarantee that everything was initialized correctly. * for warped textures, warp all layers. With this brightmaps finally work on warped textures. Note: Vulkan reports a "device lost" error with this which still needs to be investigated.
This commit is contained in:
parent
b5c88957f0
commit
8381092cce
31 changed files with 293 additions and 134 deletions
|
|
@ -126,7 +126,10 @@ bool FGLRenderState::ApplyShader()
|
|||
|
||||
activeShader->muDesaturation.Set(mStreamData.uDesaturationFactor);
|
||||
activeShader->muFogEnabled.Set(fogset);
|
||||
activeShader->muTextureMode.Set(mTextureMode == TM_NORMAL && mTempTM == TM_OPAQUE ? TM_OPAQUE : mTextureMode);
|
||||
|
||||
int f = mTextureModeFlags;
|
||||
if (!mBrightmapEnabled) f &= TEXF_Detailmap;
|
||||
activeShader->muTextureMode.Set((mTextureMode == TM_NORMAL && mTempTM == TM_OPAQUE ? TM_OPAQUE : mTextureMode) | f);
|
||||
activeShader->muLightParms.Set(mLightParms);
|
||||
activeShader->muFogColor.Set(mStreamData.uFogColor);
|
||||
activeShader->muObjectColor.Set(mStreamData.uObjectColor);
|
||||
|
|
@ -141,6 +144,7 @@ bool FGLRenderState::ApplyShader()
|
|||
activeShader->muTextureAddColor.Set(mStreamData.uTextureAddColor);
|
||||
activeShader->muTextureModulateColor.Set(mStreamData.uTextureModulateColor);
|
||||
activeShader->muTextureBlendColor.Set(mStreamData.uTextureBlendColor);
|
||||
activeShader->muDetailParms.Set(&mStreamData.uDetailParms.X);
|
||||
|
||||
if (mGlowEnabled || activeShader->currentglowstate)
|
||||
{
|
||||
|
|
@ -166,6 +170,7 @@ bool FGLRenderState::ApplyShader()
|
|||
activeShader->currentsplitstate = mSplitEnabled;
|
||||
}
|
||||
|
||||
|
||||
if (mTextureMatrixEnabled)
|
||||
{
|
||||
matrixToGL(mTextureMatrix, activeShader->texturematrix_index);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue