Войти
ПрограммированиеСтатьи

Графика

Страницы: 1 2 3 Следующая »
Recursive Tile-based architecture
Recursive Tile-based architecture

Данная статья вводит понятие Recursive Tile-Based Architecture (RTBA), расширяющее возможности традиционной tile-based архитектуры. Предложенный подход позволяет работать с аппаратно-ускоренным тайловым растеризатором в терминах когерентного рейтрейсинга, каждый тайл рассматривается, как средство обработки пучка лучей.

Читать | Комментарии [116]
8 янв 2022

Освещение с использованием фотометрического профиля
Освещение с использованием фотометрического профиля

Фотометрический профиль (ФП) описывает распределение интенсивности света точечного источника, полученные с помощью соответствующего измерительного оборудования. Используя данные ФП можно добиться эффекта симуляции сложных теней и нестандартного затухания света.

Читать | Комментарии [25]
3 июня 2020

Предрасчёт рейкаста для эффективного рендеринга травы и меха
Предрасчёт рейкаста для эффективного рендеринга травы и меха

Здравствуйте. В этой статье я хотел бы рассказать об алгоритме, который я разработал в результате своих экспериментов с предрасчётом трассировки лучей. Результат работы одной из промежуточных версий алгоритма можно увидеть здесь:

Читать | Комментарии [62]
18 авг 2019

На пути к эффективному алгоритму Global Illumination, часть 1

В этой статье мы рассмотрим небольшой исторический контекст разработки алгоритмов global illumination, а также поразмышляем, какими свойствами должен обладать оптимальный алгоритм расчёта global illumination.

Читать | Комментарии [157]
22 апр 2019

Синхронизации в Vulkan
Синхронизации в Vulkan

Одно из важных отличий Vulkan от более старых графических API, это больший контроль над синхронизациями как с CPU, так и внутри GPU. И как всегда многопоточность и синхронизация — это достаточно сложная тема. Стоит помнить, что драйвер Vulkan не обязан оптимизировать вызовы API, поэтому для максимальной производительности синхронизации должны быть расставлены наиболее оптимальным образом.

Читать | Комментарии [36]
26 фев 2019

Пишем простой рейтрейсер используя Vulkan Raytracing
Пишем простой рейтрейсер используя Vulkan Raytracing

Всем привет! Сегодня я расскажу вам, как получить результат, изображенный на заглавной картинке к этой статье, используя Vulkan Raytracing.

Читать | Комментарии [62]
18 ноя 2018

Введение в Vulkan Raytracing
Введение в Vulkan Raytracing

В какое время мы живем! Казалось, еще недавно мы часами ждали пока CPU просчитает знаменитое изображение за авторством Тернера Уиттеда, а сегодня нам доступны потребительские модели видеокарт с аппаратной поддержкой рейтрейсинга! Любой программист трехмерной графики скажет, что он мечтал об этом дне, когда мы, наконец, можем трассироваться в мировом пространстве в реальном времени.

Читать | Комментарии [183]
4 ноя 2018

Стоимость OpenGL команд.
Стоимость OpenGL команд.

В современных проектах для получения красивой картинки отрисовываются тысячи различных объектов: персонажи, строения, ландшафт, природа, эффекты и т.д. Разумеется есть разные способы отобразить на экране геометрию. В этой статье мы рассмотрим как сделать это эффективно, посчитаем и сравним стоимость различных API вызовов для отрисовки геометрии.

Читать | Комментарии [85]
8 фев 2017

Rectilinear Texture Warping
Rectilinear Texture Warping

В данной статье я расскажу об адаптивном методе теневых карт под названием Rectilinear Texture Warping for Adaptive Shadow Maps, о его достоинствах и недостатках, а также о реальном опыте использования данного метода в проекте (и что из этого вышло).

Читать | Комментарии [29]
12 окт 2016

Vulkan API «Hello Triangle»
Vulkan API «Hello Triangle»

Статья описывает основные принципы работы с Vulkan API и включает в себя материал по установке SDK, обработке ошибок, работе с различными сущностями API и краткий курс по выводу треугольника, в качестве практической части. Работа позиционирует себя как быстрый экскурс в основы Vulkan API, не претендуя на полноту и оставляя детали на самостоятельное рассмотрение.

Читать | Комментарии [69]
15 сен 2016

