mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-16 07:21:28 +00:00
66 lines
1 KiB
C
66 lines
1 KiB
C
|
#ifndef __GL_LIGHTBUFFER_H
|
||
|
#define __GL_LIGHTBUFFER_H
|
||
|
|
||
|
#if 0
|
||
|
class ADynamicLight;
|
||
|
|
||
|
const int MAX_DYNLIGHTS = 40000; // should hopefully be enough
|
||
|
|
||
|
struct FLightRGB
|
||
|
{
|
||
|
unsigned char R,G,B,Type; // Type is 0 for normal, 1 for additive and 2 for subtractive
|
||
|
};
|
||
|
|
||
|
struct FLightPosition
|
||
|
{
|
||
|
float X,Z,Y,Distance;
|
||
|
};
|
||
|
|
||
|
class FLightBuffer
|
||
|
{
|
||
|
unsigned int mIDbuf_RGB;
|
||
|
unsigned int mIDbuf_Position;
|
||
|
|
||
|
unsigned int mIDtex_RGB;
|
||
|
unsigned int mIDtex_Position;
|
||
|
|
||
|
public:
|
||
|
FLightBuffer();
|
||
|
~FLightBuffer();
|
||
|
//void MapBuffer();
|
||
|
//void UnmapBuffer();
|
||
|
void BindTextures(int uniloc1, int uniloc2);
|
||
|
//void AddLight(ADynamicLight *light, bool foggy);
|
||
|
void CollectLightSources();
|
||
|
};
|
||
|
|
||
|
class FLightIndexBuffer
|
||
|
{
|
||
|
unsigned int mIDBuffer;
|
||
|
unsigned int mIDTexture;
|
||
|
|
||
|
TArray<unsigned short> mBuffer;
|
||
|
|
||
|
public:
|
||
|
|
||
|
FLightIndexBuffer();
|
||
|
~FLightIndexBuffer();
|
||
|
void AddLight(ADynamicLight *light);
|
||
|
void SendBuffer();
|
||
|
void BindTexture(int loc1);
|
||
|
|
||
|
void ClearBuffer()
|
||
|
{
|
||
|
mBuffer.Clear();
|
||
|
}
|
||
|
|
||
|
int GetLightIndex()
|
||
|
{
|
||
|
return mBuffer.Size();
|
||
|
}
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#endif
|