1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67

SDL: OpenGL: установка границ объема отсечения glOrtho(.);

16.11.2012, 23:10. Показов 2619. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Открыл окно SDL, создал контекст OpenGL.
Соответственно, что бы что-либо рисовать, нужно определить границы объема отсечения.
И не получается с помощью glOrtho это сделать.
Как это правильно делать?
Соответственно что я делаю перед этим:
Размеры окна, которое я открываю: width = 640, height = 480.

GLfloat aspectRatio;
...
glViewport(0, 0, width, height);
...
aspectRatio = (GLfloat)wedth / (GLfloat)height;
glOrtho(0.0f, 1.0f * aspectRatio, 1.0f, 0.0f, 1.0f, 0.0f);
...

Может это подругому как-то расчитывается?

Добавлено через 1 час 50 минут
мне кажется, что glOrtho не правильно расчитывает ортоганальную проекцию
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2012, 23:10
Ответы с готовыми решениями:

OpenGL glOrtho
Добрый день! Использую оnрисовку графики OpenGL в 2 представлениях 3D и 2D для отрисовки 2D использую ортогональное представление и...

GlOrtho() и OpenGL 3+
Такой вопрос, используется ли сейчас функция glOrtho() в версиях OpenGL выше 3.2 ? Если нет то какие функции взяли на себя работу...

opengl SDL
Подскажите как сделать чтоб треугольник двигался по нажаатию клавиши (стрелка вверх) в том напрявлении в котором направлена его вершина? ...

10
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
17.11.2012, 16:29
glOrtho( левая граница, правая граница, нижняя граница, верхняя граница, расстояние до ближнего плана отсечения, расстояние до дальнего плана отсечения );

Например:
glOrtho( 0, 640, 480, 0, -1, 1 );
0
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67
17.11.2012, 16:46  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
glOrtho( левая граница, правая граница, нижняя граница, верхняя граница, расстояние до ближнего плана отсечения, расстояние до дальнего плана отсечения );

Например:
glOrtho( 0, 640, 480, 0, -1, 1 );
ну впринципе я так и сделал)
Спасибо
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
17.11.2012, 17:21
Да, только учти что у тебя получается окно ~ от 0 до 1 по обеям осям.
И я не знаю как будет это работать с двумя последними параметрами (у тебя 1 и 0), у тебя ближний план получается дальше чем дальний план.
0
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67
17.11.2012, 17:29  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
Да, только учти что у тебя получается окно ~ от 0 до 1 по обеям осям.
И я не знаю как будет это работать с двумя последними параметрами (у тебя 1 и 0), у тебя ближний план получается дальше чем дальний план.
как так получится?
если glOrtho(0, 640, 480, 0, -1, 1);, то от 0 до 640 по х
и от 0 до 480 по у
?!

а как определить так, что бы к примеру было по х от 0 до 1, и по у от 0 до 1?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
17.11.2012, 17:31
Ты меня не понял. В твоем примере будет ~ от 0 до 1. А в моем от 0:0 до 640:480.
0
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67
17.11.2012, 17:35  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
Ты меня не понял. В твоем примере будет ~ от 0 до 1. А в моем от 0:0 до 640:480.
ааа
ну да.
в том то и дело, что все приблизительно..
А не получится так, чтобы даже без пропорциональных размеров было так ровно ( чисто от 0 до 1)?
Или это никак не получится?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
17.11.2012, 19:17
Почему же нельзя. Можно. Например вот так: glOrtho(0, 1, 1, 0, -1, 1);
0
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67
17.11.2012, 19:22  [ТС]
хм, а чтобы это соответствовало размерам окна
если я например хочу нарисовать 4 линии, которые рисуются до указателя мыши.
для такого примера этот вариант не подойдет
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
17.11.2012, 20:06
Цитата Сообщение от m1lka Посмотреть сообщение
а как определить так, что бы к примеру было по х от 0 до 1, и по у от 0 до 1?
Цитата Сообщение от m1lka Посмотреть сообщение
хм, а чтобы это соответствовало размерам окна
Если у тебя окно размером не 1x1, тогда всё же определись, как именно надо.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
17.11.2012, 21:26
Ну ты что чудишь на самом деле.
glOrtho( 0, ширина окна, высота окна, 0, -1, 1 );
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2012, 21:26
Помогаю со студенческими работами здесь

FTGL + SDL + OpenGL
Прелюдия. Пишу в Code::Blocks, компилятор MinGW. Раньше использовал GLUT, но решил попробовать пересесть под SDL. Собрал с помощью MSYS...

OpenGL - инициализация SDL
Возникла проблема при подключении SDL я делал как описано в уроках пошагово но вот возникает ошибка при подключении SDL.h не понимаю...

Назначение SDL, QT, OpenGL
В контексте разработки 3D игр недавно начал изучать SDL и постепенно начал закрадываться вопрос - а есть ли смысл? Что такого может...

Не отображается текстура SDL + OpenGL
Вот код SDL_Window *window = NULL; SDL_Surface *surf = NULL; SDL_GLContext glContext; unsigned int texture; void init() {...

SDL openGL Вращение фигуры
Народ помогите. Нужно сделать так чтоб фигура вращалась при нажатии клавиш (стрелок) Вот код #ifdef WIN32 #define...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru