Войти

Подсказки

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

Читать
10 мая 2020

Программирование / Подсказки / Общее
Delphi: Точный таймер (Win API)
Всем привет! Выкладываю код точного таймера. Время измеряется в секундах и миллисекундах. Код для Delphi  (серия XE). Вставки на ассемблере сделаны для 64-х битной версии и избежания лишнего чтения/записи из стека из-за процедурных фреймов.

Читать | Комментарии [87]
24 апр. 2020

Программирование / Подсказки / Общее
^ Матрица LookAt
Доступно пользователям со статусом Участник

Читать | Комментарии [13]
29 янв. 2020

Программирование / Подсказки / Общее
Инверсия матрицы 4x4
Ниже приведен вариант инверсии для матриц 4x4, где порядок элементов строки горизонтальный (RowMajor). Не самый быстрый, но вполне рабочий (проверено под OpenGL) код для Pascal/Delphi.

Читать | Комментарии [86]
25 янв. 2020

Программирование / Подсказки / Общее
Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Привет всем! Сейчас я поделюсь с вами способом добавления кастомных типов исходников в MS Visual Studio.

Читать
20 ноя. 2018

Программирование / Подсказки / Физика
Экспорт геометрии коллизии с материалом из 3DS Max в формат XML.
В предыдущей статье http://www.gamedev.ru/code/tip/Collision_material мы разобрали как написать простой скрипт, с помощью которого можно создать костюмный материал, но мы не разобрали, как его использовать. В данной статье мы разберём как создать скрипт для экспорта из 3DS MAX геометрии коллизии с наложенным материалом.

Читать
6 дек. 2017

Программирование / Подсказки / Физика
Создание собственного материала для геометрии коллизии с помощью MAX Script
Создание собственного материала для геометрии коллизии с помощью MAX Script
Немного предистории. Поскольку наша команда писала свой игровой движок, постепенно развивая его, у нас появилась необходимость создать геометрию коллизии игрового мира. Но создать её — это одно дело, другое дело было наложить на неё соответсвующий материал и экспортировать саму геометрию с привязанными материалами и их флагами.

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

Арт / Подсказки
Рендер сцены в карту нормали стандартным рендером
Рендер сцены в карту нормали стандартным рендером
Иногда, если нужно отрендерить карту нормали для сцены, есть простой способ как это сделать. Суть приёма в том, что мы располагаем 6 направленных источников света вдоль каждой оси, выставляем цвет красный для оси X, зеленый для оси Z и синий для оси Y, их интенсивность ставим 0.5 для источников которые светят с положительной стороны и –0.5 для источников которые светят с отрицательной стороны. Ambient для сцены нужно выставить в 0.5. Материал для объектов нужно использовать белого цвета. Далее по порядку.

Читать
10 ноя. 2015

Звук / Подсказки
Привязка звуков к предметам добавит атмосферности.
Просматривая некоторые проекты, я неоднократно замечал, что звуки хоть и качественные, но как будто «не отсюда».

Читать
23 авг. 2014

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

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

Программирование / Подсказки / Общее
^ Как в Xcode превратить Command Line Tool в Cocoa Application.
Как в Xcode превратить Command Line Tool в Cocoa Application.
Доступно пользователям со статусом Участник

Читать
3 фев. 2014

Программирование / Подсказки / Общее
Матрица перехода от одного множества точек к другому
Иногда в программировании возникает задача - найти такую матрицу линейного преобразования, которая один меш(или просто множество точек) как можно ближе переводит к другому. Например, при моделировании деформаций иногда требуется найти такую матрицу трансформации, которая переводит тело из известного недеформированного состояния как можно ближе к также известному деформированному.

Читать | Комментарии [13]
11 сен. 2013

Программирование / Подсказки / Общее
Как собрать проект с циклическими зависимостями библиотек
Часто встречаются проекты, код которых разбит на статические библиотеки. В особых случаях, код этих библиотек ссылается на символы друг друга, что приводит к цикличесим зависимостям (circular dependencies).

Читать
24 июля 2013

