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

Подсказки

Страницы: 1 2 3 Следующая »
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.

Читать | Комментарии [87]
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

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: быстрое вычисление логарифмов.

Алгоритм быстрого вычисления логарифма, исходя из представления чисел с плавающей точкой

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

Luabind+Visual Studio 2010

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

Читать | Комментарии [9]
12 мар 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

Создание контекста OpenGL 3.0

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

Читать
14 окт 2009

Motion Blur без шейдеров

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

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

Решение проблемы разрывов при визуализации ландшафтов с LOD - уровнями
Решение проблемы разрывов при визуализации ландшафтов с LOD - уровнями

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

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

Одновременное вычисление sin(a) и cos(a)

Если необходимо посчитать одновременно синус и косинус некоторого угла (например, при построении матрицы вращения), быстрее будет вызвать функцию sincos, вместо того чтобы вызывать sin и cos по отдельности:

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

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