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

Графика

MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.
MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.
Здесь представлен скрипт 3D Studio MAX, при помощи которого можно разделить 3D модели на элементы по группам нормалей, также смотрите «MAX Script: Разделение 3D модели на элементы по группам сглаживания».

Читать
10 мая 2020

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

Что дает микродозинг мухоморами pharmex-market.ru. , Агенство недвижимости Питер