Как урок латыни «рождает» бренд Audi!
25 апреля 1910 года был зарегистрирован новый производитель автомобилей — компания Audi. В этот день, ровно 111 лет назад, «родился» этот новый бренд, но на самом деле история началась за…
Статьи и книги по программированию игр
Программирование шейдеров в OpenGL. Шейдеры сейчас — горячая тема, и 3D-игры показали, что они могут быть использованы для создания потрясающих эффектов. Этими уроками я постараюсь ознакомить вас с основами программирования 3D-шейдеров на понятных примерах.
25 апреля 1910 года был зарегистрирован новый производитель автомобилей — компания Audi. В этот день, ровно 111 лет назад, «родился» этот новый бренд, но на самом деле история началась за…
Скоростной интернет вплелся в повседневную жизнь миллионов людей. Информация транслируется в реальном времени. Благодаря доступности современных технологий возможности для обучения стали практически безграничными. Получать новые знания и осваивать дисциплины сегодня…
Сегодня мы все хотим, чтобы наш сайт или блог находился на первых строчках поисковой выдачи. И одним из ключевых элементов успеха является SEO-копирайтинг. Но что это такое, и как оно…
Следующая таблица показывает шаги создания шейдера: Первый шаг — создание обьекта, контейнера шейдера. Функции, создающие его, возвращают дескриптор контейнера. Синтаксис OpenGL 2.0: GLuint glCreateShader(GLenum shaderType); Параметр shaderType — GL_VERTEX_SHADER или…
В этом уроке мы модифицируем предыдущие шейдеры для рассчета направленного света на каждый пиксел. Мы разделим работу на два шейдера, чтобы рассчет освещения происходил для каждого пиксела. Информация, которую мы…
Пришло время для рассмотрения зеркального отражения направленного света. Используемая световая можель — модель «Blinn-Phong», которая в свою очередь — упрощенная Phong-модель. Рассмотрим модель Phong, чтобы потом проще понять Blinn-Phong. Модель…
Формулы этого урока взяты из раздела «The Mathematics of Lighting» книги «OpenGL Programming Guide», aka «The Red Book». Мы начнем с рассеянного света. Рассеянный свет в OpenGL подразумевает, что свет…
В OpenGL есть три типа источников света: направленный, точечный и «прожекторный». В этом уроке мы будем работать с направленным светом. Сначала мы рассмотрим способ, позволяющий в GLSL скопировать способ освещения…
Прежде, чем закончить эти уроки, сделаем ещё одну вещь: используем свет OpenGL вместо переменной lightDir. Таким образом мы сможем объявлять свет в OpenGL и использовать его направление в шейдерах. Учтите,…
GLSL имеет доступ к части функционала OpenGL. В этом уроке вы увидите, как прочитать цвет, установленный OpenGL с помощью glColor..(). В GLSL есть attribute-переменная, которая хранит значение цвета. В этом…