All Projects → Rinnegatamante → Vitagl

Rinnegatamante / Vitagl

Licence: lgpl-3.0
openGL wrapper for PSVITA.

Programming Languages

c
50402 projects - #5 most used programming language

vitaGL is an opensource openGL driver for PSVITA development. It acts as a wrapper between openGL and sceGxm and allows to use a subset of openGL functions with fully hardware acceleration by translating the code to sceGxm equivalent.

Build Instructions

In order to build vitaGL use the following command: make HAVE_SBRK=1 install. If you already have a newlib sbrk replacement in your app (eg. RetroArch), use instead this command: make install.
These are all the available flags usable when compiling the library:
HAVE_SBRK=1 Enables internal custom implementation for sbrk.c from newlib.
HAVE_SHARK_LOG=1 Enables logging support in runtime shader compiler.
LOG_ERRORS=1 Errors will be logged with sceClibPrintf.
LOG_ERRORS=2 Errors will be logged to ux0:data/vitaGL.log.
NO_DEBUG=1 Disables most of the error handling features (Faster CPU code execution but code may be non compliant to all OpenGL standards).
SOFTFP_ABI=1 Compiles the library in soft floating point compatibility mode.
HAVE_UNFLIPPED_FBOS=1 Framebuffers objects won't be internally flipped to match OpenGL standards.
SHARED_RENDERTARGETS=1 Makes small framebuffers objects use shared rendertargets instead of dedicated ones.
CIRCULAR_VERTEX_POOL=1 Makes temporary data buffers being handled with a circular pool.
SAMPLER_UNIFORMS=1 When enabled, shader samplers are treated as uniforms.

Samples

You can find samples in the samples folder in this repository.

Help and Troubleshooting

If you plan to use vitaGL for one of your projects, you can find an official channel to get help with it on Vita Nuova discord server: https://discord.gg/PyCaBx9

Projects actually using vitaGL

Here you can find a list of projects using vitaGL:

Direct OpenGL Usage:
vitaQuake - Port of Quake I and mission packs
vitaQuakeII -Port of Quake II and mission packs
vitaQuakeIII - Port of ioquake3 (Quake III: Arena, Quake III: Team Arena, OpenArena, Urban Terror)
vitaRTCW - Port of iortcw (Return to Castle Wolfenstein)
vitaHexenII - Port of Hexen II
vitaXash3D - Port of Xash3D (Half Life, Counter Strike 1.6)
Fade to Black - Port of Fade to Black
vitaVoyager - Port of lilium-voyager (Star Trek Voyager: Elite Force)
Daedalus X64 - Port of Daedalus X64 (N64 Emulator)
RetroArch - Vita's GL1 video driver of RetroArch
vitaET - Port of ET: Legacy (Wolfenstein: Enemy Territory)
flycast - Port of flycast (Dreamcast Emulator)
AvP Gold - Port of Aliens versus Predator: Gold Edition
re3-vita - Port of Grand Theft Auto III
reVC-vita - Port of Grand Theft Auto: Vice City
prboom-plus - Port of PrBoom Plus (Doom engine sourceport)
VITAlbum - Filebrowser and image viewer app
sm64-vita - Port of Super Mario 64
srb2-vita - Port of Sonic Robo Blast 2
rvm_soniccd-vitagl - Port of rvm_soniccd (Sonic CD decompilation)
Max Payne - Port of Max Payne Mobile
Hurrican - Port of Hurrican
gtasa-vita - Port of Grand Theft Auto: San Andreas Mobile

Libraries:
sdl12_gl - SDL 1.2 Vita port adapted to work with vitaGL as renderer
imgui_vita - Port of dear imGui

sdl12_gl Apps:
SuperMarioWar - Port of Super Mario War
ZeldaOLB - Port of Zelda: Oni Link Begins
ZeldaROTH - Port of Zelda: Return of the Hylian
Zelda3T - Port of Zelda: Time to Triumph
ZeldaNSQ - Port of Zelda: Navi's Quest
vitaWolfen - Port of Wolf4SDL (Wolfenstein 3D)
meritous - Port of meritous
Dstroy Vita - Port of Dstroy

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].