gpt4 book ai didi

android - 打开 gles 2 着色器性能

转载 作者:行者123 更新时间:2023-11-30 04:05:27 25 4
gpt4 key购买 nike

我正在用 android 制作游戏,但颜色太亮而且我无法更改 Sprite ,所以我决定实现一个着色器:

const char* fETCShader = "\
uniform mediump sampler2D sTexture
uniform mediump sampler2D sTexture_alpha
\
varying mediump vec4 vColor
varying mediump vec2 vTexCoord
uniform lowp mat4 cCorrection
\
void main()\
{\
lowp vec4 color = vec4(texture2D(sTexture, vTexCoord).rgb, texture2D(sTexture_alpha, vTexCoord).r) * vColor
gl_FragColor = cCorrection * color
}"

但是 fps 急剧下降(比如 20)

有谁知道是否存在成本较低的操作来执行此操作。

谢谢。

最佳答案

不要使用分别具有 3 个 channel 和 1 个 channel 的 2 个纹理,只需制作一个 4 channel RGBA 纹理,这样您只需进行 1 次纹理获取。

手机上的 fragment 着色器很快成为瓶颈。始终尽量减少 fragment 着色器必须完成的工作量。

你的着色器看起来像这样:

const char* fETCShader = "\
uniform mediump sampler2D sTexture
uniform mediump sampler2D sTexture_alpha
\
varying mediump vec4 vColor
varying mediump vec2 vTexCoord
uniform lowp mat4 cCorrection
\
void main()\
{\
gl_FragColor = cCorrection * texture2D(sTexture, vTexCoord) * vColor;
}"

关于android - 打开 gles 2 着色器性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11748655/

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