RenderMonkey / GLSL камера и обзор

Как заставить видоискатель vec3 следовать значениям камеры? Предположительно они должны быть одинаковыми, но я не знаю, как получить доступ к значениям положения камеры.

1 ответ

Если я вас правильно понял, вы хотите узнать положение камеры в мировом пространстве.

Если это так, то это довольно просто: 1. Щелкните правой кнопкой мыши свой эффект в рабочей области и выберите: Добавить переменную> Float > Predefined > vViewPosition

  1. Определите это в своем шейдере следующим образом:

    uniform vec4 vViewPosition;
    
  2. Используйте его так, как вам нравится. Пример вершинного шейдера:

    uniform vec4 vViewPosition;
    
    void main( void )
    {
        gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
        float dist = distance(gl_Vertex.xyz, vViewPosition.xyz);
    }
    

Я надеюсь, что это помогло.

Другие вопросы по тегам