Войти
ПрограммированиеПодсказки

Графика

3D Studio Max: Перезагружаемый плагин
При разработке плагина для 3D Studio Max необходимо часто перезапускать студию. Перегружать студию, а тем более в режиме дебага, довольно долго. Было бы удобно перезагружать не студию, а плагин. К сожалению, 3D Studio Max не имеет такой возможности. Если она загрузила плагин, то это раз и навсегда. Описанный здесь способ был подсказан кем-то из участников данного ресурса. Так что авторство идеи не за мной, я лишь решил оформить это в виде подсказки.

Читать | Комментарии [11]
12 фев. 2014

wglShareList и миф рендера в несколько окон
На написание этой подсказки меня сподвигло открытие полученное в результате вдумчивого чтения мануалов по OpenGL.

Читать | Комментарии [40]
21 янв. 2013

GLSL: о причине, по которой glGetUniformLocation() может вернуть -1
Довольно много времени потратил на раскопки по данной проблеме и решил поделиться результатами.

Читать | Комментарии [20]
9 дек. 2012

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

Читать
25 июня 2012

Delphi DirectX 9: Делаем Bump Mapping.
Для того чтобы сделать Бамп нам нужно:

Читать | Комментарии [1]
31 авг. 2011

Как избежать сворачивания полноэкранной windows-игры в многомониторной конфигурации.
Очень часто разработчики упускают этот важный момент, и зря — два монитора нынче не редкость, а неожиданное сворачивание игры в самый ответственный момент сильно раздражает игрока.

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

Три с половиной способа подружить альфа-тест с DXT1
Как известно, при использовании фильтрации DXT1-текстур с включенным альфа-тестом (>= 128) или с clip(difftex.a-0.5) в шейдере, появляется темная обводка на границе с прозрачными текселями из-за того, что цвет прозрачных текселей в DXT1 всегда черный. И хотя упоминаний о данной проблеме можно найти немало в интернетах, решений предлагается совсем немного (честно говоря, нашел я всего одно, в списке ниже идет первым).

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

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

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

Быстро сжать кучу текстур в DXT1-5
Как быстро сжать несколько текстур в DXT1-5? Допустим есть папка с текстурами в стандартных форматах (например, JPEG, PNG). Необходимо их сжать в DDS/DXTn.

Читать | Комментарии [3]
17 ноя. 2009

Равномерное распределение глубины в z буфере.
Как известно, при применении обычной перспективной матрицы проекций мы получаем следующие выражения для экранных координат...

Читать | Комментарии [42]
10 ноя. 2009

^ Как отрендерить SkyBox с помощью MaxScript
Доступно пользователям со статусом Участник

Читать
6 ноя. 2009

Как определить тип установленой видеокарты с помощью D3D
Иногда нужно знать какая видеокарта стоит на компьютере. С помощью этого кода, например, можно определить наличие некоторых видеокарт.

Читать | Комментарии [10]
16 окт. 2009

Зависимость коэффициента motion blur от времени кадра.
Многие программисты сталкиваются с тем, что фиксированный коэффициент для эффекта motion blur не подходит.

Читать | Комментарии [1]
16 окт. 2009

Использование библиотеки DevIL в Delphi
Использование библиотеки DevIL (OpenIL) (для загрузки изображений из графических файлов) в Delphi просто и удобно.

Читать | Комментарии [4]
15 окт. 2009

^ Простой способ сглаживания движения курсора
Доступно пользователям со статусом Участник

Читать
15 окт. 2009

Создание контекста OpenGL 3.0
Здесь покажу как создать контекст OpenGL 3.0, кодом и комментариями.

Читать
14 окт. 2009

Motion Blur без шейдеров
Простая реализация эффекта Motion blur в DirectX без использования шейдеров

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

Решение проблемы разрывов при визуализации ландшафтов с LOD - уровнями
Решение проблемы разрывов при визуализации ландшафтов с LOD - уровнями
Простейший способ избежать разрывов ландшафта на границе различных уровней детализации.

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

