我如何翻转,镜像上方/左侧镜像OBJECT,而不是onDraw方法中的屏幕?
我尝试了无效的比例(1,-1,1)
我的代码:
opengl.selectVertex(vertexname)
.translate(x-1, y, -9);
if (opengl.getPathModifier(vertexname).getAngle()>-180 &&
opengl.getPathModifier(vertexname).getAngle()<0 ) {
opengl.selectVertex(vertexname).scale(-scale,scale,1);
} else {
opengl.selectVertex(vertexname).scale(scale,scale,1);
}
opengl.rotate(opengl.getPathModifier(vertexname).getAngle()+90, 0, 0, 1);
答案 0 :(得分:15)
不是100%肯定你在这里问的是什么,但我认为你想做的是改变投影矩阵。如果你想翻转左边的东西出现在右边那么你需要将投影矩阵缩放(-1,1,1)。如果你想让顶部的东西出现在底部,你需要按(1,-1,1)缩放,如果你想要两者,你可以缩放(-1,-1,1)。
根据额外信息进行编辑:如果要做的只是显示完全相同的对象,但是翻转了纹理,则需要更改对象中顶点的纹理坐标 - 通过替换旧的纹理坐标来翻转纹理坐标u纹理坐标与1-u。
答案 1 :(得分:4)
如果您使用的是glFrustum(l,r,b,t,n,f)
,请将其更改为glFrustum(l,r,t,b,n,f)
,以防您需要垂直翻转。这也适用于glOrtho
函数。