Etterna 0.75.1
Loading...
Searching...
No Matches
Renderer.h
1#ifndef DISPLAY_RENDERER_H
2#define DISPLAY_RENDERER_H
3
4#include <string>
5#include "RageUtil/Graphics/RageDisplay.h"
6#include "RageUtil/Graphics/Display/CommandBatcher.h"
7#include "RageUtil/Graphics/RageSurface.h"
8
9namespace DisplayAdapter {
11{
12 public:
13 virtual ~Renderer() {}
14 virtual std::string GetApiDescription() const = 0;
15 virtual void InitializeRenderer(const VideoModeParams& p) = 0;
16 virtual bool IsReadyForRender() = 0;
17 virtual void OnRender(const ActualVideoModeParams* p,
18 const CommandBatcher& batcher) = 0;
19 virtual bool IsD3DInternal() = 0;
20 virtual intptr_t CreateTexture(RageSurface* img, bool RGBA8) = 0;
21 virtual void UpdateTexture(intptr_t textureHandle,
22 RageSurface* img,
23 int xOffset,
24 int yOffset,
25 int width,
26 int height) = 0;
27 virtual void DeleteTexture(intptr_t handle) = 0;
28 virtual void ClearAllTextures() = 0;
29 virtual void ResolutionChanged() = 0;
30 virtual RageSurface* CreateScreenshot() = 0;
31 virtual intptr_t CreateRenderTarget(const RenderTargetParam& param,
32 int& iTextureWidthOut,
33 int& iTextureHeightOut) = 0;
34 virtual PipelineHandle CreateGraphicsPipeline(
35 const std::string& vertexShaderPath,
36 const std::string& fragmentShaderPath) = 0;
37 virtual void ReloadPipelines() = 0;
38 virtual void TryVideoMode(const VideoModeParams& params) = 0;
39 virtual int GetMaxTextureSize() = 0;
40 virtual void RescaleBatchBuffers(size_t sizeScale) = 0;
41};
42}
43
44#endif
The actual VideoModeParams determined by the LowLevelWindow implementation. Contains all the attribut...
Definition RageDisplay.h:208
Definition CommandBatcher.h:18
Definition Renderer.h:11
The parameters used for the present Video Mode.
Definition RageDisplay.h:102
Definition PipelineHandle.h:7
Definition RageSurface.h:90
Definition RageDisplay.h:245