Merge branch 'master' into modern
# Conflicts: # src/gl/renderer/gl_renderer.cpp # src/gl/renderer/gl_renderer.h # src/gl/renderer/gl_renderstate.h # src/gl/system/gl_framebuffer.cpp # src/gl/system/gl_framebuffer.h
This commit is contained in:
commit
33ee0f3c27
15 changed files with 205 additions and 138 deletions
|
|
@ -260,6 +260,26 @@ sector_t *FGLRenderer::RenderView(player_t* player)
|
|||
return retsec;
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
//
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
void FGLRenderer::BindToFrameBuffer(FMaterial *mat)
|
||||
{
|
||||
auto BaseLayer = static_cast<FHardwareTexture*>(mat->GetLayer(0));
|
||||
|
||||
if (BaseLayer == nullptr)
|
||||
{
|
||||
// must create the hardware texture first
|
||||
BaseLayer->BindOrCreate(mat->sourcetex, 0, 0, 0, 0);
|
||||
FHardwareTexture::Unbind(0);
|
||||
gl_RenderState.ClearLastMaterial();
|
||||
}
|
||||
BaseLayer->BindToFrameBuffer(mat->GetWidth(), mat->GetHeight());
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// Camera texture rendering
|
||||
|
|
@ -274,7 +294,7 @@ void FGLRenderer::RenderTextureView(FCanvasTexture *tex, AActor *Viewpoint, doub
|
|||
int height = gltex->TextureHeight();
|
||||
|
||||
StartOffscreen();
|
||||
gltex->BindToFrameBuffer();
|
||||
BindToFrameBuffer(gltex);
|
||||
|
||||
IntRect bounds;
|
||||
bounds.left = bounds.top = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue