Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Cafe Shader Studio Switch: Difference between revisions

From GameBrew
(Created page with "{{Infobox Switch Homebrews |title=Cafe Shader Studio |image=cafeshaderstudioswitch.png |description=A program to preview various materials and shaders in games. |author=KillzXGaming |lastupdated=2021/06/07 |type=Hack Utilities |version=Latest |license=MIT |download=https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch.7z |website=https://gbatemp.net/threads/cafe-shader-studio.587670/ |source=https://github.com/KillzXGaming/Cafe-Shader-Studio |donation= }} {{#s...")
 
No edit summary
 
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=Cafe Shader Studio
|title=Cafe Shader Studio
|image=cafeshaderstudioswitch.png
|image=cafeshaderstudionx.png
|description=A program to preview various materials and shaders in games.
|description=A program to preview various materials and shaders in games.
|author=KillzXGaming
|author=KillzXGaming
Line 8: Line 8:
|version=Latest
|version=Latest
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudionx.7z
|website=https://gbatemp.net/threads/cafe-shader-studio.587670/
|website=https://gbatemp.net/threads/cafe-shader-studio.587670/
|source=https://github.com/KillzXGaming/Cafe-Shader-Studio
|source=https://github.com/KillzXGaming/Cafe-Shader-Studio
|donation=
|donation=
}}
}}
{{#seo:
|title=Switch Rom Hacks (Hack Utilities) - GameBrew
|title_mode=append
|image=cafeshaderstudioswitch.png
|image_alt=Cafe Shader Studio
}}
{{cleanup|article|Needs cleanup}}
A program to preview various materials and shaders in games.
A program to preview various materials and shaders in games.


==Media==
Currently supports shader viewing in:
<youtube></youtube>
*Mario Kart 8 U & Deluxe.
*Super Mario Odyssey (set the romfs game path in settings menu).
*NSMBUDX.
*NSMBU.
*Kirby Star Allies.
*Splatoon 2 (very WIP).
*Super Mario Maker 2 (very WIP).
*Animal Crossing New Horizons (very WIP, add shader in GlobalShaders folder).
*WWHD (very WIP).
 
==Features==
*Real time viewing and editing of material data with shaders. Shader editing isn't supported.
*Animation playback with proper interpolation handling (previous tools had playback issues).
*Shape animations, material animations and other various types supported.
 
