mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-12-03 01:12:23 +00:00
- reset the viewpoint buffer only once per scene, not per viewpoint.
This doesn't work for camera textures because they are a separate viewpoint.
This commit is contained in:
parent
5e39890118
commit
22e8c57a59
2 changed files with 4 additions and 2 deletions
|
@ -135,6 +135,7 @@ FGLRenderer::~FGLRenderer()
|
||||||
|
|
||||||
if (swdrawer) delete swdrawer;
|
if (swdrawer) delete swdrawer;
|
||||||
if (mBuffers) delete mBuffers;
|
if (mBuffers) delete mBuffers;
|
||||||
|
if (mSaveBuffers) delete mSaveBuffers;
|
||||||
if (mPresentShader) delete mPresentShader;
|
if (mPresentShader) delete mPresentShader;
|
||||||
if (mPresent3dCheckerShader) delete mPresent3dCheckerShader;
|
if (mPresent3dCheckerShader) delete mPresent3dCheckerShader;
|
||||||
if (mPresent3dColumnShader) delete mPresent3dColumnShader;
|
if (mPresent3dColumnShader) delete mPresent3dColumnShader;
|
||||||
|
@ -221,6 +222,7 @@ sector_t *FGLRenderer::RenderView(player_t* player)
|
||||||
P_FindParticleSubsectors();
|
P_FindParticleSubsectors();
|
||||||
|
|
||||||
mLights->Clear();
|
mLights->Clear();
|
||||||
|
mViewpoints->Clear();
|
||||||
|
|
||||||
// NoInterpolateView should have no bearing on camera textures, but needs to be preserved for the main view below.
|
// NoInterpolateView should have no bearing on camera textures, but needs to be preserved for the main view below.
|
||||||
bool saved_niv = NoInterpolateView;
|
bool saved_niv = NoInterpolateView;
|
||||||
|
@ -322,6 +324,7 @@ void FGLRenderer::WriteSavePic (player_t *player, FileWriter *file, int width, i
|
||||||
gl_RenderState.SetVertexBuffer(mVBO);
|
gl_RenderState.SetVertexBuffer(mVBO);
|
||||||
mVBO->Reset();
|
mVBO->Reset();
|
||||||
mLights->Clear();
|
mLights->Clear();
|
||||||
|
mViewpoints->Clear();
|
||||||
|
|
||||||
// This shouldn't overwrite the global viewpoint even for a short time.
|
// This shouldn't overwrite the global viewpoint even for a short time.
|
||||||
FRenderViewpoint savevp;
|
FRenderViewpoint savevp;
|
||||||
|
|
|
@ -449,7 +449,6 @@ sector_t * FGLRenderer::RenderViewpoint (FRenderViewpoint &mainvp, AActor * came
|
||||||
// Render (potentially) multiple views for stereo 3d
|
// Render (potentially) multiple views for stereo 3d
|
||||||
// Fixme. The view offsetting should be done with a static table and not require setup of the entire render state for the mode.
|
// Fixme. The view offsetting should be done with a static table and not require setup of the entire render state for the mode.
|
||||||
auto vrmode = VRMode::GetVRMode(mainview && toscreen);
|
auto vrmode = VRMode::GetVRMode(mainview && toscreen);
|
||||||
mViewpoints->Clear();
|
|
||||||
for (int eye_ix = 0; eye_ix < vrmode->mEyeCount; ++eye_ix)
|
for (int eye_ix = 0; eye_ix < vrmode->mEyeCount; ++eye_ix)
|
||||||
{
|
{
|
||||||
const auto &eye = vrmode->mEyes[eye_ix];
|
const auto &eye = vrmode->mEyes[eye_ix];
|
||||||
|
|
Loading…
Reference in a new issue