topameng's profileQuake3 启示录PhotosBlogListsMore Tools Help

Blog


    June 06

    terrain

    对于2.3地形是通过max或者maya导出来的网格。可能只有地形。而花草树木等等地面上的东西要在场景里面加入,然后拼接在一起。2.5 说有场景编辑器开始自带地形编辑器。不知道是否好用

    gamebryo release 与 ship 区别

    The Release builds include optimizaed code, but with the NiMemory system, NiMetrics, and release mode logging enabled. The Shipping builds do not have these systems enabled.
    ship 和 release 工程设置基本相同,但没有NiMemory、NiMetrics、release mode logging.更像是非常稳定之后的版本
    release 还会产生记录内存泄漏的xml。这个文件会越来越大。
    ship 对类内变量初始化与release有些不同,印象中一个bug:一个变量在release未初始化然后乘0正常为0,但在ship中结果不为0.faint
    June 04

    Gamebryo2.2 8*00系列显卡调试错误

    Debug fails with 8600GT

    Hi, I am getting assertions in my debug builds when using Geforce 8600GT. Everything was working fine when using 6600GT...
    I can only debug using the release version now
    I'm using Gamebryo 2.2.2.0 (24th Jan 2007)
    Graphics driver: 6.14.11.102 (I tried 158.22 too)
    DX SDK: Aug2006
    The following was from Debug version of Tutorial01.
    The assert message:
    Assertion failed!
    Program: ...
    File: m:\gamebryo2.2rc_win32_src_build...\nidx9s...esc.cpp
    Line: 88
    Expression: eType == D3DMULTISAMPLE_NONMASKABLE || uiResult == 1
    The call stack:
           msvcr80d.dll!_wassert(const wchar_t * expr=0x007b14e0, const wchar_t * filename=0x007b1560, unsigned int lineno=88)  Line 384      C
    >      Tutorial01.exe!NiDX9DeviceDesc:DisplayFormatInfo:DisplayFormatInfo()  + 0x1b3 bytes      
           Tutorial01.exe!NiDX9DeviceDesc::NiDX9DeviceDesc()  + 0x22d bytes      
           Tutorial01.exe!NiDX9AdapterDesc::NiDX9AdapterDesc()  + 0x272 bytes      
           Tutorial01.exe!NiDX9SystemDesc::FillAdapterInformation()  + 0xe1 bytes      
           Tutorial01.exe!NiDX9SystemDesc::NiDX9SystemDesc()  + 0x4b bytes      
           Tutorial01.exe!NiDX9Renderer::GetSystemDesc()  + 0xcf bytes      
           Tutorial01.exe!NiDX9Renderer::Initialize()  + 0xda bytes      
           Tutorial01.exe!NiDX9Renderer::Create()  + 0x113 bytes      
           Tutorial01.exe!Renderers::CreateRenderer()  Line 35 + 0x33 bytes      C++
           Tutorial01.exe!NiApplication::Initialize()  + 0x59 bytes      
           Tutorial01.exe!_WinMain@16()  + 0x2e0 bytes      
           Tutorial01.exe!__tmainCRTStartup()  Line 578 + 0x35 bytes      C
           Tutorial01.exe!WinMainCRTStartup()  Line 403      C
           kernel32.dll!7c816fd7()      
           [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]      


    The GeForce 8*00 series exposes multisample capabilities in a different way than other graphics cards, which causes older versions of Gamebryo to hit this assertion. The bug was fixed in Gamebryo 2.3.

    So are we saying that any applications built on Gamebryo 2.2 can't be debugged if using an 8000 series card? I have been getting the same error and finally found this post. We probably won't be getting Gamebryo 2.3 for another 1 or 2 months so I'd be grateful if anyone knows of a workaround for this. I'd really like to be able to debug my software, but still run the new graphics card. Any possible workarounds?

    If you have a copy of Gamebryo 2.3 lying around, you could move the NiDX9SystemDesc.h, .inl, and .cpp files from 2.3 into your copy of 2.2. You'll need to change any instances of "NIASSERT" to "assert", and there may be other minor changes necessary as well, but fixing this bug was the only significant change to occur in those files between those two branches.