Coder Social home page Coder Social logo

dcnick3 / shader-compiler-rs Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.29 MB

A tool to recompile binary maxwell shaders (found on nintendo switch) to glsl

License: Mozilla Public License 2.0

Rust 44.49% C++ 55.51%
nvn recompilation reverse-engineering shaders

shader-compiler-rs's Introduction

shader-compiler-rs

A thin wrapper around the Hades - Yuzu Shader Recompiler, which allows to recompile binary NVN shaders into GLSL, found in many Nintendo Switch games.

Installation & Usage

Install with:

git clone https://github.com/DCNick3/shader-compiler-rs
cd shader-compiler-rs
cargo install --path cli

Usage:

shader-compiler-cli shader.bin shader.glsl

shader.bin is the data part of the shader you pass to NVN. Note, that, unlike the Ryujinx ShaderTools, this tool accepts shaders with the 0x30-bytes NVN-specific header before the SPH.

shader.glsl is the output file. It will be overwritten if it already exists.

Thanks

A big thanks to the yuzu contributors for their work on the shader recompiler, which is used in this tool.

Also, personal thanks to ByLaws and Pharynx on the ReSwitched Discord for patiently answering my questions =)

License

Same as the skyline's fork of Yuzu Shader Recompiler (Hades), this tool is licensed under the MPL-2.0 license.

shader-compiler-rs's People

Contributors

dcnick3 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.