【问题标题】:Three.js r132 'getDirectionalDirectLightIrradiance' & 'getPointDirectLightIrradiance' no matching overloaded function found errorThree.js r132 'getDirectionalDirectLightIrradiance' & 'getPointDirectLightIrradiance' 找不到匹配的重载函数错误
【发布时间】:2021-11-07 04:15:28
【问题描述】:

我最近将 Three.js 从 r131 升级到 r132,我收到以下错误:

Program Info Log: Fragment shader is not compiled.


FRAGMENT

ERROR: 0:459: 'getDirectionalDirectLightIrradiance' : no matching overloaded function found
ERROR: 0:479: 'getPointDirectLightIrradiance' : no matching overloaded function found

我的片段着色器的相关部分如下:

    IncidentLight directLight;

    // Directional Light
    #if NUM_DIR_LIGHTS > 0

        DirectionalLight directionalLight;

        for (int i = 0; i < NUM_DIR_LIGHTS; i++) {

            directionalLight = directionalLights[i];

            getDirectionalDirectLightIrradiance(directionalLight, geometry, directLight);

            #ifdef USE_SHADOWMAP
                directLight.color *= all(bvec2(directionalLight.shadow, directLight.visible)) ? getShadow(directionalShadowMap[i], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[i]) : 1.0;
            #endif

            RE_Direct(directLight, geometry, material, reflectedLight);
        }

    #endif

    // Point Light
    #if (NUM_POINT_LIGHTS > 0)

        PointLight pointLight;

        for (int i = 0; i < NUM_POINT_LIGHTS; i++) {

            pointLight = pointLights[i];

            getPointDirectLightIrradiance(pointLight, geometry, directLight);

            #ifdef USE_SHADOWMAP
                directLight.color *= all(bvec2(pointLight.shadow, directLight.visible)) ? getPointShadow(pointShadowMap[i], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[i]) : 1.0;
            #endif

            RE_Direct(directLight, geometry, material, reflectedLight);
        }

    #endif

【问题讨论】:

    标签: three.js fragment-shader


    【解决方案1】:

    查看最近的commit,似乎他们将getDirectionalDirectLightIrradiance 重命名为getDirectionalLightInfo,并将getPointDirectLightIrradiance 重命名为getPointLightInfo 等等。

    重命名这些方法解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2020-09-02
      • 2020-09-22
      相关资源
      最近更新 更多