Поверхность (Surface) Следующий шаг после создания Instance — создание поверхности (Surface). Vulkan использует абстракцию Surface для представления нативной оконной подсистемы имеющейся операционной системы. В каждой операционной системе имеется своя функция для создания поверхности и, соответственно, свое расширение (extension), частью которого Читать дальше …
Метка: C/C++
Vulkan Learning — 1. Установка. Инициализация. Instance. Отладка
Недавно я завершил прохождение видеокурса по Vulkan, и спешу законспектировать информацию, пока она не выветрилась из моей дырявой головы. Литература Vulkan Tutorial LunarG Vulkan Samples Tutorial API without Secrets: Introduction to Vulkan by Pavel Lapinski Understanding Vulkan Objects Vulkan Guide Читать дальше …
C++ C# Python JavaScript PHP разговорник
Я давно программирую на C++ и C#. Python начал изучать недавно. С JavaScript у меня с давних пор было знакомство, но шапочное, поэтому стал изучать и его. И вот решил составить «разговорник» — удобная штука, чтобы легко было вспоминать материал. Читать дальше …
C++ и среды разработки
Предположим, мы хотим научиться программировать на C/C++. Для этого нам понадобятся следующие вещи: Написать простейший исходный код (программа HelloWorld) Скомпилировать исходный код в исполняемое приложение Запустить приложение (в том числе, в режиме отладки) В чем будем писать исходный код? Текстовый Читать дальше …
Тест по программированию на C++ от GeekBrains (средний уровень)
Недавно я завис на портале geekbrains.ru, раздумывая, не поступить ли мне на курс по C++ или по Unity. Решил для развлечения тесты порешать по моим любимым языкам C/C++/C#. Несколько базовых тестов успешно прошел, а дальше забуксовал. И решил проработать проблемные Читать дальше …
Опыт изучения OpenGL — Часть 9 — Uniform Variables & Uniform Blocks
В прошлых заметках речь шла о пространственных преобразованиях и соответствующих матрицах. Преобразования производятся над вершинами 3-хмерного объекта (модели) путем умножения координат вершин на матрицы. Заниматься этим умножением вершин на матрицы должен видеопроцессор, то есть шейдеры, а именно vertex shader. Почему Читать дальше …
Опыт изучения 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 Читать дальше …
C++11 new features
Недавно посмотрел курс Advanced C++ Programming на портале caveofprogramming.com. Как обычно, решил некоторые вещи законспектировать, чтобы не забыть. Определение пользовательского типа внутри функции Ключевое слово auto Range-based for loop Вложенные классы Что должен уметь класс контейнера, чтобы быть «итерабельным» Лямбда-выражения Читать дальше …