Маленькая статья про Vulkan

Это небольшая статья для тех, кто хочет разобраться в основных концепциях нового графического API и его отличиях от предыдущего поколения. Я буду говорить о Vulkan vs OpenGL, но многие вещи можно применить и к другим API нового и старого поколений.

Читать | Комментарии [13]
1 сен 2016

Coverage Buffer из CryENGINE в деталях
Coverage Buffer из CryENGINE в деталях

Некоторое время назад я наткнулся в замечательной презентации Secrets of CryEGNINE 3 Graphics Technology от не менее замечательных Nickolay Kasyan, Nicolas Schulz и Tiago Sousa на описание любопытной технологии, названной авторами.

Читать | Комментарии [24]
21 окт 2015

Вставка одной поверхности в другую (многопоточный алгоритм)
Вставка одной поверхности в другую (многопоточный алгоритм)

В статье рассматривается метод встраивания одной поверхности в другую. Данная статья имеет некоторые «нечеткие» определения, и в ней не гарантируется работа метода на любой геометрии. Она носит скорее исследовательский и теоретический характер, но возможно и это кому-то поможет.

Читать | Комментарии [28]
9 сен 2015

Dynamic vertex pulling в Direct3D11
Dynamic vertex pulling в Direct3D11

Данная статья рассказывает про то, как можно рисовать миллионы уникальных объектов в Direct3D11 с минимальным оверхедом на CPU и максимально близкой к D3D12 или «AMD Mantle» скоростью. В статье показан пример использования так называемых Structured Buffers.

Читать | Комментарии [38]
21 янв 2015

Screen space ambient occlusion с учетом нормалей и расчет одного отражения света.
Screen space ambient occlusion с учетом нормалей и расчет одного отражения света.

В этой статье я расскажу, как я с нуля делал SSAO (Screen Space Ambient Occlusion — расчёт фонового освещения в экранном пространстве) с учетом нормалей. Сразу следует отметить, что это наиболее простая и прямолинейная реализация «в лоб», не претендующая на оптимальность или новизну. Статья будет полезна в первую очередь тем, кто имеет желание разобраться, как это работает.

Читать | Комментарии [69]
17 янв 2015

Объемы распространения света для непрямого освещения в режиме реального времени.
Объемы распространения света для непрямого освещения в режиме реального времени.

Данная статья описывает новый метод аппроксимации непрямого освещения динамических сцен для приложений реального времени, таких как видео игры. Мы используем трехмерные сетки и сферические функции для приближения пространственного и углового распределения света в сцене. Предложенный метод не требует предрасчётов и поддерживает большие сцены с помощью иерархии вложенных сеток.

Читать | Комментарии [78]
6 янв 2014

Кое-что о размытии изображения с помощью шейдеров.
Кое-что о размытии изображения с помощью шейдеров.

Эта статья познакомит читателя с основными техниками размытия изображения при помощи GLSL шейдеров. Данные техники широко применяется в играх для создания таких эффектов как засветка (bloom), глубина резко изображаемого пространства (DOF), эфект движения на большой скорости итд.

Читать | Комментарии [44]
28 сен 2013

Скелетная анимация на пальцах.
Скелетная анимация на пальцах.

Многие новички, которые только начинают постигать «скелетку», очень часто не понимают как она работает (даже при наличии многих статей на данном ресурсе) и что для её работы нужно, собственно им я и хотел бы объяснить на пальцах как работает скелетная анимация.

Читать | Комментарии [59]
26 дек 2012

Виртуальные текстуры
Виртуальные текстуры

Виртуальная текстура (или мегатекстура ) — технология развитая Джоном Кармаком. Виртуальные текстуры снимают ограничения на арт, позволяют сделать игровой мир более уникальным, раскрасив неповторяющимися текстурами. В этой статье вы узнаете о структуре виртуальной текстуры и о процессе работы с ней.

Читать | Комментарии [103]
4 июля 2012

GPSM: Geometry Pitch Shadow Map
GPSM: Geometry Pitch Shadow Map

GPSM (Geometry Pitch Shadow Map) — еще один метод рендеринга теневых карт, дающий возможность реализовать тени, покрывающие огромные территории, используя всего одну текстуру, в которую происходит рендеринг (render target). Метод GPSM даёт для теней вдали от камеры наблюдения качество хуже, а вблизи — лучше. Этот метод я изобрел для своего движка и уже использую в двух проектах, решил поделится с вами, надеюсь, кому-то пригодится.

