FXC Converter Tool | Dev Resource

Thought it might be useful to some people so i’m releasing this :slight_smile:


Unpack and repack .fxc shader files for Grand Theft Auto 5 with ease

Features

:wrench: Unpack .fxc Files: Extract embedded shader files from .fxc containers.

:package: Repack .fxc Files: Repack .fxc files with modified shader data, applying custom patches.


Installation :hammer:

Pre-built Binaries

Download the latest release from our GitHub Releases page.

Building from Source (Rust) :star:


Usage

See github README

Screenshots

Main UI

Some example shaders (Some included as examples.)

Screenshots





Example Shaders

The /example-shaders/ directory contains example shaders, including a demonstration of normal rendering from the g-buffer in directional.fxc. This can serve as a starting point for your own shader modifications.

Contributing

We welcome contributions, issues, and feature requests! Check out our issues page

8 Likes

What are some applications for this? I’m pretty ignorant to this file type and in 4 years of working on FiveM, I’ve never heard of this?

Would you mind educating us, the un-initiated?

Basically it allows the editing of base game hlsl shaders without the need of something like reshade

It’s a very specific tool for perhaps someone who might need to do such a thing :slight_smile:
(it could enhance client side “graphics” mods for example)

Would it be possible for you to create and post a “before and after” style video to help illustrate the utility of the tool?

I know this is a bit of an inconvenience, but this sounds really interesting and a video like that would help establish a sense of value for the tool for those, again, that are a bit ignorant, thank you!

In the post there are two videos attached, the weird effects is due to hlsl shaders :slight_smile:
if you’d like to quickly test them you can simply put one or the other of the fxc-converter/example-shaders at master · gtasnail/fxc-converter (github.com) .fxc files inside of FiveM.app\citizen\common\shaders\win32_40_final if that folder tree doesn’t exist just make the folders :slight_smile:

image

For example the directional.fxc will have this effect (Normal rendering Normal mapping - Wikipedia)

the ped.fxc renders a rainbow gradient over the screen size and renders it on ped skin

I assume these files can’t be streamed by the server and need to be manually installed by the client?

Nonetheless, great work!
I’ve dabbled quite a bit in hlsl and might take a closer look here :slight_smile:

I haven’t tested if they can be streamed, i would doubt it though and thanks :slight_smile:

1 Like

Another awsome work from @Kypos :four_leaf_clover:

1 Like

Quick tutorial video on how this works because i would say it’s sorta weird to mess with lol

1 Like