Страницы:1

Ответить
Визуализация 2D примитивов в OpenGL. Основы.
 
Визуализация 2D примитивов в OpenGL. Основы.

В этой уроке мы познакомимся с визуализацией простейших примитивов (2D примитивов). Вы узнаете подробнее о работе команд glVertex,  а так же на практике используете их для визуализации двухмерного рисунка из линий.
information must be free for all
 
Добрый день!
Очень полезный материал, спасибо большое. Единственное, что сильно режет глаз, это слово "будите" вместо "будете". Этой заметкой ни в коем случае не хотел обидеть автора :)
 
Привет, спасибо за отзыв :).

Да, грамотность страдает.
OpenGL + C# - это последний раздел, который еще не закончен только начат редактором, но проверка идет и весь этот ужас вычистим :D
Изменено:Anvi - 28 Января 2015 12:26:40
 
Спасибо! Иду по шагам по инструкции. Понятно и получается.
 
Никак не могу понять, зачем умножать на 30?
Gl.glVertex2d(30.0f * (float)AnT.Height / (float)AnT.Width, 30);
 
Цитата
Anna написал:
Никак не могу понять, зачем умножать на 30?
Gl.glVertex2d(30.0f * (float)AnT.Height / (float)AnT.Width, 30);
Если вопрос еще актуален:
Код
Glu.gluOrtho2D(0.0, 30.0 * (float)AnT.Height / (float)AnT.Width, 0.0, 30.0);
В статье область отсечения настраивается таким образом, чтобы координатная область от 0 до 30 по обеим осям совпадала с размерами объекта AnT, в котором будет идти визуализация (т.е. чтобы визуализация была пропорциональна размерам области AnT).

Линия рисуется из координаты 0, 0 в координату  30, 30.
но мы не попадем в точку правого верхнего угла, если не скорректируем координату с учетом проекции, поэтому мы умножаем на  (float)AnT.Height / (float)AnT.Width  или на (float)AnT.Width / (float)AnT.Height

Другими словами, если область визуализации будет размера ~600х300, то если не корректировать координаты на отношение (float)AnT.Width / (float)AnT.Height, то сцену растянет:



С коррекцией:





 
Изменено:noname - 28 Ноября 2015 16:27:24
 
Тут написано, установить матрицу проекции. Но если я например не хочу пользоваться матрицами в вершинном шейдере? Мой шейдер просто их пропускает и вершины ни на что не умножает, а прокидывает как есть.
Автор забыл указать, что установка матрицы проекции - вещь необязательная. К тому же не стоит пользоваться glut'ом и glu - это всего лишь навсего надстройки, не имеющие отношение к самому OpenGL. особенно glut - он тянет либку за собой, между прочим.
Страницы:1

Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить картинки
ОтправитьОтменить
 
^
Регистрация
Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 
×
Восстановление пароля
Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш Email. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
×
Авторизация
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.
Авторизуйтесь с помощью соц. сети или с помощью аккаунта на сайте:
×