qzdoom/src/swrenderer/r_swrenderer.h

48 lines
1.3 KiB
C
Raw Normal View History

2016-03-01 15:47:10 +00:00
2017-01-15 00:36:57 +00:00
#pragma once
2016-03-01 15:47:10 +00:00
2017-01-15 00:36:57 +00:00
#include "r_renderer.h"
#include "swrenderer/scene/r_scene.h"
2016-03-01 15:47:10 +00:00
struct FSoftwareRenderer : public FRenderer
{
FSoftwareRenderer();
~FSoftwareRenderer();
2016-03-01 15:47:10 +00:00
// Can be overridden so that the colormaps for sector color/fade won't be built.
bool UsesColormap() const override;
2016-03-01 15:47:10 +00:00
// precache textures
void Precache(BYTE *texhitlist, TMap<PClassActor*, bool> &actorhitlist) override;
2016-03-01 15:47:10 +00:00
// render 3D view
void RenderView(player_t *player) override;
2016-03-01 15:47:10 +00:00
// Remap voxel palette
void RemapVoxels() override;
2016-03-01 15:47:10 +00:00
// renders view to a savegame picture
void WriteSavePic (player_t *player, FileWriter *file, int width, int height) override;
2016-03-01 15:47:10 +00:00
// draws player sprites with hardware acceleration (only useful for software rendering)
void DrawRemainingPlayerSprites() override;
int GetMaxViewPitch(bool down) override;
bool RequireGLNodes() override;
void OnModeSet() override;
void SetClearColor(int color) override;
void Init() override;
void RenderTextureView (FCanvasTexture *tex, AActor *viewpoint, int fov) override;
sector_t *FakeFlat(sector_t *sec, sector_t *tempsec, int *floorlightlevel, int *ceilinglightlevel) override;
2016-03-01 15:47:10 +00:00
2017-01-15 00:36:57 +00:00
void StateChanged(AActor *actor) override;
void PreprocessLevel() override;
void CleanLevelData() override;
private:
void PrecacheTexture(FTexture *tex, int cache);
swrenderer::RenderScene mScene;
2016-03-01 15:47:10 +00:00
};