Custom rasterizers for Virtools.
| Project | Description | Status |
|---|---|---|
| CKDX9Rasterizer | DirectX 8 Rasterizer bundled with Virtools 2.1.0.14 reverse engineered and ported to DirectX 9 with Direct3D 9Ex support. | Complete |
| CKGLRasterizer | OpenGL Rasterizer targeting OpenGL 4.3+ built from ground up (*) | Feature complete for running Ballance, ~90% feature complete for general use. Not yet optimized. |
| CKDX11Rasterizer | DirectX 11 Rasterizer with DXGI 1.5+ AllowTearing feature adaptively enabled to eliminate present latency | Feature mostly complete for running Ballance. Minor details differs from fixed pipeline DirectX 8/9 rasterizer. Not yet optimized (by any means!). |
| CkVkRasterizer | (Work in progress) | Textured object rendering |
| CkDX12Rasterizer | DirectX 12 Rasterizer with DXGI 1.6+, with the same DXGI party trick as the DX11 one | Mostly complete for running Ballance, but occasionally geometry bugs can occur. |
All of these rasterizers are built with the game Ballance in mind. You may be able to build them against a newer Virtools SDK with a few changes, but do not expect it to work correctly all the time. Don't even count it on working with other games built with Virtools 2.1.
(*) : Bits of logic from the DX9 Rasterizer are used to retain compatibility with the rasterizer interface.
-
Clone this repository with all its submodules (
git clone --recurse-submodules ...). -
Get glew binaries and extract the
libdirectory intovendor/glew. -
Generate build files
cmake .. -DVIRTOOLS_SDK_PATH=<path to virtools sdk> -DCMAKE_BUILD_TYPE=Release -DTRACY_ENABLE=OFF -A Win32
- Build
cmake --build . --config Release
or
msbuild CKRasterizer.sln
Apache License 2.0