Renderhook
Developed by: | PetkaGTA |
---|---|
Supported games: | GTA III, GTA VC, GTA SA, [[]] |
Website: | RenderHook.com |
Initial release: | 2017 |
Development status: | Inactive |
Next version: | Unknown |
RenderHook is a graphical improvement and full replacement for RenderWare engine-based rendering pipeline, in games such as GTA III, GTA VC and GTA SA, developed by PetkaGTA.
RenderHook implements DirectX11 and Vulkan rendering API to GTA 3, GTA VC and GTA SA.
Currently there are 2 versions, one of which is broken(can't really build it anymore):
Old one which implemented only DirectX11 and had a few features(only GTA SA) New one which at the moment runs only on RTX hardware and uses vk_nv_ray_tracing extension(to be replaced with KHR one once it is implemented in release drivers)
Contents
- 1 Features
- 2 Compatibility
- 3 Frequently Asked Questions FAQ
- 3.1 Why [insert name of the mod] is not in the list?
- 3.2 Can I run renderhook on [insert video card name]?
- 3.3 How many fps can I have with [insert CPU name]?
- 3.4 Where I can get renderhook for Gta Vice City, III?
- 3.5 When a non-rtx version of renderhook will be released for gta vice city, III?
- 3.6 When will renderhook have samp support?
- 3.7 When will renderhook have mta/ugmp support?
- 3.8 Why can't you see grass? How can I enable the grass?
- 3.9 Can I use enb series with renderhook?
- 3.10 Why [insert name of Total Conversion mod] doesn't work with renderhook?
- 3.11 How can I fix the water? Why does the water not render above the map limit?
- 3.12 How can I increase the view distance?
- 3.13 Why added cars/weapons/objects don't work with renderhook?
- 3.14 A message appears and says to select the resolution, how can I skip that?
- 3.15 I want a resolution but every time I change it in the menu the game crash, how can I fix that?
- 4 Version history
- 5 How it works?
- 6 Credits
- 7 External links
Features
This section is incomplete. You can help by fixing and expanding it.
Versions
GTA III
GTA VC
GTA SA
The San Andreas build is currently most complete, and does not require Nvidia gpus to run like other variations of the mod. A 100% vulkan version is in making, however no one published working binaries yet
Compatibility
Full list of compatible mods as well as any fixes required to run them.
If you encounter an C++ Runtime Error with [Modloader], try to install Visual C++ 2017, or download NoDEP
Game | Type | Mod | Compatible | Additional Info |
---|---|---|---|---|
![]() |
Limits Adjuster | Open Limit Adjuster | ✅ | set ;OutsideWorldWaterBlocks to avoid a bug |
![]() |
MOD | SkyGrad | ❌ | |
![]() |
MOD | Ryosuke's better bullet hole | ❌ | |
![]() |
MOD | Ryosuke's bullet shell | ❌ | |
![]() |
Multiplayer | MTA (Multi Theft Auto) | ❌ | mod doesnt support graphics mods |
![]() |
Multiplayer | SA-MP (San Andreas Multiplayer | ❌ | mod doesnt support graphics mods |
![]() |
Multiplayer | UG-MP (Underground Multiplayer) | ❌ | mod doesnt support graphics mods |
![]() |
Script Loader | Moonloader | ❌ | |
![]() |
Total Conversion | Project LOTRS | ✅ | |
![]() |
Total Conversion | Liberty City 2 San Andreas | ✅ | |
![]() |
Total Conversion | Vice City 2 San Andreas | ✅ | |
![]() |
Total Conversion | GTA Alien City | ✅ | |
![]() |
Total Conversion | GTA SA: Liberty City | ✅ | |
![]() |
Total Conversion | Gostown Paradise | ✅ | |
![]() |
Total Conversion | Open Bull | ✅ | remove skygfx to work |
![]() |
Total Conversion | Open Manhunt | ✅ | remove skygfx to work |
![]() |
Total Conversion | Cretaceous Runner v1.3 | ✅ | remove skygfx to work |
![]() |
Total Conversion | Mushroomia | ✅ | with some bugs |
![]() |
Total Conversion | GTA Grandcarma v2.2 | ✅ | |
![]() |
Total Conversion | GTA Vice City Stories: PC Edition | ❌ | |
![]() |
Total Conversion | GTA Wasteland | ❌ | |
![]() |
Total Conversion | GTA Underground | ❌ | |
![]() |
Total Conversion | GTA SAxVCxLC | ❌ | |
![]() |
Total Conversion | GTA Mixed | ❌ | |
![]() |
Total Conversion | You are here | ❌ | |
![]() |
Total Conversion | GTA Wasteland | ❌ | |
![]() |
Full Overhaul | Project2DFX | ✅ | requires fix |
![]() |
Fix | Wesser’s Widescreen HOR+ Support | ✅ | to make wshps.asi) compatible, add "_" to the beginning of the gtaRenderHook.asi file, leaving it just like _gtaRenderHook.asi] |
Frequently Asked Questions FAQ
Why [insert name of the mod] is not in the list?
Because it is not tested yet, you can say if the mod works in the discord and it will be added/tested. Note: this only applies to scripts mods that have menu/interface, don’t apply to textures, vehicles or audio mods.
Can I run renderhook on [insert video card name]?
Probably yes, if your card supports DirectX11 then it should work fine.
How many fps can I have with [insert CPU name]?
We don't know yet, try the mod , then write a message in the discord channel stating your full pc specs, with fps impact, and if possible full dxdiag.log file so we can use it for a database thats coming soon
Where I can get renderhook for Gta Vice City, III?
Here; but only works if you have a RTX video card.
When a non-rtx version of renderhook will be released for gta vice city, III?
In the future a renderhook version with toggleable rtx option will be available, there is no date for the release, so keep looking at the action tab in renderhook github for updates.
When will renderhook have samp support?
Samp use directx9 functions; that is why samp don't work with renderhook (renderhook use DirectX11); samp need to be updated to work with renderhook and considering that the last version of samp is 0.3.7 released on May 2015 that is very unlikely.
When will renderhook have mta/ugmp support?
Probably never, that mods need to be upgraded to work with renderhook, not the other opposite.
Why can't you see grass? How can I enable the grass?
Because renderhook disable it; and there is no way to enable it again (in a easy way), the main reason is for the performance.
Can I use enb series with renderhook?
No. Enb series is incompatible with renderhook.
Why [insert name of Total Conversion mod] doesn't work with renderhook?
Probably because the TC use fastman 92 limit adjuster, and that mod has options that don't work with renderhook.
How can I fix the water? Why does the water not render above the map limit?
If you are using Open Limit Adjuster, open the .ini file of the mod, look for OutsideWorldWaterBlocks and put a ; at the start of the line.
How can I increase the view distance?
Use Project2fx, you need to use it with renderhook fix to fix some bugs.
Why added cars/weapons/objects don't work with renderhook?
The only way to add addons cars/weapons/objects to the game is using fastman 92 limit adjuster, and that mod is incompatible with renderhook.
A message appears and says to select the resolution, how can I skip that?
Open settings.xml, look for UseDefaultAdapter and change false to true
Open the .ini of the widescreen fix mod and change the values of ResX and ResY to the value of the resolution that you want.
Version history
How it works?
Currently we have incomplete RW rendering backend implementation that communicates via shared memory to incomplete rendering engine instance running rendering loop based on Vulkan API.
- Game rendering engine code is partially redirected to shared memory task queue
- Task queue loads game assets to GPU memory, processes various requests like retrieving supported resolutions etc.
- One of the tasks prepares a frame to framebuffer based on uploaded scene data, each frame draw calls is uploaded to 64bit process via task queue.
- Separation between rendering and game code is done for several reasons:
- It allows to use newer drivers, and support raytracing extensions
- It allows to use more memory if needed
- Surprisingly it works faster!
- Rendering right now is basic, and very hacky:
- BLAS is built for each model instance being loaded by the game. For GTA 3 we load some sectors around the player using original lod system.
- Animations are prepared by compute shaders and rebuilt every frame
- TLAS is rebuilt every frame
- Scene is loaded to GPU, contains all materials, textures, vertex/index buffers and transform data
- Lights are prepared using very basic tiled culling implementation
- Primary rays are traced to compute G-Buffers: Albedo, Normals, LinearDepth, Motion vectors and Material params
- AO rays are traced, temporally accumulated and blurred via bilateral blur with varying kernel(based on temporal variance)
- Shading for sunlight and each point light inside a tile is generated, then temporally accumulated and blurred via bilateral blur(based on temporal luminance variance)
- Reflections are traced with one shadow ray per-pixel and blurred via same filter that is used for shading
- Everything is combined based on material properties etc.
- Immediate 3D objects are drawn on top(with depth from G-Buffer)
- Immediate 2D objects are drawn on top
Credits
Big thanks to Petka for creating the mod and Ruben for collecting all the information into a google doc