#ifndef _VIDEO_RDPTRI_H_
#define _VIDEO_RDPTRI_H_
#include "emu.h"
namespace N64
{
namespace RDP
{
class MiscState;
class Processor;
class Triangle
{
public:
Triangle() { fatalerror("Please don't use the default constructor for N64::RDP::Triangle\n"); }
Triangle(running_machine &machine, bool shade, bool texture, bool zbuffer, bool rect, bool flip);
void InitFromData(running_machine& machine, bool shade, bool texture, bool zbuffer, bool rect, bool flip);
void Draw();
private:
void compute_cvg_noflip(INT32* majorx, INT32* minorx, INT32* majorxint, INT32* minorxint, INT32 scanline, INT32 yh, INT32 yl);
void compute_cvg_flip(INT32* majorx, INT32* minorx, INT32* majorxint, INT32* minorxint, INT32 scanline, INT32 yh, INT32 yl);
running_machine* m_machine;
UINT32* m_cmd_data;
MiscState* m_misc_state;
Processor* m_rdp;
bool m_shade;
bool m_texture;
bool m_zbuffer;
bool m_rect;
};
} // namespace RDP
} // namespace N64
#endif // _VIDEO_RDPTRI_H_