gpt4 book ai didi

opengl - 如何将颜色变换矩阵应用于 OpenGL 中的纹理

转载 作者:行者123 更新时间:2023-12-04 07:07:38 24 4
gpt4 key购买 nike

基本上,我已经定义了一个颜色矩阵:

struct ColourXForm
{
float4 mul;
float4 add;

float4 Transform(float4 colour)
{
return float4(
colour.x * mul.x + add.x,
colour.y * mul.y + add.y,
colour.z * mul.z + add.z,
colour.w * mul.w + add.w);
}
}

我想要做的是将“变换”函数应用于纹理中的每个像素,因为它被渲染到屏幕上。我实际上无法修改纹理,因为可以在一帧中多次将不同的颜色变换矩阵应用于同一图像(并且在渲染纹理之前我不知道将应用什么),而且我可以'也不要使用着色器。

鉴于这些要求,有没有办法做到这一点? (到目前为止我唯一的想法是多纹理,但不知道如何应用它)

另外,我是 OpenGL 的新手,因此发布一些代码或将我指向教程甚至所需的函数/参数也会有所帮助。

谢谢

编辑:我还应该提到的一件事是,纹理包含预乘 alpha,因此混合设置为 glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);

最佳答案

如果不是着色器(疯狂的需求,家庭作业或非 PC 平台?)那么你可能可以使用纹理阶段或其他东西来设置它。你的函数很简单(tex * a + b)所以它应该是可行的,虽然不是很有趣。 :-P

关于opengl - 如何将颜色变换矩阵应用于 OpenGL 中的纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/886736/

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