В прошлых заметках речь шла о пространственных преобразованиях и соответствующих матрицах. Преобразования производятся над вершинами 3-хмерного объекта (модели) путем умножения координат вершин на матрицы. Заниматься этим умножением вершин на матрицы должен видеопроцессор, то есть шейдеры, а именно vertex shader. Почему Читать дальше …
Метка: OpenGL
Опыт изучения OpenGL — Часть 8 — Vector maths API
В прошлой заметке я закончил теоретическую часть рассказа про пространственные преобразования в компьютерной графике. Теперь хочу сказать два слова про программирование всего этого на C++. Vector & Matrix Было довольно очевидно, из чего должен состоять API для векторной алгебры в Читать дальше …
Опыт изучения OpenGL — Часть 7 — Пространственные преобразования (продолжение)
В прошлой заметке мы рассмотрели преобразование перспективной проекции. В этой рассмотрим еще несколько вопросов, которые касаются в основном преобразований в пространствах model, world и camera. Смена базиса Для начала поговорим переходе от одной системы координат к другой. В 3-хмерном евклидовом Читать дальше …
Опыт изучения OpenGL — Часть 7 — Пространственные преобразования. Перспективная проекция.
В предыдущих заметках мы рисовали плоский треугольник на плоском экране. Трехмерный мир оказывается более разнообразен, чем плоский экран. Тут есть много о чем поговорить. Литература Jason McKesson — Learning Modern 3D Graphics Programming. Jason Gregory — Game Engine Architecture (2nd Читать дальше …
Опыт изучения OpenGL — Часть 6 — Улучшаем программу рисования треугольника
В прошлой заметке мы нарисовали треугольник с использованием практически голого OpenGL. Начнем теперь видоизменять программу. Цель — сделать ее более простой для понимания и менее подверженной ошибкам. Предпосылки для написания своего фреймворка У приведенной в прошлой заметке программы рисования треугольника Читать дальше …
Опыт изучения OpenGL — Часть 5 — Рисуем треугольник
В предыдущих заметках мы провели всю необходимую подготовку для того, чтобы начать рисовать. Рисовать начнем с треугольника (так поступают авторы большинства книжек по OpenGL). На примере рисования треугольника мы обсудим ряд базовых концепций компьютерной графики. Пока речь не пойдет о Читать дальше …
Опыт изучения OpenGL — Часть 4 — Класс engine::ProgramBase
Я продолжаю рассказывать о написанном мною рисовательном API на базе OpenGL, размещенном в открытом репозитории на хостинге BitBucket. К сожалению, написание программы с помощью OpenGL требует существенной предварительной артподготовки в виде Загрузки функций OpenGL (инициализации библиотеки GLEW) Создания окна Создания Читать дальше …
Опыт изучения OpenGL — Часть 3 — Создание контекста рисования
В предыдущих двух заметках я рассказал о том, как загрузить функции OpenGL (проинициализировать библиотеку GLEW) и как создать окно, в котором мы будем рисовать. Но для рисования нам потребуется так называемый OpenGL context — «an object that holds all of Читать дальше …
Опыт изучения OpenGL — Часть 2 — Окно
В прошлой заметке я начал рассказывать про свой опыт изучения OpenGL и остановился на том, что проинициализировал библиотеку GLEW, которая загружает все функции API OpenGL. Чтобы начать рисовать что-либо при помощи OpenGL, нам нужно то, на чем можно рисовать, а Читать дальше …
Опыт изучения OpenGL — Часть 1 — Введение
С детства мечтал писать компьютерные игры, и вот, года три назад решил рискнуть — поизучать OpenGL. Почему взялся изучать не игровой движок, а низкоуровневый API (API — Application Programming Interface)? Потому что люблю изучать все с как можно более низкого Читать дальше …
