Renderhook

From GTAMods Wiki
Jump to navigation Jump to search
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)

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
San Andreas Limits Adjuster Open Limit Adjuster set ;OutsideWorldWaterBlocks to avoid a bug
San Andreas MOD SkyGrad
San Andreas MOD Ryosuke's better bullet hole
San Andreas MOD Ryosuke's bullet shell
San Andreas Multiplayer MTA (Multi Theft Auto) mod doesnt support graphics mods
San Andreas Multiplayer SA-MP (San Andreas Multiplayer mod doesnt support graphics mods
San Andreas Multiplayer UG-MP (Underground Multiplayer) mod doesnt support graphics mods
San Andreas Script Loader Moonloader
San Andreas Total Conversion Project LOTRS
San Andreas Total Conversion Liberty City 2 San Andreas
San Andreas Total Conversion Vice City 2 San Andreas
San Andreas Total Conversion GTA Alien City
San Andreas Total Conversion GTA SA: Liberty City
San Andreas Total Conversion Gostown Paradise
San Andreas Total Conversion Open Bull remove skygfx to work
San Andreas Total Conversion Open Manhunt remove skygfx to work
San Andreas Total Conversion Cretaceous Runner v1.3 remove skygfx to work
San Andreas Total Conversion Mushroomia with some bugs
San Andreas Total Conversion GTA Grandcarma v2.2
San Andreas Total Conversion GTA Vice City Stories: PC Edition
San Andreas Total Conversion GTA Wasteland
San Andreas Total Conversion GTA Underground
San Andreas Total Conversion GTA SAxVCxLC
San Andreas Total Conversion GTA Mixed
San Andreas Total Conversion You are here
San Andreas Total Conversion GTA Wasteland
San Andreas Full Overhaul Project2DFX requires fix
San Andreas 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

I want a resolution but every time I change it in the menu the game crash, how can I fix that?

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

External links