Растягивание изображения, когда окно не является квадратным (C++, OpenGL)C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Растягивание изображения, когда окно не является квадратным (C++, OpenGL)

Сообщение Anonymous »

Когда я использую прямоугольное окно (например, 800x800), спрайты работают отлично, но когда я использую прямоугольное окно (например, 1280x720), текстура, которую я пытаюсь визуализировать, растягивается по горизонтали.

Код: Выделить всё

// Includes
#include "../Libraries/GLAD/glad.h"
#include "../Libraries/STB/stb_image.h"
#include 

#include "../../Header Files/Sprites/Shader.hpp"
#include "../../Header Files/Sprites/VertexArray.hpp"
#include "../../Header Files/Sprites/VertexBuffer.hpp"
#include "../../Header Files/Sprites/ElementBuffer.hpp"
#include "../../Header Files/Sprites/Texture.hpp"

// The Global variables of the project.
#include "../Header Files/Global.hpp"

// The vertices of our square.
GLfloat vertices[] =
{ //    COORDINATES        /     COLORS    //   TEXTURE COORDINATES
-0.5f, -0.5f, 0.0f,     1.0f, 0.0f,  0.0f,     0.0f, 0.0f, // Lower left corner
-0.5f,  0.5f, 0.0f,     0.0f, 1.0f,  0.0f,     0.0f, 1.0f, // Upper left corner
0.5f,  0.5f, 0.0f,     0.0f, 0.0f,  1.0f,     1.0f, 1.0f, // Upper right corner
0.5f, -0.5f, 0.0f,     1.0f, 1.0f,  1.0f,     1.0f, 0.0f, // Lower right corner
};

// The order the program will draw the indices of the square.
const GLuint indices[] =
{
0, 2, 1,
0, 3, 2,
};

// Get the amount of vertices from the vertices variable.
const GLint amountOfVertices = 6;

int main()
{
// Initialize GLFW.
if (!glfwInit())
{
return 0;
}

// Specify to GLFW the version of OpenGL. (v3)
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);

// Specify to GLFW the profile we want to use.  (Core to get the modern functions.)
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

// Create the window.
GLFWwindow* window = glfwCreateWindow(WINDOW::WIDTH, WINDOW::HEIGHT, WINDOW::TITLE.c_str(), NULL, NULL);

// Check if the window was successfully created.
if (window == NULL)
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79008501/image-stretching-when-the-window-is-not-a-square-c-opengl[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Растягивание изображения, когда окно не квадратное
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Запустить растягивание изображения экрана в SwiftUI
    Гость » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Гость
  • Запустить растягивание изображения экрана в SwiftUI
    Anonymous » » в форуме IOS
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Предотвратить растягивание высоты элементов сетки в соответствии с одноуровневыми элементами [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Растягивание содержимого Android HorizontalScrollView
    Anonymous » » в форуме Android
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»