
Здесь представлен скрипт 3D Studio MAX, при помощи которого можно разделить 3D модели на элементы по группам нормалей, также смотрите «MAX Script: Разделение 3D модели на элементы по группам сглаживания».
Читать
10 мая 2020
Здесь представлен скрипт 3D Studio MAX, при помощи которого можно разделить 3D модели на элементы по группам нормалей, также смотрите «MAX Script: Разделение 3D модели на элементы по группам сглаживания».
Читать
10 мая 2020
Всем привет! Выкладываю код точного таймера. Время измеряется в секундах и миллисекундах. Код для Delphi (серия XE). Вставки на ассемблере сделаны для 64-х битной версии и избежания лишнего чтения/записи из стека из-за процедурных фреймов.
Читать | Комментарии [87]
24 апр 2020
Доступно пользователям со статусом Участник
Читать | Комментарии [13]
29 янв 2020
Ниже приведен вариант инверсии для матриц 4x4, где порядок элементов строки горизонтальный (RowMajor). Не самый быстрый, но вполне рабочий (проверено под OpenGL) код для Pascal/Delphi.
Читать | Комментарии [87]
25 янв 2020
Привет всем! Сейчас я поделюсь с вами способом добавления кастомных типов исходников в MS Visual Studio.
Читать
20 ноя 2018
В предыдущей статье http://www.gamedev.ru/code/tip/Collision_material мы разобрали как написать простой скрипт, с помощью которого можно создать костюмный материал, но мы не разобрали, как его использовать. В данной статье мы разберём как создать скрипт для экспорта из 3DS MAX геометрии коллизии с наложенным материалом.
Читать
6 дек 2017
Немного предистории. Поскольку наша команда писала свой игровой движок, постепенно развивая его, у нас появилась необходимость создать геометрию коллизии игрового мира. Но создать её — это одно дело, другое дело было наложить на неё соответсвующий материал и экспортировать саму геометрию с привязанными материалами и их флагами.
Читать | Комментарии [3]
17 янв 2017
При разработке плагина для 3D Studio Max необходимо часто перезапускать студию. Перегружать студию, а тем более в режиме дебага, довольно долго. Было бы удобно перезагружать не студию, а плагин. К сожалению, 3D Studio Max не имеет такой возможности. Если она загрузила плагин, то это раз и навсегда. Описанный здесь способ был подсказан кем-то из участников данного ресурса. Так что авторство идеи не за мной, я лишь решил оформить это в виде подсказки.
Читать | Комментарии [11]
12 фев 2014
Иногда в программировании возникает задача - найти такую матрицу линейного преобразования, которая один меш(или просто множество точек) как можно ближе переводит к другому. Например, при моделировании деформаций иногда требуется найти такую матрицу трансформации, которая переводит тело из известного недеформированного состояния как можно ближе к также известному деформированному.
Читать | Комментарии [13]
11 сен 2013
Часто встречаются проекты, код которых разбит на статические библиотеки. В особых случаях, код этих библиотек ссылается на символы друг друга, что приводит к цикличесим зависимостям (circular dependencies).
Читать
24 июля 2013
Доступно пользователям со статусом Участник
Читать | Комментарии [6]
16 апр 2013
На написание этой подсказки меня сподвигло открытие полученное в результате вдумчивого чтения мануалов по OpenGL.
Читать | Комментарии [40]
21 янв 2013
Довольно много времени потратил на раскопки по данной проблеме и решил поделиться результатами.
Читать | Комментарии [20]
9 дек 2012
Часто появляются вопросы на форуме, на тему равномерного движения по сплайнам.
Читать | Комментарии [12]
17 авг 2012
У многих начинающих разработчиков бывают ошибки при рендеринге, когда либо на экране ничего нет, либо всё выглядит совсем неверно. Это может быть связано с тем, что матрицы трансформации в шейдер попадают с неверным порядком хранения столбцов и строк в памяти.
Читать
25 июня 2012
Для того чтобы сделать Бамп нам нужно:
Читать | Комментарии [1]
31 авг 2011
Иногда, а точнее почти всегда, необходимо замерять время выполнения некоторых участков кода. Для этого есть удобное и весьма точное средство — QueryPerformanceCounter. Однако при его использовании необходимы некоторые преобразования, чтобы получить результат в секундах.
Читать | Комментарии [44]
16 мар 2011
Иногда нужно в С/С++ коде получить некоторые параметры из VC++ проекта, например его название. Очень полезно на случай всяких переименований в проекте.
Читать | Комментарии [8]
25 янв 2011
Очень часто разработчики упускают этот важный момент, и зря — два монитора нынче не редкость, а неожиданное сворачивание игры в самый ответственный момент сильно раздражает игрока.
Читать | Комментарии [8]
27 ноя 2010
Как известно, при использовании фильтрации DXT1-текстур с включенным альфа-тестом (>= 128) или с clip(difftex.a-0.5) в шейдере, появляется темная обводка на границе с прозрачными текселями из-за того, что цвет прозрачных текселей в DXT1 всегда черный. И хотя упоминаний о данной проблеме можно найти немало в интернетах, решений предлагается совсем немного (честно говоря, нашел я всего одно, в списке ниже идет первым).
Читать | Комментарии [5]
19 мая 2010
Для текстурирования местности, построенной на карте высот, наибольшее распространение получил метод, использующий несколько слоев бесшовных (затайленых) текстур. Слои накладываются один поверх другого и смешиваются для получения финального изображения. В дополнение к бесшовной текстуре каждый слой имеет карту прозрачности, определяющую с каким весом текстура слоя смешивается в любой точке местности. В отличие от самой бесшовной текстуры, эта карта прозрачности растягивается на весь ландшафт, и, следовательно, имеет очень низкую детализацию.
Читать | Комментарии [11]
18 мая 2010
Алгоритм быстрого вычисления логарифма, исходя из представления чисел с плавающей точкой
Читать | Комментарии [155]
14 апр 2010
Установил я вчера Microsoft Visual Studio 2010 RC. И начал переносить свой проект использующий luabind на новую Visual Studio. Как оказалось, luabind v0.9 не скомпилировался под ней.
Читать | Комментарии [9]
12 мар 2010
При активной работе в Lua с lua-потоками в связке с luabind, иногда может возникнуть неприятная проблема, связанная с тем, что lua-поток будет удален раньше, чем luabind-объекты, которые были созданы во время исполнения данного потока.
Читать | Комментарии [5]
2 фев 2010
Простой аналог dynamic_cast и RTTI для тех, кто не хочет, по каким-либо религиозным причинам, использовать встроенный...
Читать | Комментарии [6]
30 дек 2009
Как быстро сжать несколько текстур в DXT1-5? Допустим есть папка с текстурами в стандартных форматах (например, JPEG, PNG). Необходимо их сжать в DDS/DXTn.
Читать | Комментарии [3]
17 ноя 2009
Как известно, при применении обычной перспективной матрицы проекций мы получаем следующие выражения для экранных координат...
Читать | Комментарии [42]
10 ноя 2009
Доступно пользователям со статусом Участник
Читать
6 ноя 2009
Вероятно, многие из вас при инициализации движка проводят тестирование системы. Рассмотрим один из моментов такого тестирования — нахождение скорости отдельных процессоров/(ядер) в многопроцессорной/(многоядерной) системе.
Читать
6 ноя 2009
Иногда нужно знать какая видеокарта стоит на компьютере. С помощью этого кода, например, можно определить наличие некоторых видеокарт.
Читать | Комментарии [10]
16 окт 2009
Часто при программировании своих структур данных мы прибегаем к хэш-таблицам, пулам. Их эффективность напрямую зависит от хэш-фунции, которую мы в них используем. Хочу привести одну, проверенную временем и зарекомендовшую себя с лучшей стороны
Читать | Комментарии [6]
16 окт 2009
Многие программисты сталкиваются с тем, что фиксированный коэффициент для эффекта motion blur не подходит.
Читать | Комментарии [1]
16 окт 2009
Использование библиотеки DevIL (OpenIL) (для загрузки изображений из графических файлов) в Delphi просто и удобно.
Читать | Комментарии [4]
15 окт 2009
Доступно пользователям со статусом Участник
Читать
15 окт 2009
Доступно пользователям со статусом Участник
Читать
14 окт 2009
Здесь покажу как создать контекст OpenGL 3.0, кодом и комментариями.
Читать
14 окт 2009
Простая реализация эффекта Motion blur в DirectX без использования шейдеров
Читать | Комментарии [11]
12 окт 2009
Простейший способ избежать разрывов ландшафта на границе различных уровней детализации.
Читать | Комментарии [139]
12 окт 2009
Если необходимо посчитать одновременно синус и косинус некоторого угла (например, при построении матрицы вращения), быстрее будет вызвать функцию sincos, вместо того чтобы вызывать sin и cos по отдельности:
Читать | Комментарии [22]
12 окт 2009