小编Kai*_*yra的帖子

GLSL和GPU片段着色器执行中的求和区域表

我正在尝试计算我在GPU内存中的纹理(相机捕获)的积分图像(也称为求和区域表),目标是计算所述图像的自适应阈值.我正在使用OpenGL ES 2.0,还在学习:).

我用一个简单的高斯模糊着色器(垂直/水平通过)进行了测试,它工作正常,但我需要一个更大的可变平均面积来获得满意的结果.

我之前在CPU上实现了该算法的一个版本,但是我对如何在GPU上实现它有点困惑.我尝试对每个片段做一个(完全不正确的)测试,例如:

#version 100
#extension GL_OES_EGL_image_external : require

precision highp float;
uniform sampler2D           u_Texture;      // The input texture.
varying lowp vec2           v_TexCoordinate;    // Interpolated texture     coordinate per fragment.
uniform vec2                u_PixelDelta;           // Pixel delta

void main()
{
    // get neighboring pixels values
    float center = texture2D(u_Texture, v_TexCoordinate).r;
    float a = texture2D(u_Texture, v_TexCoordinate + vec2(u_PixelDelta.x * -1.0, 0.0)).r;
    float b = texture2D(u_Texture, v_TexCoordinate + vec2(0.0, u_PixelDelta.y * 1.0)).r;
    float c = texture2D(u_Texture, v_TexCoordinate + vec2(u_PixelDelta.x * -1.0, u_PixelDelta.y …
Run Code Online (Sandbox Code Playgroud)

shader gpu opengl-es glsl

2
推荐指数
1
解决办法
873
查看次数

标签 统计

glsl ×1

gpu ×1

opengl-es ×1

shader ×1