我怎样才能创建对纹理渲染位置的限制。有点像你只看到一半的纹理,当另一半是在窗外。我一直在谷歌搜索这个,因为任何像“边界”或“限制”或其他任何东西将引导我到其他主题。
例如,我有一个可以用键盘移动的方块,我希望它不会渲染穿过红线的方块的任何部分:
我怎么能这样做呢?
答案 0 :(得分:2)
这通常通过以下方式实现:
答案 1 :(得分:0)
查看@Krom Stern的全面答案。我只想详细说明剪刀测试,因为看起来这就是你想要的。为了将图形输出限制为矩形区域,剪刀测试易于使用:
首先,启用剪刀测试:
glEnable(GL_SCISSOR_TEST);
然后,指定受限区域(坐标以像素为单位):
void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
更详细的信息可以在OpenGL Wiki
中找到