Skip to content

Latest commit

 

History

History
30 lines (24 loc) · 2.71 KB

README.md

File metadata and controls

30 lines (24 loc) · 2.71 KB

Wii U GX2 Shader Examples

This repository contains a collection of shader samples for the GX2 graphics API of the Wii U. The current examples show you the very basics of how to write a shader for the Wii U and how to use it to draw a triangle or a textured quad, but I might expand them in the future. A basic understanding of OpenGL is required, this just shows the Wii U-isms a bit.

These GX2 samples use the new CafeGLSL shader compiler which finally allows Wii U homebrew developers to use their own shaders without having to use hand-assembled shaders.

Current examples

External examples

  • Tank Trap(releasing soon!) - A game-jam game made that also uses CafeGLSL!
  • Immaterial (Blog Article) - A Wii U demo for Slipstream with 3D graphics rendered using a custom Wii U engine.
  • We Are Outdated - A follow-up from the previous Wii U demo which additionally has framebuffer readback and other framebuffer effects.
  • Super Mario 64 Port - A port of Super Mario 64 to the Wii U showing general GX2 usage.
  • GTA3 Wii U port - A port of GTA3 to the Wii U that unfortunately got DMCA'd, although the source code is probably still somewhere online.
  • angle - A work-in-progress port of ANGLE which brings OpenGL ES support to the Wii U. This contains a lot of GX2 code and could help with porting OpenGL code.
  • rio - A game development framework for the Wii U, although it doesn't use CafeGLSL yet.
  • ... probably more!

Building

  • Install devkitPRO
  • Install devkitPPC and wut through devkitPro's pacman by using (dkp-)pacman -S wiiu-dev
  • Run make in the root of the project directory
  • To run these examples on Cemu or your Wii U, you need to manually install CafeGLSL. See the CafeGLSL repository for more information.

License

The code is licensed under The Unlicense which basically means you don't have to give credit or anything, just do whatever you want with it. This excludes the CafeGLSL binary which is licensed under its own license.