Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[OpenGL] Projection 2D

Ostatnio zmodyfikowano 2016-08-14 19:52
Autor Wiadomość
marcolo2307
Temat założony przez niniejszego użytkownika
[OpenGL] Projection 2D
» 2016-08-14 19:52:48
Cześć!

Mam problem z wyświetleniem prostokąta w 2D.

Vertex Shader:
C/C++
#version 440 core

layout( location = 0 ) in vec2 vPosition;

uniform mat4 uModel;
uniform mat4 uProjection;

void main()
{
    gl_Position = uProjection * uModel * vec4( vPosition, 0.0f, 1.0f ); // uProjection powoduje, ze sie nie wyswietla
}

glViewport( 0, 0, 1920, 1080 );

C/C++
glm::mat4 projection = glm::ortho( 0.0f, 1920.0f, 1080.0f, 0.0f ); //uzywalem tez argumentow near i far na -1.0f i 1.0f

Ustawianie uniformów itd. działa, problem jest przy mnożeniu przez uProjection. Przy wartościach -1 do 1 nie ma problemu. Przy większych nic nie widać.

Sprawdzałem także
projection = glm::perspective( 45.0f, 1920.0f / 1080.0f, 0.1f, 100.0f );
 i również nic nie widziałem.

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Obraz jest po prostu tak mały. Tworząc go w tablicy wierzchołków, wartości wynoszą od -1.0 do 1.0. Po pomnożeniu przez projection ich wielkość wynosi max 1 pixel.

Czy mogę jakoś sprawić, aby automatycznie dostosowywały się do rozdzielczości i posiadały tą samą wielkość w %?

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Rozwiązałem problem, wystarczy przeskalować przez rozdzielczość, np.
model = glm::scale( glm::vec3( WIDTH, HEIGHT, 1.0 ) );

Zamykam.
P-150865
« 1 »
  Strona 1 z 1