Я работаю над простым двигателем OpenGL, используя C ++ и GLFW. Я пытаюсь отобразить текстурированный прямоугольник, но результат выглядит очень странно - форма верна, но текстура выглядит растянутой, и цвета совершенно неправильны (скриншот ниже). < /P>
Я использую stb_image.h, чтобы загрузить текстуру, и я следовал основным обучающим, но ясно, что я что -то упускаю. Вот что я уже сделал: < /p>
Я загружаю текстуру, используя STBI_LOAD и применяю ее с Glteximage2d. 1).
Я работаю над простым двигателем OpenGL, используя C ++ и GLFW. Я пытаюсь отобразить текстурированный прямоугольник, но результат выглядит очень странно - форма верна, но текстура выглядит растянутой, и цвета совершенно неправильны (скриншот ниже). < /P> Я использую stb_image.h, чтобы загрузить текстуру, и я следовал основным обучающим, но ясно, что я что -то упускаю. Вот что я уже сделал: < /p> Я загружаю текстуру, используя STBI_LOAD и применяю ее с Glteximage2d. 1).[code]glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)0); glEnableVertexAttribArray(0);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); < /code> И вот как я загружаю и связываю текстуру: < /p> int width, height, nrChannels; unsigned char* data = stbi_load("images.png", &width, &height, &nrChannels, 0); if (data) { glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, nrChannels == 4 ? GL_RGBA : GL_RGB, GL_UNSIGNED_BYTE, data); glGenerateMipmap(GL_TEXTURE_2D); } [/code] Полный кодовый файл: https://drive.google.com/file/d/1fux_psq-un20epgkjerqsmltongw7old/view?usp=drive_link Текстура не загружается.