mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-12-16 07:10:53 +00:00
62 lines
1.9 KiB
C++
62 lines
1.9 KiB
C++
|
|
#pragma once
|
|
|
|
#include "r_drawerargs.h"
|
|
|
|
struct FSWColormap;
|
|
struct FLightNode;
|
|
|
|
namespace swrenderer
|
|
{
|
|
class RenderThread;
|
|
|
|
class SkyDrawerArgs : public DrawerArgs
|
|
{
|
|
public:
|
|
void SetDest(RenderViewport *viewport, int x, int y);
|
|
void SetCount(int count) { dc_count = count; }
|
|
void SetFrontTexture(RenderThread *thread, FTexture *texture, uint32_t column);
|
|
void SetBackTexture(RenderThread *thread, FTexture *texture, uint32_t column);
|
|
void SetTextureVPos(uint32_t texturefrac) { dc_texturefrac = texturefrac; }
|
|
void SetTextureVStep(uint32_t iscale) { dc_iscale = iscale; }
|
|
void SetSolidTop(uint32_t color) { solid_top = color; }
|
|
void SetSolidBottom(uint32_t color) { solid_bottom = color; }
|
|
void SetFadeSky(bool enable) { fadeSky = enable; }
|
|
|
|
uint8_t *Dest() const { return dc_dest; }
|
|
int DestY() const { return dc_dest_y; }
|
|
int Count() const { return dc_count; }
|
|
|
|
uint32_t TextureVPos() const { return dc_texturefrac; }
|
|
uint32_t TextureVStep() const { return dc_iscale; }
|
|
|
|
uint32_t SolidTopColor() const { return solid_top; }
|
|
uint32_t SolidBottomColor() const { return solid_bottom; }
|
|
bool FadeSky() const { return fadeSky; }
|
|
|
|
const uint8_t *FrontTexturePixels() const { return dc_source; }
|
|
const uint8_t *BackTexturePixels() const { return dc_source2; }
|
|
int FrontTextureHeight() const { return dc_sourceheight; }
|
|
int BackTextureHeight() const { return dc_sourceheight2; }
|
|
|
|
RenderViewport *Viewport() const { return dc_viewport; }
|
|
|
|
void DrawSingleSkyColumn(RenderThread *thread);
|
|
void DrawDoubleSkyColumn(RenderThread *thread);
|
|
|
|
private:
|
|
uint8_t *dc_dest = nullptr;
|
|
int dc_dest_y = 0;
|
|
int dc_count = 0;
|
|
const uint8_t *dc_source;
|
|
const uint8_t *dc_source2;
|
|
uint32_t dc_sourceheight;
|
|
uint32_t dc_sourceheight2;
|
|
uint32_t dc_texturefrac;
|
|
uint32_t dc_iscale;
|
|
uint32_t solid_top;
|
|
uint32_t solid_bottom;
|
|
bool fadeSky;
|
|
RenderViewport *dc_viewport = nullptr;
|
|
};
|
|
}
|