SEO-копирайтинг в мире маркетинга
Сегодня мы все хотим, чтобы наш сайт или блог находился на первых строчках поисковой выдачи. И одним из ключевых элементов успеха является SEO-копирайтинг. Но что это такое, и как оно…
Статьи и книги по программированию игр
Программирование шейдеров в OpenGL. Шейдеры сейчас — горячая тема, и 3D-игры показали, что они могут быть использованы для создания потрясающих эффектов. Этими уроками я постараюсь ознакомить вас с основами программирования 3D-шейдеров на понятных примерах.
Сегодня мы все хотим, чтобы наш сайт или блог находился на первых строчках поисковой выдачи. И одним из ключевых элементов успеха является 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-переменная, которая хранит значение цвета. В этом…
Первая версия нашей программы вычисляет интенсивность освещения в вершинном шейдере (на каждую вершину). Затем пикселный шейдер использует интерполированные в вершинном шейдере данные для вычисления оттенка пиксела. Поэтому в вершинном шейдере…
Toon-шейдеры — это, наверное, самые простые не-фотореалистичные шейдеры, которые мы можем написать. Они используют очень малое количество цветов, в основном — оттенки одного цвета. Тона резко изменяются на изгибах модели,…