На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
  
> координаты в процедурах glOrtho, gluLookAt, gluPerspective, , откуда считать эти координаты
    не могу разобраться с координатами в процедурах glOrtho, gluLookAt, gluPerspective
    как задаются где у них точки отсчета - центр осей x ,y ,z
    пишут много а наглядности мало
    ExpandedWrap disabled
       procedure TForm1.Button1Click(Sender: TObject);
      begin
       glClearColor(1.0,0.0,0.0,0.2);
       glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);  
       
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
       
       glOrtho(0, 1, 0, 1, -1 ,1);//здесь 0 к какой точке относятся и единицы тоже
       
        glBegin(GL_TRIANGLES);
         glColor3f(1.0,0.0,0.0);glVertex3f(1,0,0);
         glColor3f(0,1,0);      glVertex3f(0,1,0);
         glColor3f(0,0,1);      glVertex3f(0,0,1);
        glEnd();
       
        OpenGLControl1.SwapBuffers;
      end;
      void glOrtho( GLdouble left,
      GLdouble right,
      GLdouble bottom,
      GLdouble top,
      GLdouble nearVal,
      GLdouble farVal);


      https://www.opengl.org/sdk/docs/man2/xhtml/glOrtho.xml

      В документации написано, что осуществляет проекцию внутрь прямоугольного параллелепипеда ограниченного плоскостями, отстоящими от начала координат на расстояния, задаваемые параметрами функции.
      То есть:
      левая плоскость проходит через точку (left,0,0) и параллельна осям z и y;
      правая плоскость проходит через точку (right,0,0) и параллельна осям z и y;
      нижняя плоскость проходит через точку (0,bottom,0) и параллельна осям x и z;
      верхняя плоскость проходит через точку (0,top,0) и параллельна осям x и z;
      ближняя плоскость проходит через точку (0,0,nearVal) и параллельна осям x и y;
      дальняя плоскость проходит через точку (0,0,farVal) и параллельна осям x и y;

      А здесь вид самой матрицы связанной с этой функцией http://www-01.ibm.com/support/knowledgecen...3b5f1be2006lpas

      Помните, что в школе всегда ось z была направлена вверх, а в Opengl всегда вдаль (вглубь).
      Сообщение отредактировано: shhmn -
        Цитата shhmn @

        Спасибо за поддержку Уважаемый shhmn
        вопрос для себя прояснил
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0180 ]   [ 14 queries used ]   [ Generated: 18.05.24, 12:50 GMT ]