Pioneer
Loading...
Searching...
No Matches
RenderTargetGL.h
Go to the documentation of this file.
1// Copyright © 2008-2023 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _OGL_RENDERTARGET_H
5#define _OGL_RENDERTARGET_H
6/*
7 * Framebuffer object with switchable target textures.
8 * In theory you should use one texture format and size per FBO
9 * 2013-May-05 left out stencil buffer because we don't need it now
10 */
11#include "OpenGLLibs.h"
13
14namespace Graphics {
15
16 class RendererOGL;
17
18 namespace OGL {
19 class RenderStateCache;
20
22 public:
24 virtual Texture *GetColorTexture() const override final;
25 virtual Texture *GetDepthTexture() const override final;
26 virtual void SetCubeFaceTexture(const Uint32 face, Texture *t) override final;
27 virtual void SetColorTexture(Texture *) override final;
28 virtual void SetDepthTexture(Texture *) override final;
29
30 protected:
32 friend class RenderStateCache;
33
35 void Bind();
36 void Unbind();
38 bool CheckStatus();
39
41
43 GLuint m_fbo;
45
48 };
49
50 } // namespace OGL
51
52} // namespace Graphics
53
54#endif
Definition RenderStateCache.h:26
Definition RenderTargetGL.h:21
void Unbind()
Definition RenderTargetGL.cpp:92
virtual Texture * GetDepthTexture() const override final
Definition RenderTargetGL.cpp:47
~RenderTarget()
Definition RenderTargetGL.cpp:35
RefCountedPtr< Texture > m_depthTexture
Definition RenderTargetGL.h:47
bool CheckStatus()
Definition RenderTargetGL.cpp:98
RendererOGL * m_renderer
Definition RenderTargetGL.h:40
RefCountedPtr< Texture > m_colorTexture
Definition RenderTargetGL.h:46
bool m_active
Definition RenderTargetGL.h:42
virtual Texture * GetColorTexture() const override final
Definition RenderTargetGL.cpp:42
void Bind()
Definition RenderTargetGL.cpp:86
virtual void SetColorTexture(Texture *) override final
Definition RenderTargetGL.cpp:63
virtual void SetCubeFaceTexture(const Uint32 face, Texture *t) override final
Definition RenderTargetGL.cpp:53
GLuint m_depthRenderBuffer
Definition RenderTargetGL.h:44
GLuint m_fbo
Definition RenderTargetGL.h:43
void CreateDepthRenderbuffer()
Definition RenderTargetGL.cpp:103
virtual void SetDepthTexture(Texture *) override final
Definition RenderTargetGL.cpp:74
Definition RenderTarget.h:38
Definition RendererGL.h:37
Definition Texture.h:106
Definition RefCounted.h:36
Definition Background.h:14
Definition RenderTarget.h:20