Быстрая аппроксимация инструкции RSQ
Ускорения вычисления 1/sqrt(x) аппроксимацией

Читать
12 окт. 2009

Несколько полезных функций, использующих векторы.
Эти функции довольно универсальны и вместе с тем задачи, которые они выполняют, довольно часто используемы. Среди областей их применения могу выделить следующие, в которых я сам их использовал: управление камерой клавиатурой/мышью, позиционирование 3D звуков, создание игрового радара. Надеюсь, они сэкономят Ваше время.

Читать
12 окт. 2009

Избавиться от зависимости от DLL D3DX (d3dx9_30.dll, d3dx9_41.dll ...)
Классическая проблема начинающих разработчиков на Direct3D -

Читать | Комментарии [90]
24 сен. 2009

^ Вычисление коэффициента Френеля, аппроксимация для воды.
Вычисление коэффициента Френеля, аппроксимация для воды.
Доступно пользователям со статусом Участник

Читать
21 июня 2009

^ Камера 3rd person из first person одной строчкой кода
Доступно пользователям со статусом Участник

Читать
28 мая 2009

Вычисление угловой скорости по кватерниону
Если у вас  вращение некоторого объекта задается кватернионом, и необходимо найти его угловую скорость, то это легко сделать, используя  следующую формулу: dq/dt = 0.5*w*q, где

Читать
26 окт. 2007

Экспорт моделей из 3D Studio Max в свой формат при помощи MaxScript.
Как написать скрипт для экспорта объектов из 3D Studio Max в свой формат.

Читать
26 мар. 2006

Анимация листвы деревьев, травы
Можно очень просто и практически без потери скорости добавить простую, но неплохо оживляющую картинку, анимацию листвы деревьев и т.п. Нужно просто периодически смещать текстурные координаты вдоль какой либо оси (в зависимости от наложения текстуры). Например по Y:

Читать
26 мар. 2006

Поворот камеры по перемещению мыши.
Я, когда начинал программировать игры от первого лица, не имея доступа в Интернет, долго бился над функцией Mouse look. В итоге я нашёл, как мне кажется, наиболее оптимальный вариант.

Читать
26 мар. 2006

Определение реального объема видеопамяти
Наверняка многие из вас хотели бы получить общий локальный объем видеопамяти на видеокарте, а не свободный объем локальной (video) плюс нелокальной (AGP) памяти, который возвращается функцией IDirect3DDevice9::GetAvailableTextureMem()?

Читать | Комментарии [26]
25 мар. 2006

Вывод двухмерной графики в Direct3D.
Для того, чтобы вывести двухмерную картинку на экран в Direct3D необходимо просто вывести полигоны в экранных кординатах. Этого можно добится несколькими способами:

Читать
25 мар. 2006

^ Порядок обхода поддеревьев в octree для front-to-back traversal.
Доступно пользователям со статусом Участник

Читать
25 мар. 2006

^ Как смоделировать toon-прожектор.
Доступно пользователям со статусом Участник

Читать
25 мар. 2006

^ 3DS MAX 6,7. Batch Export
Доступно пользователям со статусом Участник

Читать
25 мар. 2006

^ Отладка и подсветка синтаксиса шейдеров.
Доступно пользователям со статусом Участник

Читать
25 мар. 2006

^ Нахождение плоскости перпендикулярной к Dir камеры
Доступно пользователям со статусом Участник

Читать
24 мар. 2006

Прозрачность при суммирующем смешивании.
Одна из проблем, чаще всего встречающихся при разработке 3Д приложения — это «неправильная» прозрачность, когда сквозь один прозрачный объект видно либо не все объекты, либо не видно некоторые прозрачные. Очень часто такая проблема возникает при организации системы частиц — эти самые частицы зачастую отображабтся неправильно, что никак не хорошо сказывается на их внешнем виде...

Читать | Комментарии [25]
24 мар. 2006

^ Меню в OpenGL
Доступно пользователям со статусом Участник

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

^ Z fighting и как его избежать.
Доступно пользователям со статусом Участник

Читать
19 июня 2003