==User guide==
Make sure you have [https://dotnet.microsoft.com/download/dotnet/5.0 NET 5.0 or higher]. Download the releases zip file and run the exe.


If you are on Linux, the application should be usable with this command dotnet <code>CafeShaderStudio.dll</code> in the program directory.
Keep in mind this is very WIP. Editing is limited to material editing. You can export/import materials as json for more direct editing (though keep in mind if the file swapped uses a different shader file, then the bfres will need to be reopened.
===Notes===
If a material is red (for a game with supported shader viewing) that means it failed to find the shader. This means your model has a skin count not supported by the shader, or the shader option combination and/or render state combination is not supported by the shader.


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-01.png
{| style="width: 80%; margin-left:0em;"
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-02.png
|
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-03.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudionx2.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-04.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudionx3.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-05.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudionx4.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-06.png
|}
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-07.png
https://dlhb.gamebrew.org/switchhomebrews/cafeshaderstudioswitch-08.png


==Changelog==
==Changelog==
'''v.1.0'''
'''Latest'''
* First Release.
*This is the latest build of the tool automatically built from the latest commit.
*Message: Quick fix for model exporting.
'''v0.34'''
*Improve CPU usage.
*Fix some issues displaying on certain hardware and opengl versions.
'''v0.33'''
*Fix gray models from GPUs not supporting quad strips when screen quads are drawn.
*Fix black models in SMO from incorrectly loaded vertex shader samplers.
'''v0.32'''
*Fix black models in MK8 from incorrectly reset shadow maps.
'''v0.31'''
*Quick fix for MK8U reflections.
'''v0.30'''
*Added Mario Kart 8 Wii U support.
*Various bug fixes to existing Wii U support.
'''v0.20'''
*Added Wii U support (NSMBU, WWHD). Keep in mind both games are WIP but mostly work fine.
*Added fly camera to move with WASD and space/ctrl space for up/down.
*Fix Switch saving issues causing potential crashes. Should save 1 to 1 with stb.
*Improve debug shaders a bit.
Added various other QOL improvements.
'''v0.16'''
*Load cubemaps from "Resources" folder so users can customize them.
*Add a basic debug shading menu. Keep in mind all shading modes won't work as it's wip.
'''v0.15'''
*Fix a crash from the lightmap shader not loading correctly.
*Fix a error with animation scrolling,
'''v0.14'''
*Performance improvements for default bfres shaders and other in tool shaders. Fix bfres to use SRGB by default.
'''v0.13'''
*Add camera improvements to inspect camera.
'''v0.12'''
*Fix framerate handling for animation player.
 
==Credits==
*KillzXGaming - main developer.
*JuPaHe64 - created animation timeline.
*Ryujinx - for shader libraries used to decompile and translate switch binaries into glsl code.
*OpenTK Team - for opengl c# bindings.
*mellinoe and IMGUI Team - for c# port and creating the IMGUI library
*Syroot - for bfres library and binary IO
*Jasper (no clip developer) - various help for MK8 and AGL usage.
*MasterVermilli0n for swizzle code, SRT calculation code used in parameter loading, and the shader decompiler tool for Wii U shaders.
*Decaf Team - for shader decompiler handling used by the tool.
 
HDR Cubemaps from HDRLabs used under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License. http://www.hdrlabs.com/sibl/index.html


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/cafe-shader-studio.587670/
* GitHub - https://github.com/KillzXGaming/Cafe-Shader-Studio
* Github - https://github.com/KillzXGaming/Cafe-Shader-Studio
* GBAtemp - https://gbatemp.net/threads/cafe-shader-studio.587670/
* Reddit -

Latest revision as of 02:42, 22 Haziran 2023

Cafe Shader Studio
Cafeshaderstudionx.png
General
AuthorKillzXGaming
TypeHack Utilities
VersionLatest
LicenseMIT License
Last Updated2021/06/07
Links
Download
Website
Source

A program to preview various materials and shaders in games.

Currently supports shader viewing in:

  • Mario Kart 8 U & Deluxe.
  • Super Mario Odyssey (set the romfs game path in settings menu).
  • NSMBUDX.
  • NSMBU.
  • Kirby Star Allies.
  • Splatoon 2 (very WIP).
  • Super Mario Maker 2 (very WIP).
  • Animal Crossing New Horizons (very WIP, add shader in GlobalShaders folder).
  • WWHD (very WIP).

Features

  • Real time viewing and editing of material data with shaders. Shader editing isn't supported.
  • Animation playback with proper interpolation handling (previous tools had playback issues).
  • Shape animations, material animations and other various types supported.

User guide

Make sure you have NET 5.0 or higher. Download the releases zip file and run the exe.

If you are on Linux, the application should be usable with this command dotnet CafeShaderStudio.dll in the program directory.

Keep in mind this is very WIP. Editing is limited to material editing. You can export/import materials as json for more direct editing (though keep in mind if the file swapped uses a different shader file, then the bfres will need to be reopened.

Notes

If a material is red (for a game with supported shader viewing) that means it failed to find the shader. This means your model has a skin count not supported by the shader, or the shader option combination and/or render state combination is not supported by the shader.

Screenshots

cafeshaderstudionx2.png cafeshaderstudionx3.png cafeshaderstudionx4.png

Changelog

Latest

  • This is the latest build of the tool automatically built from the latest commit.
  • Message: Quick fix for model exporting.

v0.34

  • Improve CPU usage.
  • Fix some issues displaying on certain hardware and opengl versions.

v0.33

  • Fix gray models from GPUs not supporting quad strips when screen quads are drawn.
  • Fix black models in SMO from incorrectly loaded vertex shader samplers.

v0.32

  • Fix black models in MK8 from incorrectly reset shadow maps.

v0.31

  • Quick fix for MK8U reflections.

v0.30

  • Added Mario Kart 8 Wii U support.
  • Various bug fixes to existing Wii U support.

v0.20

  • Added Wii U support (NSMBU, WWHD). Keep in mind both games are WIP but mostly work fine.
  • Added fly camera to move with WASD and space/ctrl space for up/down.
  • Fix Switch saving issues causing potential crashes. Should save 1 to 1 with stb.
  • Improve debug shaders a bit.

Added various other QOL improvements. v0.16

  • Load cubemaps from "Resources" folder so users can customize them.
  • Add a basic debug shading menu. Keep in mind all shading modes won't work as it's wip.

v0.15

  • Fix a crash from the lightmap shader not loading correctly.
  • Fix a error with animation scrolling,

v0.14

  • Performance improvements for default bfres shaders and other in tool shaders. Fix bfres to use SRGB by default.

v0.13

  • Add camera improvements to inspect camera.

v0.12

  • Fix framerate handling for animation player.

Credits

  • KillzXGaming - main developer.
  • JuPaHe64 - created animation timeline.
  • Ryujinx - for shader libraries used to decompile and translate switch binaries into glsl code.
  • OpenTK Team - for opengl c# bindings.
  • mellinoe and IMGUI Team - for c# port and creating the IMGUI library
  • Syroot - for bfres library and binary IO
  • Jasper (no clip developer) - various help for MK8 and AGL usage.
  • MasterVermilli0n for swizzle code, SRT calculation code used in parameter loading, and the shader decompiler tool for Wii U shaders.
  • Decaf Team - for shader decompiler handling used by the tool.

HDR Cubemaps from HDRLabs used under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License. http://www.hdrlabs.com/sibl/index.html

External links

Advertising: