OpenGL ES 1.x 根据主内存中的位图混合两个纹理
我有两个纹理(1024x1024,完全 MipMapped,均为 PVRTC-4bitsPerPixel 压缩)。纹理应用于 3D 网格。
在 CPU 上,我正在更新 512x512 布尔数组。
现在我想相对于这个布尔数组将纹理 2 混合到纹理 1 上(true 表示纹理 1 的相应 4 个像素可见,false 表示其他纹理在此位置可见)
我的硬件有两个可用的纹理单元。
我怎样才能做到这一点?
I have two textures (1024x1024, fully MipMapped, both PVRTC-4bitsPerPixel compressed). The Textures are applied on a 3D mesh.
On the CPU I'm updating a 512x512 boolean array.
Now I want to blend texture 2 over texture 1 with respect to this boolean array (true means the respective 4 pixels of texture1 are visible, false means the other texture is visible at this location)
My hardware has two texture units available.
How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以为此使用特定的着色器。如果您有 tex1、tex2 和 texbool:
片段着色器可能类似于:
我没有测试您的示例,但我将如何开始找到解决方案:)
You can use a specific shader for that. If you have tex1, tex2, and texbool:
The fragment shader can be something like:
I didn't test for your example, but that how i'll start to found a solution :)