gpt4 book ai didi

opengl-es - Photoshop 混合模式到 OpenGL ES(无需着色器)

转载 作者:行者123 更新时间:2023-12-02 23:29:53 25 4
gpt4 key购买 nike

我需要在 OpenGL ES 1.1 代码中模仿 Photoshop 混合模式(“乘法”、“屏幕”等)(没有着色器)。

有一些文档介绍如何使用 HLSL 执行此操作:

我至少需要工作屏幕模式。

我可以查看固定管道上的任何实现吗?

最佳答案

大多数 Photoshop 混合模式都基于 Porter-Duff 混合模式。

这些要求所有图像(纹理、渲染缓冲区)都位于预乘的颜色空间中。这通常是通过将所有像素值与 alpha 值相乘然后将它们存储在纹理中来完成的。例如。完全透明的像素在非预乘色彩空间中看起来像黑色。如果您不熟悉这种色彩空间,请花一两个小时在网上阅读相关内容。这是一个简洁而好的概念,是类似 Photoshop 的构图所必需的。

无论如何 - 一旦您拥有该格式的图像,您就可以使用以下方法启用 SCREEN:

glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR)

OpenGL | ES 管道无法实现完整的 MULTIPLY 模式。如果您只使用完全不透明的像素,您可以使用以下方法来伪造它:

glBlendFunc(GL_ZERO, GL_SRC_COLOR)

纹理和帧缓冲区中透明像素的结果将是错误的。

关于opengl-es - Photoshop 混合模式到 OpenGL ES(无需着色器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/818230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com