0

我一直在尝试在 OpenGL 中制作 ImageViewer。但我不知道如何在 OpenGL 中隐藏我的矢量/纹理的特定部分。

ImageViewer 应该是启用分页的 UIScrollView 的精确副本,其中图像填满整个屏幕。

UIScrollView 的巧妙之处在于您可以设置 UIScrollView 的实际框架,并设置内容大小,因此当图像滑出框架时,您将无法再看到图像。

我需要一些指导方针,这样我才能继续研究该怎么做。

4

2 回答 2

1

也许您可以设置片段着色器以使像素超出范围时不可见。

您知道 4 个顶点的位置(左上、右上、左下、右下)和纹理的位置。然后,您可以将统一的 vec4 上传到包含窗口的最小和最大 x 和 y 大小的片段着色器。然后,您计算一个像素是在该区域之内还是之外。如果在里面:实际颜色,如果在外面:gl_fragcolor=vec4(1,1,1,0);

这有什么帮助吗?

于 2013-06-03T16:49:10.393 回答
0

我自己找到了解决方案。

我放置了一个填充整个屏幕的 UIScrollView,并使用该偏移量来移动纹理坐标。

我不知道这是否是最佳解决方案,但我没有任何性能问题等。所以现在已经足够好了。

如果您有更好的解决方案,请随时提出建议。

于 2013-06-04T09:34:51.907 回答