Получить правильные координаты объекта камеры с помощью эффекта билбординга - PullRequest
0 голосов
/ 03 июля 2019

Я работаю над отображением текста в мировом пространстве с эффектом билбординга в OpenGL.

Обычное отображение:

enter image description here

С эффектом рекламного щита текстовый квад не следует красной точке.Странно, это следует, когда точки расположены вдоль оси х.Я думаю, что изменение трех верхних столбцов в матрице viewModel искажает положение объекта камеры.

Как извлечь правильные координаты квада из матрицы viewModel?

enter image description here

enter image description here

//billboard code
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aTexCoord;

out vec2 TexCoord;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

void main()
{   
    //gl_Position = projection * view  * model * vec4(aPos, 1.0f);

    mat4 mv = view*model; //viewModel matrix

    mv[0][0] = 1.0; 
    mv[0][1] = 0.0; 
    mv[0][2] = 0.0;

    mv[1][0] = 0.0; 
    mv[1][1] = 1.0; 
    mv[1][2] = 0.0;

    mv[2][0] = 0.0; 
    mv[2][1] = 0.0; 
    mv[2][2] = 1.0;

    //mv[3][0] = model[3][0]; 
    //mv[3][1] = model[3][1];
    //mv[3][2] = model[3][2];

    gl_Position = projection * mv * vec4(aPos, 1.0f);
    TexCoord = vec2(aTexCoord.x, aTexCoord.y);
}
...