Читать | Комментарии [157]
30 апр 2012

OpenGL на Qt 4. Это просто! (часть 2)
OpenGL на Qt 4. Это просто! (часть 2)

Во 2-ой части продолжается рассмотрение работы с OpenGL на Qt 4. Читатель познакомится с настройкой контекста OpenGL, созданием анимации и простым наложением текстур. Заодно в рамках «чистого» OpenGL будет рассмотрена интерактивная графика с помощью режима выбора (выбираем объекты на экране для дальнейшей манипуляции с ними), в рамках «чистого» Qt будет продемонстрировано создание главного окна, меню (menu bar), задействованы механизм сигналов и слотов и технология дерева объектов (иерархии объектов).

Читать | Комментарии [17]
10 авг 2011

Software Occlusion Culling
Software Occlusion Culling

Оклюжен кулинга сейчас, наверное, нет только у ленивых. Некоторые используют HW OC, у которых есть очевидные недостатки в виде латентности и дополнительной нагрузки на GPU. Другие используют софтовую растеризацию. К примеру, мы можем растеризовать глубину близлежащих оклюдеров (специальной или прямо рендер геометрии), затем проверять баунд боксы отрисовываемых объектов относительно этой глубины. Радостей от такого подхода может быть несколько.

Читать | Комментарии [134]
3 апр 2011

OpenGL на Qt 4. Это просто! (часть 1)
OpenGL на Qt 4. Это просто! (часть 1)

Это ознакомительная статья, посвящённая программированию 3D-графики OpenGL (Open Graphics Library — открытая графическая библиотека) с помощью кроссплатформенной библиотеки Qt 4 (Q + toolkit: «Q» — префикс классов (с красивым начертанием, по мнению разработчиков); toolkit — инструментарий). Я надеюсь, она окажется полезной для тех, кто впервые решил познакомиться с OpenGL и выбирает практичную и удобную библиотеку GUI (Graphical User Interface — графический интерфейс пользователя).

Читать | Комментарии [98]
19 янв 2011

Моделирование стеклянных поверхностей
Моделирование стеклянных поверхностей

С помощью современных графических адаптеров можно получать все более сложные динамические сцены. Это означает, что высококачественный (фотореалистичный) рендеринг переноситься из offline в реальное время. В частности, одной из насущных задач компьютерной графики является расчет и рендеринг глобального освещения и сложных материалов. В этой статье я хотел бы рассказать о моделировании стеклянных предметов.

Читать | Комментарии [63]
31 июля 2010

Графические файлы DDS. Что лучше: DXT1, DXT3, DXT5?
Графические файлы DDS. Что лучше: DXT1, DXT3, DXT5?

Файлы DDS. Описание формата DXTn, его возможностей, простые рекомендации по выбору формата компрессии.

Читать | Комментарии [43]
16 июля 2010

GPU Global Illumination (фейковый)
GPU Global Illumination (фейковый)

В этой статье будет обсуждаться реализация Глобально Освещения (Global Illumination) с использованием GPU, а фейк весь в том, что мы всё-таки будем использовать и CPU – для трассировки «фотонов».

Читать | Комментарии [22]
27 июня 2010

Каустика в реальном времени
Каустика в реальном времени

Данная статья расскажет о создании и отрисовке каустики от прозрачных и полупрозрачных объектов.

Читать | Комментарии [75]
5 янв 2010

Детали использования сферических функций для интерактивного рендеринга.
Детали использования сферических функций для интерактивного рендеринга.

В последнее время в компьютерной графике сильно возрос интерес к получению фотореалистичных изображений с использованием сложных материалов и источников света. Освещение от обширных источников света, мягкие тени, самоотражения и глобальное освещение (global illumination) – довольно важные эффекты в синтезе фотореалистичных изображений.

Читать | Комментарии [98]
12 окт 2009

Моделирование подповерхностного рассеивания
Моделирование подповерхностного рассеивания

В этой статье речь пойдёт о быстром fake-методе реализации подповерхностного рассеивания (subsurface scattering) полупрозрачных материалов.

Читать | Комментарии [13]
30 июня 2009

