EAGLView中的UIImage,不转换为纹理

时间:2013-06-11 12:24:08

标签: ios xcode opengl-es

我想询问是否可以在EAGLView中在3D空间中渲染UIImage而不将其转换为纹理并首先生成纹理。

你可以猜到,这就是我现在所做的,但这给了我一些问题。纹理不能大于2048x2048(取决于我知道的硬件?),这意味着我需要创建自己的子视图平铺,如果我要显示更多的图片(纹理)。

感谢。

1 个答案:

答案 0 :(得分:0)

这是一个有点奇怪的问题..答案是肯定的,但我不会去那里。例如,您可以创建一个点云,将每个像素绘制为openGL中的一个点。这将导致无限的纹理数据大小,但在顶点着色器上会非常沉重。您需要做的就是从图像中绑定一个颜色数组指针,并为图像的每个像素创建顶点数组(甚至可以通过缓冲区将这些数据推送到GPU)。

同样,我不会去那里,我从未尝试过这个。从头顶可能会或可能不会出现的一些问题是数据溢出(绘制点太多),性能问题,放大(可能导致空像素),缩小(可能导致像素重叠)。

总的来说,我会说平铺是要走的路。