Смещение глубины GLSL и нетребовательное приближение текстуры

#glsl #webgl

Вопрос:

Я довольно новичок в GLSL, не мог бы кто-нибудь, пожалуйста, помочь мне отменить эту программу, что делает ti? В частности, что здесь означает aVertexPositionDepthOffset?

Вершинный шейдер:

 attribute vec2 aVertexPositionDepthOffset;
attribute vec2 aTextureMeta;
uniform mat4 uProjectionMatrix;
varying vec2 vTexCoord;

void main(void) {
    gl_Position=uProjectionMatrix*vec4(aVertexPositionDepthOffset,-1.0,1.0);
    vTexCoord=aTextureMeta;
}
 

Шейдер фрагментов:

 precision mediump float;

varying vec2 vTexCoord;
uniform sampler2D sSourceTex;
uniform float _db;
uniform vec4 _dd;

vec3 _lq(vec3 _lr, float _lo, float _lp) {
    return clamp((_lr - _lo) / (_lp - _lo),0.0,1.0);
}
vec3 _lw(vec3 _lr, float _ls, float _lu) {
    return mix(vec3(_ls,_ls,_ls), vec3(_lu,_lu,_lu), _lr);
}
vec3 _ly(vec3 _lr, float _lx, float _lo, float _lp, float _ls, float _lu) {
    vec3 _ma = _lq(_lr, _lo, _lp);
    vec3 _mc = clamp(pow(_ma, vec3(_lx,_lx,_lx)),0.0,1.0);
    return _lw(_mc, _ls, _lu);
}

void main(void) {
    vec3 _lr=clamp(texture2D(sSourceTex,vTexCoord).rgb,0.0,1.0);
    _lr=_ly(_lr,_db,_dd.x,_dd.y,_dd.z,_dd.w);
    gl_FragColor=vec4(_lr,1.0);
}
 

Комментарии:

1. Скорее aVertexPositionDepthOffset всего, это то, что polygonOffset (см. спецификацию WebGL ) уже делает.