Я в этом не шарю
 Аватар для Segaman
4 / 4 / 3
Регистрация: 03.09.2014
Сообщений: 191

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

03.07.2015, 11:53. Показов 2114. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru