Game-Programming-Gems-7

所属分类:游戏
开发工具:C++
文件大小:7671KB
下载次数:20
上传日期:2014-08-18 17:43:08
上 传 者whztt
说明:  游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系统等内容,具有较强的先进性和通用性。提供了本书的源程序、演示程序以及需要的各种游戏开发的第三方工具
(Game Programming Gems series, the latest one, covering the contents of generic programming, mathematics and physics, artificial intelligence, audio, graphics, networking and multiplayer games, scripts, and data-driven system, with a strong advancement and versatility. Provides a source, demos and various game developers need to book a third-party tool)

文件列表:
1 General Programming\02 High Performance Heap Allocator\hpha.cpp (29389, 2007-09-21)
1 General Programming\02 High Performance Heap Allocator\hpha.h (46062, 2007-09-21)
1 General Programming\02 High Performance Heap Allocator\hpha.sln (1060, 2007-09-21)
1 General Programming\02 High Performance Heap Allocator\hpha.vcproj (5965, 2007-09-21)
1 General Programming\02 High Performance Heap Allocator\main.cpp (13650, 2007-09-21)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Sounds\boom.wav (84782, 2007-08-14)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Sounds\button13.wav (23272, 2007-08-14)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Sounds\gameOver.wav (72456, 2007-08-14)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Sounds\Init.wav (68064, 2007-08-14)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Sounds\splash.wav (32428, 1999-11-22)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\AboutC.tga (115644, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\AboutM.tga (115644, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\AboutN.tga (115644, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\ConfigurationC.tga (260144, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\ConfigurationM.tga (260144, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\ConfigurationN.tga (260144, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\CreditsC.tga (144544, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\CreditsM.tga (144544, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\CreditsN.tga (144544, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\desktop.tga (2048044, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\desktop_About.tga (2048044, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\desktop_Config.tga (2048044, 2007-08-20)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\desktop_Credits.tga (2048044, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\desktop_GameOver.tga (2048044, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\desktop_Play.tga (2048044, 2007-08-12)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\EasyC.tga (96264, 2007-08-11)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\EasyM.tga (96264, 2007-08-11)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\EasyN.tga (96264, 2007-08-11)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\ExitC.tga (86744, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\ExitM.tga (86744, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\ExitN.tga (86744, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\HardC.tga (96264, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\HardM.tga (96264, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\HardN.tga (96264, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\MediumC.tga (135024, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\MediumM.tga (135024, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\MediumN.tga (135024, 2007-08-17)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\MenuC.tga (106124, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\MenuM.tga (106124, 2007-08-10)
1 General Programming\03 Optical Flow For Videogames Played With Webcams\Game\Data\Textures\MenuN.tga (106124, 2007-08-10)
... ...

Article: Advanced Debuggin Techniques Author: Martin Fleisz ==================================================================================== Requirements: Windows - Microsoft Visual Studio 2005 - Latest version of the Microsoft Debugging Tools SDK (available at http://www.microsoft.com/whdc/devtools/debugging/default.mspx). - Latest version of the Vista SDK (available at: http://www.microsoft.com/downloads/details.aspx?familyid=4377f86d-c913-4b5c-b87e-ef72e5b4e065&displaylang=en). - Ensure that the latest version of dbghelp.dll is either in the application directory or in your system directory. If the library loads an older version it might assert() or behaves undefined when calling Debug Helper API functions. Unix - Tested on Fedora Linux 6 with gcc version 4.0.x and glibc version 2.5 ==================================================================================== Debug Library Notes Windows - Memory leak detection is only active in debug builds. It's not possible to install allocation hooks in Release builds because the CRT removes all calls to _CrtSetAllocHook from user code. - Under some circumstances, it can happen that your application dead-locks when using the memory leak detector and loading dlls that dynamically allocate memory in DllMain. This is caused by the Windows load lock that is held by the OS when loading an application. The same lock is acquired by GetModuleFileName which is called inside the allocation hook. If an allocation is done from within DllMain the OS will hold this lock, while GetModuleFileName waits for it to be released - then your application will be dead-lock. If this is a problem you can disable the module info caching using CMemLeakDetector::SetModuleInfoCaching. However, if you have leaks in dlls that you dynamically unload during runtime the reporter won't be able to resolve the symbols for the callstack frames of this dll. - if you #define USE_WER when compiling the Debug Library the Exception Handler will use Vista's WER API to report errors. This define can also be enabled when you compile for platforms that don't support WER. In this case the standard reporting (mini dump creation) is performed. In case you enable WER you should modify the CDebugHelp::CreateWERReport function so that the report contains the information you want and need (i.e. additional log files of your game, etc.). Unix - You might want to consider to synchronize the CDebugHelp::CreateMiniDump function as the coredumper API is not thread safe (see documentation for WriteCoreDump in the coredumper library) - You might need to adjust the makefile provided with the code to build the library for your target platform - Memory leak detection is only available if the library is build with _DEBUG defined - For Unicode support build the library with _UNICODE defined ==================================================================================== Usage: You will need to include DbgLib.h into your project (i.e. into your precompiled header file). By default, memory leak detection is enabled automatically when your application is linked with DbgLib. To change this behavior undefine AUTO_ENABLE_MEMLEAKDETECTOR in the stdafx.h header of the library. The API exposed by DbgLib is not thread safe! To install the unhandled exception handler use the following line of code. DbgLib::CDebugFx::SetExceptionHandlers(true); Additionally you can install a custom exception handler callback that is executed after the exception handler has finished collectin information about the crash. Here is an example: void MyHandler(void* p_GameInstance) { static_cast(p_GameInstance)->SaveGame(); } ... DbgLib::CDebugFx::SetExceptionCallback(MyHandler, &gameObject); If you turned of the auto-registration of the memory leak detector you can active tracking in your application with the following code: int main(..) { using namespace DbgLib; CMemLeakDetector* detector = CDebugFx::GetMemLeakDetector(); // optional: set a custom reporter detector->SetReporter(new CMyReporter); // enable tracking detector->Enable(); // game starts .... // disable tracking detector->Disable(); // game finished - all resources were freed(?) - report leaks detector->ReportLeaks(); }

近期下载者

相关文件


收藏者