|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.04.2011, 13:08 | #1 |
Новичок
Джуниор
Регистрация: 24.04.2011
Сообщений: 8
|
Удобные координаты в OpenGL
Проблема следующая: прикрутил OpenGL к C# через Tao Framework. В ней есть почти все из gl, glu и glut. Пока заметил отсутствие только GLsizei. Раньше я рисовал, как и все, в местных матричных координатах. Теперь же мне необходимо сделать пиксельные координаты, чтобы я мог задавать их относительно экрана и размером единичной клетки в пиксель. В идеале - создавать куб не там, где сейчас центр координат, то есть, в некотором translated() от центра экрана, а в произвольной точке с координатами (x,y,z). Скорее всего, я просто неопытен и такое давно реализовано, но я что-то не смог найти ничего по нормальной работе с координатами. Есть у кого какие идеи?
|
24.04.2011, 13:59 | #2 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
Если я правильно понял то вам нужно сделать вывод не относительно координат OpenGL а относительно координат окна. И как я понимаю тебе это нажно для вывода 2D объектов. Если это так то вам достаточно вызвать функцию glOrtho(0, ШИРИНА_ОКНА, ВЫСОТА_ОКНА, 0); После этого вы получить ортографическую проекцию где начало координат OpenGL совпадает с началом координат окна, а ось OY направлена вниз. Но имейте ввиду что здесь не будет ни какой перспективы, то есть рисовать 3D пространство не получится
|
24.04.2011, 14:17 | #3 |
Новичок
Джуниор
Регистрация: 24.04.2011
Сообщений: 8
|
Нет, не для 2D. Про glOrtho я, конечно же, знаю, но проблема в том, что рисовать мне нужно именно что трехмерные кубы.
|
24.04.2011, 14:19 | #4 |
Новичок
Джуниор
Регистрация: 24.04.2011
Сообщений: 8
|
И мне, кстати, gluOrtho2d больше нравится
|
24.04.2011, 14:31 | #5 |
Новичок
Джуниор
Регистрация: 24.04.2011
Сообщений: 8
|
Попробую описать задачу так - мне нужно, чтобы у меня по экрану двигались трехмерные объекты. Я должен уметь создавать их в произвольном месте произвольной формы, заданными координатами. Я должен уметь двигать их, соответствуя заданной функции опять же, заданной через координаты. И я подумал, что было бы нифига не удобно каждый раз переводить это все в координаты OpenGL, а написать небольшой классик, умеющий делать вот такой перевод, чтобы я мог интуитивно программировать, а не париться насчет матриц и их преобразований.
|
24.04.2011, 14:37 | #6 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
Не в ту сторону думаешь, не разрывайся между координатами окна и OpenGL, а смело переходи на на систему координат OpenGL. В них и работай. При обновлении кадра возращаешь единичную матрицу преобразований. Рисуешь объекты и так далее. Это всё будет в разы проще чем то чем ты собираешься заниматся. А если тебе сё это нужно для выделения объектов, то у OpenGL есть для этого свои средства=)
Да кстати на будущие тебе, glOrtho2D не позволяет работать с буфером глубины |
24.04.2011, 14:56 | #7 |
Новичок
Джуниор
Регистрация: 24.04.2011
Сообщений: 8
|
Понимаешь, у меня задача поставлена так, что на вход я обязан подавать координаты окна. Тут уж ничего не поделаешь. Если бы я писал трехмерный шутер, я бы не парился и делал бы все в родных координатах. Но здесь я просто напросто должен подавать координаты и новые пересчитанные координаты в, черт подери, координатах.
Считай, что я пишу 3дМакс. |
24.04.2011, 15:25 | #8 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
Есть такая книжечка Красного по OpenGL, так там в шестой главе создаётся жалкое подобие 3dsmax =) Есть небольшая глава посвящёная связи экраных координат с пространсвеными, к сожалению на Delphi но может чем поможет?
|
24.04.2011, 15:31 | #9 |
Новичок
Джуниор
Регистрация: 24.04.2011
Сообщений: 8
|
Да, давай, возможно, будет полезно. Я тут новенький, если знаешь кого еще на форуме, кто разбирается, может скинешь им ссылку на тред, было бы очень приятно ^^
|
24.04.2011, 15:32 | #10 | |
c++, dx/ogl
Форумчанин
Регистрация: 10.11.2008
Сообщений: 131
|
mikethepurple
Цитата:
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but rather how many batches/frame! |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Координаты в OpenGL Delphi | Gelirgwenn | Помощь студентам | 2 | 20.04.2011 10:09 |
OpenGL координаты | zumm | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 06.07.2010 09:19 |
Координаты | A_Orlov | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 09.06.2010 20:17 |
Координаты х у | Onek | Помощь студентам | 4 | 17.05.2010 16:37 |
координаты | Aram | Общие вопросы C/C++ | 5 | 08.06.2007 20:03 |