1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00
GLideN64/NV_register_combiners.h
Sergey Lipskiy aec5094967 Add support for 8bit frame buffers.
Fixed dynamic shadow in Banjo-Tooie
2015-05-13 10:09:41 +06:00

62 lines
847 B
C++

#include <GL/gl.h>
struct CombinerInput
{
GLenum input;
GLenum mapping;
GLenum usage;
};
struct CombinerVariable
{
GLenum input;
GLenum mapping;
GLenum usage;
BOOL used;
};
struct GeneralCombiner
{
CombinerVariable A, B, C, D;
struct
{
GLenum ab;
GLenum cd;
GLenum sum;
} output;
};
class RegisterCombiners : public OGLCombiner
{
public:
RegisterCombiners(Combiner *_color, Combiner *_alpha);
virtual void Set();
virtual void UpdateColors();
virtual void UpdateFBInfo() {};
private:
GeneralCombiner m_color[8];
GeneralCombiner m_alpha[8];
struct
{
CombinerVariable A, B, C, D, E, F, G;
} m_final;
struct
{
WORD color, alpha;
} m_constant[2];
struct
{
WORD color, secondaryColor, alpha;
} m_vertex;
WORD m_numCombiners;
BOOL m_usesT0, m_usesT1, m_usesNoise;
};
void Init_NV_register_combiners();