| PMG https://forum.pmg.org.ru/ |
|
| Позиционирование камеры https://forum.pmg.org.ru/viewtopic.php?f=1&t=2476 |
Страница 1 из 1 |
| Автор: | Xtreme [ 06 май 2007 12:01 ] |
| Заголовок сообщения: | Позиционирование камеры |
В Красной Книге OpenGL говорится,если gluLookAt в коде не встречается,то устанавливаются значения по умолчанию:камера в точке (0.0,0.0,0.0) и направлена вдоль отрицательного направления оси z Так вот если я строю 2D объекты, а область вывода ограничена кубом со сторонами 1 ,почему я вижу их в случае 1)z>0,камера же смотрит в -z 2)z=0,по идее камера должна смотреть сквозь фигуру(их позиции совпадают) |
|
| Автор: | Assassin [ 06 май 2007 15:00 ] |
| Заголовок сообщения: | |
Xtreme, Ну так это же 2Д обьекты! Они всегда приклеены к камере! |
|
| Автор: | Xtreme [ 06 май 2007 15:32 ] |
| Заголовок сообщения: | |
Assassin, просто получается камера в точке (0,0,0) и фигура тоже.К примеру, если я возьму куб,а z координате камеры присвою z координату ближней к точке (0,0,0) грань куба,то эта грань останется за камерой.В случае ,как в след проге этого не происходит: wglMakeCurrent(Canvas.Handle, hrc); glViewPort (0, 0, ClientWidth, ClientHeight); glClearColor (0.5, 0.5, 0.75, 1.0); glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.5); glBegin (GL_TRIANGLES); //треуг-ик glVertex3f (-1, -1, H); glVertex3f (-1, 1, H); glVertex3f (1, 0, H); // Этот H я увеличиваю,если нажата левая кнопка мыши // и уменьшаю ,если нажата вторая кнопка.Но не это важно,важно то,что когда H=0 // фигура видна,хотя в коде не встречается glLookAt(....) и в следствие // этого камера установлена в точке (0.0,0.0,0.0) и направлена по // оси -OZ.Напомню ещё,что объём видимости фигуры ограничен((-1,-1), (1,1)) .Поясните ещё случай, когда H=-1. glEnd(); SwapBuffers(Canvas.Handle); wglMakeCurrent(0, 0); |
|
| Автор: | Assassin [ 06 май 2007 15:45 ] |
| Заголовок сообщения: | |
glClear (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); - непробовал! )) |
|
| Автор: | Assassin [ 06 май 2007 15:46 ] |
| Заголовок сообщения: | |
Xtreme, А вобще как тебя это смущает,или тебе нужен какой то определённый эфект?? |
|
| Автор: | Xtreme [ 06 май 2007 17:03 ] |
| Заголовок сообщения: | |
Да нет,просто читаю щас книгу Краснова"Графика в проектах Delphi" и честно говоря ****ался уже с gluPerspective,gluOrtho,gluFrustum,совсем запутался, какая плоскость отсекает,в каких пределах изм зн-ия,какая аналогия между рисованием 2D и 3D фигур...Но ничего,самое главное было понять ,что где бы ни стояла камера,2D фигуры она покажет,т.к она,по твоим словам,приклеена к ним. Да,кстати, glClear (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) попробовал, не помогло... |
|
| Автор: | Assassin [ 06 май 2007 18:31 ] |
| Заголовок сообщения: | |
Xtreme, Да покажет если конечно эти 2Д фигуры ненаходятся с зади камеры,в этом случаи их естевственно небудет видно! Но вобщето для 2Д фигур неиспользуют Z координату! |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|