19 July 2012

RCC++ at the Develop Conference

Last week we gave a talk on RCC++ at Develop in Brighton. 45 minutes long, it included live demos of everything you've seen on this blog and some features we so far haven't covered. We featured videos of recent integrations with the Dynamic Resolution Rendering demo Doug developed with Intel, and with the popular Recast navigation toolkit that features in my own work. We also received permission to give an overview of Crytek's Softcode implementation, which was based on our work.
We've really appreciated the great feedback we had after the talk and on Twitter. We'll be blogging about those other features and integrations in the coming weeks. In the meantime, you can download the slides.

02 July 2012

Library Support

We've just added improved support for libraries. Whilst it was previously possible to have runtime code linked against a library using the Visual Studio #pragma comment(lib, "nameOfLibrary"), the directories for library search were only specified if added as an environment variable. You can now add library directories as well as include directories, as shown in the example below for supporting DirectX:

m_pRuntimeObjectSystem = new RuntimeObjectSystem;
m_pRuntimeObjectSystem->AddIncludeDir( "%DXSDK_DIR%/Include");

#ifdef _WIN64
m_pRuntimeObjectSystem->AddLibraryDir( "%DXSDK_DIR%/lib/x64/" );
#else
m_pRuntimeObjectSystem->AddLibraryDir( "%DXSDK_DIR%/lib" );
#endif


We hope to improve upon this in future so that developers don't need to specify libraries and paths in both their project file and their code, and to support compilers which don't use the lib comment for libraries.

These features allow some significantly increased flexibility to what can be runtime coded. For example I was able to move scene rendering code to RCC++ for a project, allowing me to not only modify shaders but also C++ code on the fly.