Как исправить нераспознанную версию OpenGL в моем шейдере? - PullRequest
0 голосов
/ 18 декабря 2018

Я создал файл brdf, но затем я пытаюсь открыть его в обозревателе BRDF, в файле brdf.exe появляется следующее сообщение.

Открытие BRDF версии 1.0.0 ./probes/beach.penv Нераспознанная версия OpenGL

У моего кода были некоторые проблемы, но с помощью команды stackoverflow я исправил.Однако есть еще одна проблема.Может кто-нибудь посоветовать, как это исправить?

это мой код

analytic

::begin parameters

float baseColor 0.001 .2 .1

float m 0.001 0.1 1.0

::end parameters

::begin shader

const float PI = 3.14;

    float Fresnel(float baseColor, float l, float h)
    {
        return baseColor + ( 1 - baseColor ) * pow( 1 - (h), 5);
    }

    float ggx_visib(float dotNV, float m2) 
    { 
        return 1.0/(dotNV*(1.0-m2)+m2); 
    }

    vec3 BRDF( vec3 N, vec3 V, vec3 L, float m, float baseColor)
    {
        vec3 H = normalize(V+L);

        float dotNL = clamp(dot(N,L), 0.0, 1.0);
        float dotLH = clamp(dot(L,H), 0.0, 1.0);
        float dotNH = clamp(dot(N,H), 0.0, 1.0);

        float DotNH2 = dotNH * dotNH;
        float m2 = m * m;
        float D =  m2 / (PI * pow(dotNH * dotNH * (m2 - 1) + 1, 2.0));


        float F = Fresnel(baseColor, dotNH);

        float g1o =ggx_visib(m, dotNH);
        float g1o =ggx_visib(m, dotNV);
        float G = g1i * g1o;



    D * G * F * (1.0 / (4.0 * dotNL * dotNH));


    }
::end shader
...