0 / 0 / 0
Регистрация: 02.05.2017
Сообщений: 8
|
|
Нанесение текстур в OpenGL31.10.2018, 03:47. Показов 2292. Ответов 5
Помогите создать текстуру и нанести на объект.
Раньше пользовался библиотекой "glaux.h", через auxDIBImageLoad и прочее. Сейчас поддержка библиотеки прекращена. Пишут попробуй через GLUT. Но в инете мало информации по этому поводу. А если и есть код, то в контексте. Который при вставке не работает и выдает ещё больше ошибок. Просьба написать проект "hello world" с текстурами - нарисовать треугольник с текстурой. Дальше я справлюсь сам... Opengl версии 2.0
0
|
31.10.2018, 03:47 | |
Ответы с готовыми решениями:
5
Несовместимость текстур OpenGl Наложение текстур в OpenGL ES 2 Размер текстур в OpenGL |
Модератор
![]() 3402 / 2173 / 353
Регистрация: 13.01.2012
Сообщений: 8,430
|
|
31.10.2018, 08:22 | |
saratov209, например тут Библиотека графических примитивов. Отдаю всем хорошим людям - не жалко
0
|
02.11.2018, 02:52 | ||
В этой серии туториалов есть тот самый урок по которому я научился использованию lodePNG: Advanced C++/Graphics Этот урок находится под номером 12, но придётся сначала делать с первого урока, так даже познавательно будет. Если хотите, я могу исходники урока скинуть. Но лучше самому набрать, так поймёте что к чему. Если хочется минимальный пример, то по урокам выше я сделал вывод текстуры на квадрат. Окно создаётся с помощью SFML. Версия OpenGL 3.1. Делал в VS2015, но должно работать в 2012-2017, но только Target Platform в настройках нужно заменить на вашу версию VS: TexturedRectangle_SfmlOpenGL31Cpp.zip Если SFML не устраивает, могу подправить под: freeGLUT/GLUT, GLFW, SDL2 или WinAPI. На WinAPI у меня есть готовый пример с прямоугольником и текстурой, могу прикрепить, там нужно будет другую текстуру скопировать, сейчас не охота.
2
|
0 / 0 / 0
Регистрация: 02.05.2017
Сообщений: 8
|
|||||||||||
02.11.2018, 08:55 [ТС] | |||||||||||
8Observer8, Спасибо большое.
Но мне нужен opengl 2.0, с использованием glut (или freeglut, вроде разницы не вижу). OpenGL 3.1 и выше мне кажется сильно отличаются. Хотя это наверное и не важно. Раньше у меня были все нужные файлы на руках, чтобы без проблем всё компилировалось и запускалось. Вот пример исходного кода, который 100% работал. Но я потерял файлы проекта, а текст остался. Запускалось в VS2010 (сейчас правда стоит 2017, но думаю не суть): Кликните здесь для просмотра всего текста
А сейчас у меня уходит 72 часа в сутки, чтобы найти: - либо те файлы (*.h, *.dll, *.lib), с которыми всё работало. - либо поиск альтернативы, чтобы на минималках переписать функцию "LoadGLTextures()" Какой формат изображений - не сильно важно. Png или bmp - я их всё равно предварительно (в ручную) могу конвертировать в нужный формат. Попытался запилить в свой код "loadPNG" вместе с "readFileToBuffer" (см. ниже), но что-то не хочет запускаться. Хотя чисто ваша программа работает. Кликните здесь для просмотра всего текста
Выдает ошибку: Кликните здесь для просмотра всего текста
Ошибка LNK2019 ссылка на неразрешенный внешний символ "int __cdecl decodePNG(class std::vector<unsigned char,class std::allocator<unsigned char> > &,unsigned long &,unsigned long &,unsigned char const *,unsigned int,bool)" (?decodePNG@@YAHAAV?$vector@EV?$allocato r@E@std@@@std@@AAK1PBEI_N@Z) в функции "struct GLTexture __cdecl loadPNG(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?loadPNG@@YA?AUGLTexture@@V?$basic_stri ng@DU?$char_traits@D@std@@V?$allocator@D @2@@std@@@Z) ConsoleApplication2 C:\Users\Александр\Desktop\Графика OpenGL\ConsoleApplication2\ConsoleApplic ation2\ConsoleApplication2.obj 1
0
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
|
02.11.2018, 09:56 | |
https://en.wikibooks.org/wiki/... e/Textures
https://en.wikibooks.org/wiki/... utorial_06 http://lazyfoo.net/tutorials/O... /index.php http://nehe.gamedev.net/tutori... ing/12038/ https://www.glprogramming.com/red/chapter09.html
0
|
05.11.2018, 22:07 | |||||||||
Перевести с 3.1 на 2.0 очень просто:
Пару слов про библиотеки для создания окна и обработки клавиатуры/мыши. Такой код занимает очень небольшой процент от всего OpenGL проекта. У библиотек GLFW, FreeGLUT, SFML и SDL2 очень сходные принципы в отличие от WinAPI. Код создания окна для вывода OpenGL-графики на этих библиотеках несложно найти в интернете. Более всего популярен GLFW. Почти во всех современных книгах и туториалах используют GLFW. Но опять же, имея интернет, несложно будет перевести с FreeGLUT на GLFW. Если нужен звук или мультипеер, то лучше взять SDL2 или SFML. Зато FreeGLUT и GLFW весят в 10 раз меньше: 500 КБайт против 5МБайт.
Я даже добавил библиотеку GLM, чтобы можно было менять координаты, угол и размер прямоугольника с рисунком. GLM - это библиотека для работы с матрицами, векторами и т.д. Только перед запуском примера не забудьте переключить в настройках "Platform Toolset" на VS2017. Должно сработать по принципу: скачал архив примера, извлёк из архива, открыл проект, поменял toolset на VS2017, запустил, работает. Если не сработает, но напишите, что выводит.
0
|
05.11.2018, 22:07 | ||||||
Помогаю со студенческими работами здесь
6
Загрузка текстур OpenGL Загрузка текстур в OpenGL
OpenGl glsl много текстур Одновременное отображение граней и текстур в OpenGL Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
|
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний. Структура "электронный Buttom Up"
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution
В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
|
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
|
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
|
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
|
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
|
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
|
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
|
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
|