【发布时间】:2010-08-28 04:54:17
【问题描述】:
鉴于我做了这样的事情:
void glOrtho( GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble nearVal,
GLdouble farVal);
结果是:http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xmlw 我可以实现这样的矩阵吗:
http://cairographics.org/manual/cairo-matrix.html
我试过了:
cairo_matrix_t mat;
mat.xx = 2 / (right - left);
mat.yx = 0;
mat.xy = 2 / (top - bottom);
mat.yy = 0;
mat.x0 = 0;
mat.y0 = 0;
cairo_set_matrix(cr,&mat);
但它没有工作。我怎样才能获得 GlOrtho 在开罗制作的相同矩阵? 谢谢
【问题讨论】:
-
我不知道 Cairo,但看起来
cairo_matrix_t是一个 3x3 矩阵,而不是像 OpenGL 那样的 4x4。如果您的观点类似于( x y 1 )(我也不知道 Cairo),您必须删除 GL 矩阵的第三行和第三列,而不是第四行 -
那我应该怎么做才能让它适用于 3x3?
-
但它只有 6 个双打,而不是 9 个