[OpenGL] Projection 2D
Ostatnio zmodyfikowano 2016-08-14 19:52
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: #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 ); } glViewport( 0, 0, 1920, 1080 ); glm::mat4 projection = glm::ortho( 0.0f, 1920.0f, 1080.0f, 0.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. |
|
« 1 » |