Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Я в этом не шарю
 Аватар для Segaman
4 / 4 / 3
Регистрация: 03.09.2014
Сообщений: 191

Где разместить камеру, чтобы сделать 2D приложение?

03.07.2015, 11:53. Показов 2084. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем пишу 2D приложение (игру) на OpenGL.
вручную нашел координаты камеры для разрешений экрана 640*480 и 800*600.
но нужно чтобы соотношение считалось автоматически.

суть в чем. я беру текстуру 1024*1024 и рендерю её на экран в координатах 0f,0f,1024f,1024f.
нужно чтобы текстура была в полном размере на экране, без размытия.
для 640*480 у меня координаты камеры x-320,y-240,z-580
для 800*600 : x-400,y-300,z-724
текстура отображается в полный размер без растягивания.

вопрос: как автоматически находить координату Z для разного разрешения экрана?
я хочу чтобы в пространстве любая координата чётко соответсвовала положению на экране.
скажем точка в 1f,1f была на экране в той же позиции.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2015, 11:53
Ответы с готовыми решениями:

Сделать глаза чтобы смотрели в камеру
Ребят можно сделать глаза чтобы смотрели в камеру, если да то как ? В архиве фотка.

Где разместить веб-приложение C# ASP.NET
Здравствуйте! Написал простое веб-приложение, которое отвечает на команды и без SQL баз, и возникла проблема размещения веб-приложения на...

Как сделать, чтобы можно было передвигать камеру?
Не знал как назвать тему но суть такая Есть допустим поле для игры и на нем объекты, "камера" захватывает небольшой участок...

28
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
07.07.2015, 21:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от castaway Посмотреть сообщение
до выяснения отношений
Каких?) Вы выделили цитату и поставили вопрос, а я ответил альтернативу буферу.
Вы доведете что и вам 11 инфракт докинут и мне . Вот наверно откуда они у вас)).
Засим предлагаю не офтопить далее.
0
Я в этом не шарю
 Аватар для Segaman
4 / 4 / 3
Регистрация: 03.09.2014
Сообщений: 191
08.07.2015, 12:46  [ТС]
по прежнему ничего не выходит.
я попытался посчитать по этой формуле
Угол зрения (view_angle) известен, напр 45 градусов. Размер выводимой картинки (viewport) известен (W). Находим фокальное расстояние в пикселях

focal = W / 2 / tan(view_angle_radian / 2);

Тогда

visible_size = real_size * focal / distance;
distance = real_size * focal / visible_size;
я не понял что означают visible_size и real_size.
у меня разрешение окна 800*600, размер текстуры 800*600
по формуле получилось:
focal = 1070.420996 при 45 градусах view_angle
view_angle_radian = 0.785398

а то как находить visible_size и distance я вообще не понял.
по сути чтобы их найти надо рекурсировать или..., вообщем ересь

0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
08.07.2015, 12:56
Цитата Сообщение от dvano Посмотреть сообщение
И никакие преобразования в 3D не нужны.
Нето?
0
Я в этом не шарю
 Аватар для Segaman
4 / 4 / 3
Регистрация: 03.09.2014
Сообщений: 191
08.07.2015, 15:16  [ТС]
Excalibur921, я подумал о плюсах, делать всё в 3D и хочу на нём и остановиться.
хочу сделать эффектное перемение между экранами, а значит надо определённо как-то
находить нужное расстояние до текстуры, чтобы она была во весь рост.
неужели нет ни какого решения?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
08.07.2015, 15:34
Лучший ответ Сообщение было отмечено Segaman как решение

Решение

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

Во вторых я так и не понял что вам таки нужно? Это уже третья задача?
Перемещение между экранами? Что значит эффектное 0_0 и как это во весь рост…У вас рост порядка 170 см… в рост персонажа в игре? Да экрана?
Нужно писать так ТЗ, чтобы исключить двоякое толкование вообще или на свести на минимум. И какое расстояние до текстуры непонятно.
1
Я в этом не шарю
 Аватар для Segaman
4 / 4 / 3
Регистрация: 03.09.2014
Сообщений: 191
08.07.2015, 16:34  [ТС]
Excalibur921, что я здесь делаю? я ушел, можете не отвечать
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
08.07.2015, 16:51
Цитата Сообщение от Segaman Посмотреть сообщение
давайте по другому. я хочу в 3-х мерной прилажке бахнуть оверлей на весь экран
Цитата Сообщение от Segaman Посмотреть сообщение
как автоматически находить координату Z для разного разрешения экрана?
Цитата Сообщение от Segaman Посмотреть сообщение
хочу сделать эффектное перемение между экранами,
? Три темы.
Под новый вопрос создают новую тему обычно чтобы не было хаоса.
Непонятно ТЗ и ваша реакция =). Ссылки даны, книга, там и коды с коментами что и откуда. Что ж не так ? Вам же привели команду орто.
Смотрите магию:
Цитата Сообщение от Segaman Посмотреть сообщение
я не понял что нужно вписать в glOrtho что хоть что-то на экране отображалось.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
я сказал где почитать и где взять готовый работающий пример .Осталось страницу или фотку описания.
А толку без пояснений из книги что как откуда и зачем?...
0
Я в этом не шарю
 Аватар для Segaman
4 / 4 / 3
Регистрация: 03.09.2014
Сообщений: 191
09.07.2015, 11:41  [ТС]
нашёл волшебное число 1.207
если высоту умножить на это число, получится нужная дальность
так-то, аметисты
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
09.07.2015, 12:00
Цитата Сообщение от Segaman Посмотреть сообщение
нашёл волшебное число
Попробуйте 1.3333.Не советую связывать магию и программирование.А через готовую glOrtho хуже? И расчет аппаратный по идее.

Добавлено через 2 минуты
Кстати, хоть бы раз скрин кинули как плохо и как хорошо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2015, 12:00

Где мне лучше разместить .NET Core приложение?
Где мне оптимальнее разместить приложение в стеке .NET Core + PostgreSQL.Особенных требований, кроме оптимальной цены и надёжности...

Сделать Stretch для DrawText, чтобы разместить при определённой точке
Цель: Нарисовать текст при определённой точке. Проблема: Text имеет пустое расстояние при верхнем краю (не могу разместить при центре). ...

Как создать сферу, наложить на нее текстуру и разместить камеру в центр сферы?
Как создать сферу, наложить на нее текстуру и разместить камеру в центр сферы? И всё это в OpenGL Подробный код не надо, хотя бы на...

Что и где настроить, чтобы приложение могло работать с Oracle через Nhibernate
Здраствуйте! Я пишу приложение (на visual studio 2012 RC) которое должно взаимодействовать с базой данных Oracle (в моем случае Oracle...

Что нужно знать, чтобы сделать приложение?
П.С. Прошу не убивать мои фантазии и объективно ответить. пожалуйста. Я не понимаю, что нужно знать. чтобы сделать приложение . ...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru