mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
Restore logic for uTexOffset uniform.
fixed #2621 Mario tennis broken shadows in accurate path
This commit is contained in:
parent
506f263c13
commit
8343fd05c9
|
@ -1,6 +1,7 @@
|
||||||
#include "glsl_CombinerProgramUniformFactoryAccurate.h"
|
#include "glsl_CombinerProgramUniformFactoryAccurate.h"
|
||||||
|
|
||||||
#include <Config.h>
|
#include <Config.h>
|
||||||
|
#include <FrameBuffer.h>
|
||||||
#include <Textures.h>
|
#include <Textures.h>
|
||||||
#include <DisplayWindow.h>
|
#include <DisplayWindow.h>
|
||||||
#include <Debugger.h>
|
#include <Debugger.h>
|
||||||
|
@ -249,7 +250,7 @@ public:
|
||||||
if (!m_useTile[t])
|
if (!m_useTile[t])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const gDPTile * pTile = gSP.textureTile[t];
|
gDPTile * pTile = gSP.textureTile[t];
|
||||||
CachedTexture * pTexture = cache.current[t];
|
CachedTexture * pTexture = cache.current[t];
|
||||||
if (pTile == nullptr || pTexture == nullptr)
|
if (pTile == nullptr || pTexture == nullptr)
|
||||||
continue;
|
continue;
|
||||||
|
@ -261,8 +262,21 @@ public:
|
||||||
aShiftScale[t][1] = calcShiftScaleT(*pTile);
|
aShiftScale[t][1] = calcShiftScaleT(*pTile);
|
||||||
|
|
||||||
if (pTile->textureMode != TEXTUREMODE_BGIMAGE && pTile->textureMode != TEXTUREMODE_FRAMEBUFFER_BG) {
|
if (pTile->textureMode != TEXTUREMODE_BGIMAGE && pTile->textureMode != TEXTUREMODE_FRAMEBUFFER_BG) {
|
||||||
aTexOffset[t][0] = pTile->fuls;
|
float fuls = pTile->fuls;
|
||||||
aTexOffset[t][1] = pTile->fult;
|
float fult = pTile->fult;
|
||||||
|
if (pTile->frameBufferAddress > 0u) {
|
||||||
|
FrameBuffer * pBuffer = frameBufferList().getBuffer(pTile->frameBufferAddress);
|
||||||
|
if (pBuffer != nullptr) {
|
||||||
|
if (pTile->masks > 0 && pTile->clamps == 0u)
|
||||||
|
fuls = float(pTile->uls % (1 << pTile->masks));
|
||||||
|
if (pTile->maskt > 0 && pTile->clampt == 0u)
|
||||||
|
fult = float(pTile->ult % (1 << pTile->maskt));
|
||||||
|
} else {
|
||||||
|
pTile->frameBufferAddress = 0u;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
aTexOffset[t][0] = fuls;
|
||||||
|
aTexOffset[t][1] = fult;
|
||||||
}
|
}
|
||||||
|
|
||||||
aHDRatio[t][0] = pTexture->hdRatioS;
|
aHDRatio[t][0] = pTexture->hdRatioS;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user