Основы создания мягких теней (GLSL)
Основы создания мягких теней (GLSL)

Данная статья является естественным продолжением и дополнением статьи «Реализация карт теней с использованием GLSL шейдеров» Дмитрия Беспалова (aka Executor).

Читать | Комментарии [31]
19 июня 2009

Динамические тени, основаные на CubeMap
Динамические тени, основаные на CubeMap

Это статья для начинающих, в которой приведён простейший пример построения динамических теней с помощью СubeMap'ов.

Читать | Комментарии [97]
18 июня 2009

Быстрая реализация модели освещения Кука-Торренса с использованием GLSL
Быстрая реализация модели освещения Кука-Торренса с использованием GLSL

С развитием технологий и увеличением вычислительно мощности видеокарт все легче становиться использовать в трехмерной графике сложные вычислительные алгоритмы. Иногда, конечно, приходится немного пожертвовать производительностью ради красивого вида. Но что поделаешь — красота требует жертв, а сама красота в трехмерной графике достигается использованием «честных», то есть физически обоснованных алгоритмов. Одним из таких алгоритмов и является модель освещения Кука-Торренса.

Читать | Комментарии [47]
15 июня 2009

Создание реалистичной поверхности воды с использованием GLSL
Создание реалистичной поверхности воды с использованием GLSL

Современные игры трудно представить без реализации в них воды. И каждый добросовестный разработчик стремится сделать «свою» воду еще лучше, еще реалистичнее, чем ту, что была сделана до него.

Читать | Комментарии [480]
12 июня 2009

Intel Graphics Performance Analyzers (Intel GPA) 2.0.
Intel Graphics Performance Analyzers (Intel GPA) 2.0.

В этой статье мы расскажем о недавно анонсированном новом продукте для профилирования и отладки графических приложений – Intel® Graphics Performance Analyzers (Intel® GPA) 2.0.

Читать | Комментарии [31]
11 апр 2009

Реализация карт теней с использованием GLSL шейдеров
Реализация карт теней с использованием GLSL шейдеров

У многих разработчиков возникают трудности при построении теней. Данная статья призвана помочь лучше понять OpenGL реализацию теневых карт на шейдерах.

Читать | Комментарии [226]
1 фев 2009

Использование мегатекстур (megatexture, clipmaps).
Использование мегатекстур (megatexture, clipmaps).

В данной статье пойдет речь о том, как вывести изображение ландшафта, который покрыт одной большой, ну просто огромной текстурой (занимающей мегабайты, а то и гигабайты дискового пространства). И все это на обычных видеокартах. Есть исходники на C++!

Читать | Комментарии [509]
9 ноя 2007

HSR-алгоритм: Рендеринг ландшафта на основе карты высот.

Здесь я представлю HSR-алгоритм для ландшафтов на основе карты высот без LOD-а, наиболее эффективный для случаев, когда камера смотрит на ландшафт сверху или под углом не более 30° от этого направления. Этим я и ограничусь в этой заключительной части статьи. Я нисколько не преумаляю значения всевозможных Quad-Tree/Octree, но по ним и так есть немало статей во всемирной сети и даже на этом сайте (например, Разбиение объектного пространства сцены путём построения octree-дерева.

Читать
28 окт 2006

Технологии эффективного рендеринга геометрии.

В этой статье я попытаюсь осветить такой банальный, пожалуй, вопрос как вывод геометрии. Однако несмотря на его «простоту», на форуме до сих пор частенько возникают вопросы, типа, а что лучше, VBO или CVA/VAR, как лучше выводить геометрию - стрипами или triangle lists с оптимизацией под кэш, какие индексы ushort или uint работают быстрее, можно ли использовать целочисленные типы данных для вершин/нормалей/текс.координат, а также масса подобных вопросов.

Читать | Комментарии [28]
28 окт 2006

Библиотека OpenIL

Привет всем! Я расскажу, как пользоваться простой и удобной библиотекой для загрузки изображения из графических файлов различных форматов. Библиотека OpenIL также известная как DevIL (второе название дали из-за вопросов торговой марки) свободно распространяемая.

Читать | Комментарии [103]
22 дек 2004

Доклад о порталах и секторах

Введение

Читать | Комментарии [40]
22 дек 2004

Страницы: 1 2 3 Следующая »
новости игр пк