| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > OpenGL перейти к системе меры |
| Автор: Rickert 21.5.2008, 08:49 |
| Допустим есть у нас сфера единичная. А эта самая единица - сколько она равна? Если, допустим, в каком-то приложении человек делал модель по метрам / сантимерам, и соотстветнно в них и сохранена модель. Как мне перейти к конкретной мере при отображении? |
| Автор: Rickert 22.5.2008, 05:52 |
| Да не в жизнь не поверю, что нет общего принципа прихода к каким-то мерам. Ведь я, по-сути могу делать всё в сотнях, а человек будет в единицах - расстыковка размеров. |
| Автор: bronislav 22.5.2008, 08:37 | ||||
| В зависимости от системы проекции используются функции для перспективной
для ортоганальной
и в них выставляется сколько едений отображать на экране |
| Автор: Rickert 22.5.2008, 11:49 |
| А как вы соотнесли пиксели экрана и например сантиметры? |
| Автор: mes 22.5.2008, 15:48 | ||||||
единица равна 100% ))
Обычно выбирается масштабная единица и размеры приводятся к относительным относительно нее. Если один человек выбрал за единицу сантиметр , а второй 10 метров, то при выводе в одной масштабной единице мышь, нарисованая первым будет крупнее слона, нарисованного вторым. Чтоб предметы сцены нарисованные отдельно соотносились друг с другом они должны быть приведенные к одной масштабной единице. (При чем сделать это можно как до (условиться о масштабе) так и после (перемасштабировать готовые модели) )
Обший принцип это масштаб. Сохраняется ли он в модели(файле) или нет зависит от формата. при начальной установки окно порта имеет 2d- размеры (-1,-1,1,1) то есть ширина и высота жкран принимаются равными двойке и рамер пикселя (правда имхо это никому не нужно) при разрешении 1280х1024 равен 1/512 высоты экрана и 1/640 его ширины. если подобное соотношение не устраивает можно задать свое )) |
| Автор: Rickert 26.5.2008, 05:45 |
И как это сделать? Вручную? Как ты узнаешь где слон, а где мышь? Вообщем - нет такого. Возможно только по договорённости. solved |