68 lines
1.8 KiB
C++
68 lines
1.8 KiB
C++
|
|
|
|
#ifndef PINS_H
|
|
#define PINS_H
|
|
|
|
//#include "tfxparam.h"
|
|
//#include "trop.h"
|
|
|
|
#include "trasterfx.h"
|
|
|
|
//#include "stdfx.h"
|
|
//#include "tfx.h"
|
|
//#include "tparamset.h"
|
|
#include "tgl.h"
|
|
|
|
#ifdef WIN32
|
|
#include <GL/gl.h>
|
|
#include <GL/glu.h>
|
|
#endif
|
|
|
|
//#ifdef MACOSX
|
|
//#include <GLUT/glut.h>
|
|
//#define GLUT_NO_LIB_PRAGMA
|
|
//#define GLUT_NO_WARNING_DISABLE
|
|
//#endif
|
|
|
|
///#include "offscreengl.h"
|
|
|
|
class FourPoints
|
|
{
|
|
public:
|
|
TPointD m_p00;
|
|
TPointD m_p01;
|
|
TPointD m_p10;
|
|
TPointD m_p11;
|
|
|
|
FourPoints()
|
|
: m_p00(), m_p01(), m_p10(), m_p11() {}
|
|
|
|
FourPoints(const TPointD &p00, const TPointD &p01, const TPointD &p10, const TPointD &p11)
|
|
: m_p00(p00), m_p01(p01), m_p10(p10), m_p11(p11) {}
|
|
|
|
bool operator==(const FourPoints &fp) const { return m_p00 == fp.m_p00 && m_p10 == fp.m_p10 && m_p01 == fp.m_p01 && m_p11 == fp.m_p11; }
|
|
bool operator!=(const FourPoints &fp) const { return !(*this == fp); }
|
|
};
|
|
|
|
//this function computes the perspective trasformation defined with
|
|
//-transfFrom, transfTo- (the points in transfFrom goes in transfTo)
|
|
// and applies it on the fourPoints from, and returns the result)
|
|
FourPoints computeTransformed(const FourPoints &transfFrom, const FourPoints &transfTo, const FourPoints &from);
|
|
|
|
//--------------------------------------------------------------------------------
|
|
|
|
void subdivision(const TPointD &p00,
|
|
const TPointD &p10,
|
|
const TPointD &p11,
|
|
const TPointD &p01,
|
|
const TPointD &tex00,
|
|
const TPointD &tex10,
|
|
const TPointD &tex11,
|
|
const TPointD &tex01,
|
|
const TRectD &clippingRect,
|
|
int details);
|
|
|
|
void subCompute(TRasterFxPort &m_input, TTile &tile, double frame, const TRenderSettings &ri,
|
|
TPointD p00, TPointD p01, TPointD p11, TPointD p10, int details, bool wireframe,
|
|
TDimension m_offScreenSize, bool isCast = false);
|
|
#endif
|