What is RetroArch

Report
democoding made easy
What is RetroArch

Crossplatform emulator/game/demo platform
(well we can abuse it :D)
What is RetroArch

-
Has tons of features like
Custom Cg-based pixel shader support
Audio DSP support
Fast forward/rewind
Rock solid GUI system
Netplay
FFmpeg based recording (RIP kkapture)\
And tons more…
RetroArch’s API

•
•
•
•
Libretro: the base of it all
C based
Easy to implement
Straightforward
Allows for blitting to 2D surfaces (as well as
FBO’s ;) )
Implementing our demo







We need to implement as a DLL/SO/etc
Needs certain amount of exports: see demo
sourcecode for example.
Think about crossplatform calls (stdlib?)
OpenGL 2/3/ES (non fixed function) is the key, unless
you wanna go software or make your software not run
on mobile systems.
We run per frame, not all at once.
Libretro treats top-left as origin. Be mindful!
YMMV with MSVC
Our prod
Summary
•
•
•
•
•
Cuts out the middleman (SDL, GLFW, etc)
Leaves you to code your prod
Dead simple to implement
Potential to easily target plenty of platforms
Fully open source
Resources
Website: www.libretro.org
 Demo featured in this seminar:
https://github.com/mudlord/bund
(fixed function, code horrors beware!)
 Emulators: https://github.com/libretro
 Model viewer:
https://github.com/libretro/modelviewer-libretro
 Coding in OpenGL doc by Themaister:
https://github.com/libretro/libretro.github.com/raw/ma
ster/documents/libretro-gl.pdf
Resources
Doc on using the libretro API:
https://github.com/libretro/libretro.github.com/r
aw/master/documents/libretro.pdf
• Paper on Cg/HLSL shaders and game/demo
aware shading:
https://github.com/libretro/libretro.github.com/r
aw/master/documents/libretro-shader.pdf


similar documents