mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 01:11:44 +00:00
cae710bd59
Not only is this a deprecated feature - it also does not work right when complex lighting is at play, it must be done in the shader to get proper results.
47 lines
1 KiB
C++
47 lines
1 KiB
C++
#pragma once
|
|
|
|
#include "PalEntry.h"
|
|
#include "gl_buffers.h"
|
|
class PolymostShader;
|
|
|
|
enum PRSFlags
|
|
{
|
|
RF_ColorOnly = 1,
|
|
RF_UsePalette = 2,
|
|
RF_DetailMapping = 4,
|
|
RF_GlowMapping = 8,
|
|
RF_Brightmapping = 16,
|
|
RF_NPOTEmulation = 32,
|
|
RF_ShadeInterpolate = 64,
|
|
RF_FogDisabled = 128,
|
|
|
|
RF_HICTINT_Grayscale = 0x10000,
|
|
RF_HICTINT_Invert = 0x20000,
|
|
RF_HICTINT_Colorize = 0x40000,
|
|
RF_HICTINT_BLEND_Screen = 0x80000,
|
|
RF_HICTINT_BLEND_Overlay = 0x100000,
|
|
RF_HICTINT_BLEND_Hardlight = 0x200000,
|
|
RF_HICTINT_BLENDMASK = RF_HICTINT_BLEND_Screen | RF_HICTINT_BLEND_Overlay | RF_HICTINT_BLEND_Hardlight,
|
|
};
|
|
|
|
struct PolymostRenderState
|
|
{
|
|
float Shade;
|
|
float NumShades = 64.f;
|
|
float ShadeDiv = 62.f;
|
|
float VisFactor = 128.f;
|
|
int Flags = 0;
|
|
float NPOTEmulationFactor = 1.f;
|
|
float NPOTEmulationXOffset;
|
|
float Brightness = 1.f;
|
|
float AlphaThreshold = 0.5f;
|
|
bool AlphaTest = true;
|
|
|
|
PalEntry FogColor;
|
|
|
|
IVertexBuffer* VertexBuffer = nullptr;
|
|
int VB_Offset[2] = {};
|
|
IIndexBuffer* IndexBuffer = nullptr;
|
|
|
|
void Apply(PolymostShader *shader);
|
|
};
|