| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > OpenGL ViewPort изменение размеров окна |
| Автор: glDevAleksey001 30.11.2014, 12:43 |
| Привет всем ! Прошу подсказки . Нужно так, что бы изменение размеров окна не влияли на масштаб фигуры в окне вида. Ну, допустим, размер окна 800x600 переходим на 1024х768 фигура остаётся в центре окна и одного фигура размера, что и при 800x600 и 1024х768 . ICQ 684966146 |
| Автор: baldina 1.12.2014, 11:32 | ||
в общем случае примерно так
остальное сами добавите по вкусу а как у вас сейчас делается? |
| Автор: glDevAleksey001 1.12.2014, 15:17 | ||||||
| Да, Спасибо большое оно и есть! Его искал я, помню, был такой пример в Builder c++ 5.0. У себя его не я и не нашёл. Я сделал по другому . Сперва рабочая
потом
И в шейдере
Да и вопрос что это за переменные? sceneWidth, sceneHeight |
| Автор: baldina 1.12.2014, 16:40 | ||||||
| размеры сцены, т.е. диапазоны координат вашей модели, в которых она должна быть видна в окне. у вас эти координаты 0..w и 0..h Добавлено через 8 минут и 29 секунд допустим у вас прямоугольник с координатами 0,0,100,100, и вы желаете, что бы он выводился на весь экран независимо от разрешения/размера окна. тогда
но еще надо учесть соотношение сторон окна (оно в общем случае не совпадает с соотношением сторон вашей сцены, которая в данном случае квадрат), для этого используется переменная aspect. допустим, окно имеет размеры w и h aspect=w/h если окно "шире" модели, то по размеру модели устанавливается высота
|
| Автор: glDevAleksey001 1.12.2014, 18:10 | ||
| Да спасибо я, разобрался, так я мало-мальски понимаю в видовых преобразованиях. Переписал немного
А то фигура была сплющена по ширине. Замес-то квадрата прямоугольник получался. |