Форум программистов, компьютерный форум, киберфорум
Наши страницы
OpenGL
Войти
Регистрация
Восстановить пароль
 
shyub
346 / 146 / 39
Регистрация: 11.07.2013
Сообщений: 794
1

Как сделать, чтобы изображение на экране занимало заданное количество пикселей?

19.11.2017, 15:18. Просмотров 306. Ответов 6
Метки нет (Все метки)

Необходимо, чтобы квадрат, созданный в OpenGL с координатами (1,1,z), (-1,1,z), (-1,-1,z) и (1,-1,z) занимал на экране 100х100 пиксесей. Как это можно сделать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2017, 15:18
Ответы с готовыми решениями:

Как сделать чтобы под каждый столбец отводилось заданное количество символов
Текст берется из dgv. private void ToWord(DataGridView dgv,string filename,string sHeaders) ...

Сформировать на экране заданное изображение
Написать программу на Паскале,которая формирует на экране изображение.

Подскажите, как сделать в html, чтобы изображение накладывалось на другое изображение?
Нужно, чтобы изображение накладывалось на другое изображение, а другое изображение растягивалось по...

Рамка при наведении на изображение - изображение скачет, как сделать, чтобы они не изменяли позицию?
Хочу сделать рамку при наведении на изображение, но изображение скачет, как сделать, чтобы они не...

Как нарисовать на экране заданное количество окружностей и окружности не должны пересекаться?
Здравствуйте хорошие программеры, я с C# слабак и только начинаю изучать. Есть вопрос по теме: С...

6
Antikl
с++
329 / 314 / 161
Регистрация: 15.07.2015
Сообщений: 1,680
Завершенные тесты: 6
19.11.2017, 21:23 2
https://www.opengl.org/archives/reso...formations.htm
9.090
0
shyub
346 / 146 / 39
Регистрация: 11.07.2013
Сообщений: 794
19.11.2017, 22:17  [ТС] 3
Цитата Сообщение от Antikl Посмотреть сообщение
https://www.opengl.org/archives/reso...formations.htm
9.090
Посмотрел, но ответа на свой вопрос не нашёл.
0
Ivandur
458 / 914 / 182
Регистрация: 11.08.2016
Сообщений: 1,341
19.11.2017, 22:32 4
gluProject и gluUnProject тебе в руки.
1
shyub
346 / 146 / 39
Регистрация: 11.07.2013
Сообщений: 794
20.11.2017, 14:28  [ТС] 5
Спасибо, но это опять не то. Возможно я плохо объяснил свой вопрос, поэтому постараюсь объяснить при помощи картинок.
Есть изображение, которое в перспективной проекции выглядит так:
Как сделать, чтобы изображение на экране занимало заданное количество пикселей?

Размер его в пространственных и экранных координатах я знаю. Мне необходимо (в ортгональной проекции) для последующей обработки увеличить его до требуемых размеров (размер его в пикселях может превышать размер экрана). Затем в несколько приёмов вывести эти части на экран. Т.е. углы этих частей должны строго совпадать с заданными на экране пикселями. Примерно как на картинках ниже:
Название: 4.png
Просмотров: 20

Размер: 21.7 Кб Название: 5.png
Просмотров: 20

Размер: 9.1 Кб
Название: 2.png
Просмотров: 20

Размер: 47.7 Кб Название: 3.png
Просмотров: 20

Размер: 19.7 Кб
Вариант разбиения выводимого файла на области на этапе его вывода не подходит, т.к. он состоит из треугольников (т.е. ровной границы не получится) и информация о координатах треугольников в файле не систематизирована. (Сортировка и обсчёт точек занимает более часа.)
Суть задачи в конечном итоге - получить из буфера глубины данные для определённых узлов. Количество таких узлов равно количеству пикселей.
Т.е. надо, чтобы изображение (часть изображения) занимала заданное количество пикселей и начиналось с заданной точки на экране.
0
Excalibur921
809 / 495 / 88
Регистрация: 12.10.2013
Сообщений: 3,256
20.11.2017, 16:38 6
Может это http://www.opengl-tutorial.org/ru/in...er-to-texture/
Зачем вообще сохранять карту глубины?
А не проще: камера это фреза, читать карту глубины круглой области (стенсил буфер) налету получая максимум Z пикселей? Читать сеткой N точек вокруг фрезы. Может даже есть способ в OpenGL найти максимум в массиве карты глубины всех пикселей быстрей CPU.
0
shyub
346 / 146 / 39
Регистрация: 11.07.2013
Сообщений: 794
21.11.2017, 09:39  [ТС] 7
Всем спасибо за помощь! Тему можно закрывать.
Решение оказалось удивительно простым.
Если пишу:
Delphi
1
glOrtho(-1, 1, -1, 1, 0, 15.0);
То получается так:
Как сделать, чтобы изображение на экране занимало заданное количество пикселей?

Изменяю коэффициенты:
Delphi
1
glOrtho(-0.5, 0, -1, -0.5, 0, 15.0);
Получаю желаемый результат:
Как сделать, чтобы изображение на экране занимало заданное количество пикселей?

Соответственно, выполняя несложные расчёты коэффициентов с учётом разрешения окна (в пикселях) и требуемых пространственных координат можно получить требуемую часть рисунка с привязкой к пикселям.
0
21.11.2017, 09:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2017, 09:39

Изменение размера главной формы приложения на заданное количество пикселей
Разработать приложение, позволяющее увеличивать или уменьшать размер главной формы приложения на...

Как сделать чтобы на экране 320px загружалось 600px
Как сделать чтобы на экране 320px; загружалось 600px; Фотографии прикрепил. При первой загрузке...

Как сделать, чтобы форма по-человечески появлялась на экране)) ?
Проблема в том, что на главной форме у меня несколько тяжелых компонентов, которые при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru