1

OpenGL コア 3.3 でシャドウ マップを実装しようとしています。GLSL のテクスチャ関数にバイアスを送信すると、まったく何もしないようです。私はそれを間違って使用していますか?

#version 330
uniform sampler2D diffusetex;
uniform sampler2D normaltex;
uniform sampler2D postex;
uniform sampler2D depthtex;

uniform sampler2DShadow shadowmap;
uniform mat4 shadowmat;

in vec2 uv;

layout (location=0) out vec4 outColor;


void main(){
    vec3 normal = normalize(texture(normaltex, uv).xyz);
    vec3 world_position = texture(postex, uv).xyz;

    vec4 shadowcoord = shadowmat*vec4(world_position, 1);
    float shadow = texture(shadowmap, shadowcoord.xyz,0.5);

    float luma = max(0.1,shadow);//ambient light
    outColor = texture(diffusetex, uv)*luma;
}

Linux、nvidia 独自のドライバー、および golang を使用しています。それと関係があるとは思えませんが、念のために言っておきます。

4

1 に答える 1