sjz::TrianglePainter_P4FT2F
与 sjz::P4FT2F
   可用来贴有纹理的三角形。
   P4FT2F 是 TrianglePainter_P4FT2F 所用顶点数据结构体,它有四个浮点数表示位置信息,两个浮点数表示 UV 坐标。x 与 y 是在绘图区域的像素位置,z 是深度。使用透视投影时,应将各顶点的 w 设置为与它的 z 一样;使用平行投影时,三个顶点的 w 应设为一样的非 0 数值。
   可编程管线请用 TrianglePainter

TrianglePainter_P4FT2F 的构造器:
TrianglePainter_P4FT2F(Canvas* canvas);
   对象创建后不再依赖 canvas。

TrianglePainter_P4FT2F(Canvas* canvas, sjEnum flag);
   flag 可以是
SJ_CULL_OFF_BITSJ_CULL_BACK_BITSJ_CULL_FRONT_BIT
SJ_SIFT_OFF_BITSJ_SIFT_ON_BIT
SJ_DEPTHTEST_OFF_BITSJ_DEPTHTEST_ON_BIT 位的组合。前三个选一个,设置剔除方式。后面的两个选一个,设置是否使用筛子。最后的两个选一个,设置是否开启深度检测。默认不开启剔除、筛子、深度检测。

方法:
void setFunc(sjEnum flag);
   设置对象是否开启剔除、筛子、深度检测。flag 可以是
SJ_CULL_OFF_BIT、SJ_CULL_BACK_BIT、SJ_CULL_FRONT_BIT、
SJ_SIFT_OFF_BIT、SJ_SIFT_ON_BIT、
SJ_DEPTHTEST_OFF_BIT、SJ_DEPTHTEST_ON_BIT 位的组合。

void setSifter(Sifter* sifter);
   设置筛子对象。

void setDepthBuffer(DepthBuffer*);
   设置深度缓冲对象。

void setTexture(Image* img);
   设置纹理。

void paint(const P4FC3F& p0, const P4FC3F& p1, const P4FC3F& p2);
   绘制三角形。传入三个顶点的数据。

相关:Canvas
   Sifter
   DepthBuffer
   Image
   sjEnum