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

Подсказки

Подсветка кода и 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: быстрое вычисление логарифмов.
Алгоритм быстрого вычисления логарифма, исходя из представления чисел с плавающей точкой

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

inline функции
Оказывается, добавления ключевого слова __inline во многих случаях недостаточно для того, чтобы компилятор поместил тело функции прямо в место ее вызова из программы. В таких случаях помогает ключевое слово __forceinline, при появлении которого компилятор "выключает" свой алгоритм оценки эффективности встроенной функции

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

Поиск Memory Leaks в VisualStudio
Поиск и устранение утечек памяти в Visual Studio.

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

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

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

Класс, который знает все свои экземпляры
Класс, который знает все свои экземпляры. Решение конечно известное, но очень поможет новичкам.

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