0

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

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

谢谢。

4

1 回答 1

0

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

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

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

于 2013-06-12T07:20:18.347 回答