Подсказки (4 стр)
Страницы:
1 2 3 4 5 6 Следующая »
Цикл while(0)
Иногда удобно использовать цикл do { ... } while (0); Дело в том, что, как сами видите, он выполнится один раз. А прелесть в том, что можно использовать оператор break; Это может быть полезно, скажем, вместо вложенных if(...) и при проверке файла, имитируя работу try() ... catch(), избежать goto.
Читать
15 мая 2005
"Автодокументирующие" комментарии в VS .NET
VS .NET применяет свой формат автодокументирующих комментариев на XML. Если перед функцией набрать ///, то VS .NET автоматически преобразует три черты в:
Читать
5 мая 2005
Программирование / Подсказки / Общее
^ Простая реализация RTTI (run time type information)
Доступно пользователям со статусом Участник
Читать | Комментарии [54]
26 апр 2005
Делаем из Visual C 6 Visual C 7
Возможно использовать Visual C++ 7 компилятор со средой Visual C++ 6. Для этого скачиваем бесплатную версию MSVS7(только С++ компилятор). Устанавливаем его. После копируем все файлы отсюда ...\Microsoft Visual C++ Toolkit 2003\bin\*.* сюда ...\VisualC6\VC98\Bin\ Далее запускаем MSDev и в Tools->Options->Directories если не прописан путь к ...\Microsoft Visual C++ Toolkit 2003\include и ...
Читать
17 апр 2005
Как перехватить аварийное завершение программы системой
Иногда, играя в какую-нибудь игру мы наблюдаем такую картину - игра "вываливается" в Windows с сообщением типа "Программа выполнила некорректное обращение к памяти и будет закрыта". Хорошо еще, если мы незадолго до этого сохранились. Если нет, то уж совсем обидно. Все мы люди и в реальных "больших" проектах мы не всегда можем найти все ошибки. Таким образом, не помешает механизм, когда программа "перехватывает" такие критические ситуации и перед закрытием скидывает на диск важную информацию.
Читать
12 апр 2005
Property в С++
Выравнивающий стандартный аллокатор
Очень часто при работе с SSE ( да и просто с потоком данных ) требуется, чтобы эти данные были выровнены. Это можно осуществить с помощью функций _mm_malloc() и _mm_free(). Но иногда хочется использовать std контейнеры для работы с выровненными данными. Приведу класс-аллокатор, который можно использовать во стандартных контейнерах:
Читать
4 апр 2005
^ Создание текстур генераторами (must have)
Доступно пользователям со статусом Участник
Читать
30 мар 2005
Программирование / Подсказки / Общее
^ Быстрое приведение float к int
Доступно пользователям со статусом Участник
Читать | Комментарии [23]
30 мар 2005
Программирование / Подсказки / Общее
^ Win32 API: Unicode vs Non-Unicode
Доступно пользователям со статусом Участник
Читать | Комментарии [3]
16 мар 2005
Отключение диагностики памяти в MFC приложении
Диагностика памяти вещь очень полезная. Однако, при большом количестве запросов на выделение памяти диагностика может занимать довольно много времени. Если вы не хотите ждать по 5-7 секунд после завершения программы, диагностику можно отключить функцией
Читать
14 мар 2005
cfg за 5 минут
Вместо написания фукции чтения из файла можно воспользоваться функцией GetPrivateProfileString() из WIN32 API (у вас же используется windows.h ?) Вообще-то она предназначена для чтения из файла с ключами для реестра. Но никто не мешает использовать ее для собственных нужд. А это удобно, т.к. позволяет использовать в файле с настройками коментарии и разбиение переменных на группы.
Читать | Комментарии [3]
12 мар 2005
Ускорение некоторых операций с плавающей точкой
Иногда требуется выполнить простейшую операцию с вещественным числом, например, изменить знак или вычислить абсолютное значение. Если ваше вещественное число оказалось в памяти ( например это значение переменной и оптимизатор ее не сократил ), то некоторые операции быстрее выполнять непосредственно меняя биты вещественного числа. Вот некоторые макросы, которые это делают:
Читать
12 мар 2005
^ Tiny performance pack
Доступно пользователям со статусом Участник
Читать
12 мар 2005
Ускорение сравнений чисел типа float
Здесь компилируемый исходник: реализация ufloat, поиск максимума из массива и замер тактов процессора. На разных машинах могут быть различные результаты.
Читать
12 мар 2005
^ Быстрое нахождение количества выставленных бит в числе
Доступно пользователям со статусом Участник
Читать
3 мар 2005
Подключение .lib файла через препроцессор.
В Visual C++ можно и не входить в настройки проекта для того, чтобы подключить .lib файл. Достаточно в директиву препроцессора вставить следующую строку:
Читать
3 мар 2005
Быстрое отслеживание значения GetLastError() в Debug режиме.
Для того чтобы отследить значение возврвщаеемое функциеей GetLastError() во время отладки приложения, добавьте в поле Watch переменную @err. Значение этой переменной будет соответствовать коду ошибки. Если добавить флаг hr:
Читать
7 янв 2005
Автоматическая синхронизация с CVS
При работе с open-source софтом более логично (и экономнее по траффику) использовать CVS, нежели тянуть tarballы. Этот скрипт на питоне позволяет автоматизировать процесс обновления софта с CVS.
Читать
12 дек 2004
^ Перетаскивание окна за любую точку одной строкой
Доступно пользователям со статусом Участник
Читать
23 ноя 2004
J2ME: немного об экономии памяти.
При программировании игр на J2ME появляется извечная проблема - как в ограниченную память мобилки вставить побольше кода/графики/уровней... Вот пара банальных, но работающих советов.
Читать
16 ноя 2004
Автоматическая версия Build
Вам ведь всегда хотелось, чтобы при каждой компиляции повышалась версия build-а файла. Это легко сделать. Надо лишь скачать отсюда — http://www.rt.mipt.ru/~detectivestory/others/transfer/BuildNumberIncreaser.zip dll и поместить ее в папку с VC.
Читать
26 окт 2004
Paint Vertex для текстурирования
Бывают такие ситуации, когда сложная модель раскладывается на несколько частей. В результате чего иногда непонятно, где текстура должна быть одного цвета (шов). Для облегчения этой задачи можно сделать следующее (для 3ds Max):
Читать
23 окт 2004
Мэпинг сложных моделей в MAX 6
Если модель достаточно сложная и объемная, а стандартные типы мэппинга не приемлимы можно поступить следующим образом :
Читать
15 окт 2004
^ Один из способов защиты ShareWare программ
Доступно пользователям со статусом Участник
Читать
14 июля 2004
Программное отключение VSync в OpenGL.
Нужно использовать расширение OpenGL — WGL_EXT_swap_control. Просто добавь кусочек кода к проекту и жизнь шикарна:
Читать
13 июля 2004
^ Log файл в формате xml
Доступно пользователям со статусом Участник
Читать
11 июля 2004
Быстрое удаление элемента из вектора, массива.
Заменяем ненужный элемент последним и уменьшаем количесто элементов
Читать
10 июля 2004
^ Возможность inline-ить методы/функции + положить их в CPP.
Доступно пользователям со статусом Участник
Читать
9 июля 2004
Запыленные Lens Flare
Берем две текстуры для блика — одну обычную, представляющую собой корону источника освещения, а вторую — текстуру дымки (обычные черно-белые Difference Clouds из Photoshop), примерно такие:
Читать
15 июня 2004
Как дешево и сердито сделать неоновое освещение
Для начала необходимо подготовить текстуру. Обычно неоном светится какая-либо надпись или логотип. Значит с этого и начнем.
Читать
13 июня 2004
Программирование / Подсказки / Общее
^ Меню в OpenGL
Доступно пользователям со статусом Участник
Читать | Комментарии [3]
3 июня 2004
Замерьте время на сборку
В Visual C++ 6.0 вы можете запустить MSDEV.EXE с ключом "/y3", который будет подсчитывать время сборки. Классная недокументированная "фича". В версии .Net зайдите в меню Tools -> Options -> Projects -> Build Timing и поставьте "Yes". В командной строке можно использовать %time%.
Читать
1 июня 2004
Решение проблемы разного количества текстурных координат и количества вершин модели в 3DS MAX.
Часто встречаются вопросы о том как быть с выводом графики через массивы вершин, если 3DS MAX генерирует различное количество вершин и текстурных вершин (пар/троек текстурных координат) со своими, различными индексами для вершин и для текст. координат. Для получение массивов данных одного размера после экспорта (или во время экспорта) можно использовать такой код:
Читать
27 мая 2004
Оптимизация мешей в DX9 (даже и в OGL)
Меши нужно оптимизировать, для лучшего использования кеша вершин на карточках, особенно при тяжелых вертексных шейдерах.
Читать
21 мая 2004
Особенность выравнивания в памяти
CPU читает и пишет данные, выровненные в памяти намного быстрее чем какие-либо другие данные. Любая переменная n-байтового тип данных является выровненной в памяти, если адрес её начала делится нацело на n. например, 32х-битное целое (int) является выровненным в памяти, если адрес его начала в памяти 0x4000000. Тот же самый int не является выровненным, если адрес его начала 0x4000002, поскольку этот адрес не делится нацело на 4 байта==32 бита.
Читать
22 апр 2004
Комментирование блока кода в MS VC
А знаете ли вы что в MS VC комментировать блок кода можно с помощью комбинаций клавиш.
Читать
15 апр 2004
Быстрый замер времени исполнения консольной комманды
Скачиваем timethis.exe ( 8K ) например отсюда
Читать
15 апр 2004
Аппроксимация сферы треугольниками
Трасировка стека вызовов
Бывают случаи, когда для отладки приложения нет возможности использовать внешний отладчик, это может быть как специфичность кода или большой его объем, так и банальное отсутствие хорошего отладчика под рукой. В таких ситуациях программисты обычно протоколируют все события, которые происходят во время работы приложения, либо используют runtime мониторинг состояния системы, через консоль или её аналог.
Читать
12 мар 2004
Страницы:
1 2 3 4 5 6 Следующая »