Программирование / Подсказки / Общее
^ Как настроить VС++ так, чтобы он не заходил отладчиком в файлы SDK
Доступно пользователям со статусом Участник

Читать | Комментарии [6]
16 апр. 2013

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

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

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

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

Программирование / Подсказки / Общее
Равномерное движение по сплайну Катмулл-Рома
Часто появляются вопросы на форуме, на тему равномерного движения по сплайнам.

Читать | Комментарии [12]
17 авг. 2012

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

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

Программирование / Подсказки / Графика
Delphi DirectX 9: Делаем Bump Mapping.
Для того чтобы сделать Бамп нам нужно:

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

Программирование / Подсказки / Общее
Обёртка над QPC
Иногда, а точнее почти всегда, необходимо замерять время выполнения некоторых участков кода. Для этого есть удобное и весьма точное средство — QueryPerformanceCounter. Однако при его использовании необходимы некоторые преобразования, чтобы получить результат в секундах.

Читать | Комментарии [44]
16 мар. 2011

Программирование / Подсказки / Общее
Доступ к параметрам VC++ проекта из кода
Иногда нужно в С/С++ коде получить некоторые параметры из VC++ проекта, например его название. Очень полезно на случай всяких переименований в проекте.

Читать | Комментарии [8]
25 янв. 2011

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

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

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

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

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

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

Программирование / Подсказки / Общее
Трюки с float: быстрое вычисление логарифмов.
Алгоритм быстрого вычисления логарифма, исходя из представления чисел с плавающей точкой

Читать | Комментарии [34]
14 апр. 2010

Программирование / Подсказки / Общее
Luabind+Visual Studio 2010
Установил я вчера Microsoft Visual Studio 2010 RC. И начал переносить свой проект использующий luabind на новую Visual Studio. Как оказалось, luabind v0.9 не скомпилировался под ней.

Читать | Комментарии [9]
12 мар. 2010

Мобильные платформы / Подсказки
Инсталлирование драйвера CUDA на ноутбуки с GPU серии g200
К сожалению стандартные драйверы CUDA  от Nvidia не опознают современное железо и при инсталляции делают соответствующее сообщение.

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

Программирование / Подсказки / Общее
Исправления Lua и luabind для корректной работы с lua-потоками
При активной работе в Lua с lua-потоками в связке с luabind, иногда может возникнуть неприятная проблема, связанная с тем, что lua-поток будет удален раньше, чем luabind-объекты, которые были созданы во время исполнения данного потока.

Читать | Комментарии [5]
2 фев. 2010

Программирование / Подсказки / Общее
Простой аналог dynamic_cast и RTTI
Простой аналог dynamic_cast и RTTI для тех, кто не хочет, по каким-либо религиозным причинам, использовать встроенный...

Читать | Комментарии [6]
30 дек. 2009

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

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

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

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

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

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

Программирование / Подсказки / Общее
Подсчет скорости процессоров в многоядерной системе
Вероятно, многие из вас при инициализации движка проводят тестирование системы. Рассмотрим один из моментов такого тестирования — нахождение скорости отдельных процессоров/(ядер) в многопроцессорной/(многоядерной) системе.

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

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

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

Программирование / Подсказки / Общее
Быстрая hash-функция
Часто при программировании своих структур данных мы прибегаем к хэш-таблицам, пулам. Их эффективность напрямую зависит от хэш-фунции, которую мы в них используем. Хочу привести одну, проверенную временем и зарекомендовшую себя с лучшей стороны

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

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

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

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

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

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

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

Программирование / Подсказки / Сеть
^ Простой UDP hole punching
Доступно пользователям со статусом Участник

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

Арт / Подсказки
Рендеринг модели в sprite sheet с антиальязингом в 3D Studio MAX.
Для рендера 3D модели в спрайт (или sprite sheet) в 3D Studio MAX необходимо:

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

качественная помощь , Как получить бонус за регистрацию в 777Азино , Скачать игру Кроссаут бесплатно. , Популярнейший игровой автомат Crazy Monkey играть на деньги онлайн в клубе Вулкан. , подробнее о светодиодной ленте