• Stars
    star
    359
  • Rank 118,537 (Top 3 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

openGL wrapper for PSVITA.

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 full hardware acceleration by translating the code to sceGxm equivalent.

Prerequisites

In order to run an homebrew made with vitaGL, you are going to need libshacccg.suprx extracted and decrypted on your console. You can refer to this guide for more details about its extraction: https://samilops2.gitbook.io/vita-troubleshooting-guide/shader-compiler/extract-libshacccg.suprx
If you want your homebrew to not be hard dependant from libshacccg.suprx, you can either:

Build Instructions

In order to build vitaGL use the following command: make install.
These are all the available flags usable when compiling the library:
HAVE_SHARK_LOG=1 Enables logging support in runtime shader compiler.
HAVE_CUSTOM_HEAP=1 Replaces sceClib heap implementation with custom one (Less efficient but safer).
HAVE_GLSL_SUPPORT=1 Enables experimental GLSL to CG auto translation for shader sources.
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).
NO_TEX_COMBINER=1 Disables texture combiner support (GL_COMBINE) for faster fixed function pipeline code execution.
NO_DMAC=1 Disables sceDmacMemcpy usage. In some rare instances, it can improve framerate.
SOFTFP_ABI=1 Compiles the library in soft floating point compatibility mode.
STORE_DEPTH_STENCIL=1 Makes all framebuffers depth/stencil surfaces to be load/stored on memory. Makes the rendering slower but more compliant with OpenGL standards.
BUFFERS_SPEEDHACK=1 Enables faster vertex buffer copying. May cause crashes.
DRAW_SPEEDHACK=1 Enables faster code for draw calls. May cause crashes.
MATH_SPEEDHACK=1 Enables faster code for matrix math calls. May cause glitches.
TEXTURES_SPEEDHACK=1 Makes glTexSubImage2D/glTexSubImage1D non fully OpenGL compliant but makes rendering pipeline slightly faster.
SAMPLERS_SPEEDHACK=1 Enables faster code for samplers resolution during shaders usage. May cause glitches.
SHADER_COMPILER_SPEEDHACK=1 Enables faster code for glShaderSource. May cause errors.
HAVE_HIGH_FFP_TEXUNITS=1 Enables support for more than 2 texunits for fixed function pipeline at the cost of some performance loss.
HAVE_DISPLAY_LISTS=1 Enables support for display lists at the cost of some performance loss.
HAVE_UNFLIPPED_FBOS=1 Framebuffers objects won't be internally flipped to match OpenGL standards.
HAVE_WVP_ON_GPU=1 Moves calculation of the wvp in fixed function pipeline codepath to the GPU. Reduces CPU workload and increases GPU one.
SAFE_ETC1=1 Disables hardware support for ETC1 textures. Makes ETC1 textures usage less efficient but may solve glitches.
SAFE_DRAW=1 Makes some optimizations in the drawing pipeline less efficient but can solve some glitches.
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.
HAVE_PTHREAD=1 Use pthread instead of sceKernel for starting garbage collector thread.
SINGLE_THREADED_GC=1 Makes the garbage collector run on main thread.
PHYCONT_ON_DEMAND=1 Makes the physically contiguous RAM be handled with separate memblocks instead of an heap.
UNPURE_TEXTURES=1 Makes legal to upload textures without base level.
HAVE_WRAPPED_ALLOCATORS=1 Allows usage of vgl allocators inside wrapped allocators.
HAVE_DEBUGGER=1 Enables lightweighted on screen debugger interface.
HAVE_DEBUGGER=2 Enables lightweighted on screen debugger interface with extra information (devkit only).
HAVE_RAZOR=1 Enables debugging features through Razor debugger (retail and devkit compatible).
HAVE_RAZOR=2 Enables debugging features through Razor debugger (retail and devkit compatible) with ImGui interface.
HAVE_DEVKIT=1 Enables extra debugging features through Razor debugger available only for devkit users.
HAVE_DEVKIT=2 Enables extra debugging features through Razor debugger available only for devkit users with ImGui interface.
HAVE_VITA3K_SUPPORT=1 Disables several features in order to make vitaGL compatible with Vita3K. Requires vitaShaRK compiled with https://github.com/Rinnegatamante/vitaShaRK/blob/master/source/vitashark.c#L24 uncommented.

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:
Aerofoil Vita - Port of Glider PRO
Anomaly 2 Vita - Port of Anomaly 2
Anomaly Defenders Vita - Port of Anomaly Defenders
Anomaly Korea - Port of Anomaly Korea
Anomaly WE Vita - Port of Anomaly Warzone Earth HD
AvP Gold - Port of Aliens versus Predator: Gold Edition
Baba Is You Vita - Port of Baba Is You
Billy Frontier Vita - Port of Billy Frontier
Bugdom - Port of Bugdom
bc2_vita - Port of Battlefield Bad Company 2 Mobile
Crazy Taxi Vita - Port of Crazy Taxi Classic
Cro-Mag Rally Vita - Port of Cro-Mag Rally
CrossCraft Classic - Multiplatform Minecraft Classic clone
d3es-vita - Port of Doom 3
Daedalus X64 - Port of Daedalus X64 (N64 Emulator)
Dead Space Vita - Port of Dead Space (Android)
Death Road to Canada Lite - Port of Death Road to Canada
Doom64EX - Port of Doom64EX (Doom 64 sourceport)
Fade to Black - Port of Fade to Black
Fahrenheit Vita - Port of Fahrenheit: Indigo Prophecy
FF3-Vita - Port of Final Fantasy III (3D Remake)
FF4-Vita - Port of Final Fantasy IV (3D Remake)
FF4AY_Vita - Port of Final Fantasy IV: The After Years (3D Remake)
FF5-Vita - Port of Final Fantasy V
Flycast - Port of Flycast (Dreamcast Emulator)
Funky Smugglers Vita - Port of Funky Smugglers
Hassey Collection - Port of Galcon 2: Galactic Conquest and BREAKFINITY
Hurrican - Port of Hurrican
Isotope 244 Collection - Port of Machines at War 3 and Land Air Sea Warfare
JetMan 3D - Fanmade remake of Jetpac for ZX Spectrum
jfduke3d-vita - Port of JFDuke3D (Duke Nukem 3D sourceport)
jfsw-vita - Port of JFSW (Shadow Warrior Classic sourceport)
Lugaru HD - Port of Lugaru
Mass Effect Infiltrator Vita - Port of Mass Effect: Infiltrator
Nanosaur Vita - Port of Nanosaur
Nazi Zombies Portable - Port of Nazi Zombies Portable
Neverball Vita - Port of Neverball
Neverputt Vita - Port of Neverputt
Pekka Kana 2 Vita - Port of Pekka Kana 2
Poppy Kart Collection - Port of Poppy Kart and Poppy Kart 2
prboom-plus - Port of PrBoom Plus (Doom engine sourceport)
Quakespasm-Spiked - Port of Quakespasm Spiked (Limit removed Quake Engine sourceport)
Rigel Engine - Port of Duke Nukem II
RVGL Vita - Port of RVGL
rvm_soniccd-vitagl - Port of rvm_soniccd (Sonic CD decompilation)
Sleepwalker's Journey Vita - Port of Sleepwalker's Journey
sm64-vita - Port of Super Mario 64
srb2-vita - Port of Sonic Robo Blast 2
StaticJK - Port of Star Wars: Jedi Academy
TheXTech Vita - Port of Super Mario Bros X
Tomb Raider 1 & 2 Classic Collection - Port of Tomb Raider and Tomb Raider 2
TWoM Vita - Port of This War of Mine and This War of Mine: Stories - Father's Promise
VITA Homebrew Sorter - App to sort your app.db
VitaDB Downloader - Homebrew store app
VITAlbum - Filebrowser and image viewer app
vitaET - Port of ET: Legacy (Wolfenstein: Enemy Territory)
vitaHexenII - Port of Hexen II
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)
vitaVoyager - Port of lilium-voyager (Star Trek Voyager: Elite Force)
vitaXash3D - Port of Xash3D (Half Life, Counter Strike 1.6)
World of Goo Vita - Port of World of Goo
YoYo Loader - Loader for Game Maker Studio made games

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

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

More Repositories

1

DaedalusX64-vitaGL

Daedalus X64 port for PSVITA through vitaGL.
C++
311
star
2

yoyoloader_vita

Loader/Wrapper for Android's YoYo Runner for PSVita.
C
172
star
3

lpp-vita

Lua Player Plus for PSVITA. Documentation on: http://rinnegatamante.github.io/lpp-vita/
C
170
star
4

lpp-3ds

Lua Player Plus for 3DS
C++
167
star
5

rinCheat

Multifunction plugin for PSVITA.
C
152
star
6

VitaDB-Downloader

Official VitaDB client for PSVITA/PSTV.
C++
138
star
7

Android2Vita-Candidate-Ports-List

A list of candidate Android games portable to Vita. ( https://android.rinnegatamante.it )
138
star
8

vitaQuake

Port of Quake for Playstation Vita
C
123
star
9

CHMM2

Theme Manager for 3DS
Lua
88
star
10

VitaPad

Transform your PSVITA into a PC Controller
C++
88
star
11

VITA2PC

Stream PSVITA gaming sessions over WiFi.
Objective-C
65
star
12

melonDS-Vita

Port of melonDS for PSVITA.
C++
61
star
13

vitaQuakeIII

ioquake3 port for PSVITA (Currently supporting Quake III: Arena, Quake III: Team Arena, OpenArena, Urban Terror and Q3Rally)
C
54
star
14

vitaQuakeII

Quake II port for PSVITA.
C
49
star
15

re3-vita

Port of re3 (GTA III decompilation) for PSVITA/PSTV.
C++
47
star
16

vitaRTCW

Return to Castle Wolfenstein port for PSVITA.
C
43
star
17

imgui-vita

dear ImGui port for PSVITA (vitasdk).
C++
40
star
18

d3es-vita

Port of Doom 3 for PSVITA formerly named Potatoom 3. (Based on https://github.com/emileb/d3es-multithread )
C++
39
star
19

AntiBlacklist

Advanced whitelister homebrew for PSVITA TV.
C
39
star
20

raider-vita

Port of Tomb Raider 1 & 2 Classic Android for PSVITA.
C
35
star
21

ff4_vita

C
35
star
22

VitaDB

Online database for PSVITA homebrews and plugins. (https://vitadb.rinnegatamante.it)
PHP
33
star
23

Vita-Recorder

Plugin to record clips for PSVITA/PSTV.
C
32
star
24

goo_vita

C
31
star
25

DaedalusX64-vitaGL-Compatibility

Compatibility List for DaedalusX64-VitaGL (https://github.com/Rinnegatamante/DaedalusX64-vitaGL)
30
star
26

vitaWolfen

Wolfenstein 3D port for PSVITA
C++
28
star
27

NoTrpDrm

Plugin that enables official trophies pack usage with sceNpTrophy for homebrews.
C
28
star
28

librw-vita

Port of librw for PSVITA.
C++
27
star
29

Lua-RayCast3D

3D Game Engine using RayCasting algorithm for Lua Player Plus
Lua
27
star
30

Sunshell

Multifunction shell for 3DS
Lua
27
star
31

vitaShaRK

Runtime Shader Compiler library for PSVITA
C
27
star
32

fahrenheit-vita

Port of Fahrenheit: Indigo Prophecy for PSVITA.
C
25
star
33

remaPSV

Remap plugin for PSVITA/PSTV.
Objective-C
25
star
34

Big_Red_Menu

First legal opensource CIA manager for 3DS
C++
25
star
35

vitaHexenII

Hexen II port for Playstation Vita.
C
22
star
36

OpenFMV

Opensource full-motion video game engine for PSVITA compatible with Wales Interactive games.
C
22
star
37

lua-player-plus

Multiplatform Lua interpreter (PSP/PSP Go version)
C
22
star
38

YoYo-Loader-Vita-Compatibility

Compatibility List for YoYo Loader Vita (https://github.com/Rinnegatamante/yoyoloader_vita)
22
star
39

SavedataPlus

Savedata decrypter and redirecter for PSVITA/PSTV.
C
22
star
40

ShaRKBR33D

Legal all-in-one one-click libshacccg.suprx installer.
C
21
star
41

kuio

Kernel-User bridge for basic I/O operations for taiHen.
C
21
star
42

TrackPlug

Playtime tracker plugin for PSVITA.
Lua
20
star
43

NBlood-Vita

Blood port for PSVITA.
C++
20
star
44

flycast-vita-compatibility-list

Compatibility list for Flycast Vita ( https://github.com/Rinnegatamante/flycast-vita )
18
star
45

AutoBoot

Auto boot an app on HENkaku startup.
C
18
star
46

Framecounter

FPS Counter plugin for PSVITA.
C
18
star
47

vitaRescale

Resolution changer plugin for PSVITA games.
Objective-C
18
star
48

rvgl-vita

Port of RVGL for PSVITA.
C
17
star
49

3dsxlauncher_loader

CIA forwarder for 3DSX homebrews.
C
17
star
50

EDuke32-Vita

EDuke32 port for PSVITA
C++
17
star
51

Screenie

HD Screenshots plugin for PSVITA.
C
17
star
52

ff4a_vita

Port of Final Fantasy 4: After Years for PSVITA.
C
17
star
53

RPG-Maker-3DS

RPG Maker core clone for 3DS
Lua
16
star
54

layton-vita

Port of Professor Layton: Curious Village HD for PSVITA.
C
16
star
55

Death-Road-to-Canada-Lite

Port of Death Road to Canada for PSVITA.
C
16
star
56

soulcalibur_vita

Port of Soulcalibur for PSVITA.
C
16
star
57

ctrWolfen

Wolfenstein 3D port for Nintendo 3DS.
C
15
star
58

flycast-vita-Compatibility

Compatibility List for flycast Vita port (https://github.com/Rinnegatamante/flycast)
15
star
59

ctrHexenII

Hexen II port for Nintendo 3DS
C
15
star
60

uo_amphetamin

Unofficial Amphetamin plugin for PSVITA.
C
14
star
61

AvP-Gold-Vita

Alien vs Predator Gold port for PSVITA.
C
14
star
62

smw-vita

Super Mario War port for PSVITA.
C++
14
star
63

abuse-vita

Port of Abuse for PSVITA/PSTV.
C++
14
star
64

ZeldaOLB

Zelda: Oni Link Begins port for PSVITA.
C++
14
star
65

ViBeS

Minimalistic benchmarking plugin for PSVITA.
C
14
star
66

smb2se-vita

Port of Super Monkey Ball 2: Sakura Edition for PSVITA.
C
14
star
67

srb2-vita

Sonic Robo Blast 2 port for PSVITA.
C
13
star
68

HCL-Vita

Hydra Castle Labyrinth port for PSVITA.
C
13
star
69

easyrpg-player-3ds

EasyRPG Player port for 3DS.
C++
13
star
70

reRescaler

Replacement for built-in PSVITA/PSTV rescaler.
Objective-C
13
star
71

SwitchQuake

Quake I port for Nintendo Switch.
C
13
star
72

RetroLivearea

Enhancer and Redirecter for PSX/PSP bubbles assets for PSVITA.
C
13
star
73

TurboPad

RapidFire plugin for PSVITA.
Objective-C
12
star
74

AnalogsEnhancer

Analogs rescaler/deadzone changer plugin for PSVITA.
C
12
star
75

rvgl-vita-native

Native port of RVGL for PSVITA.
12
star
76

vitaET

ET:Legacy port for PSVITA/PSTV
C
11
star
77

Purgification

Notifications purger tool for 3DS.
C++
11
star
78

layton2-vita

Port of Professor Layton: Pandora's Box HD for PSVITA.
C
10
star
79

InfiniteNet

taiHEN plugin that prevents games from disabling net features.
C
10
star
80

MinicraftVita

Minicraft port for PSVITA
C
10
star
81

NRedneck-Vita

NRedneck (Redneck Rampage) port for PSVITA.
C++
10
star
82

vitaVoyager

Port of lilium-voyager (Star Trek Voyager: Elite Force Holomatch multiplayer) for PSVITA.
C
10
star
83

hazard-vita

Port of Beat Hazard 2 for PSVITA.
C
10
star
84

SwitchDB

Online database for Nintendo Switch homebrews. (https://switchdb.rinnegatamante.it)
JavaScript
10
star
85

PostalVita

Postal port for PSVITA/PSTV.
C++
10
star
86

lppd-3ds

Lua Player Plus 3DS Debugger for PC
C++
10
star
87

MicroCHIP

CHIP-8/SCHIP-8 Emulator for Vita wrote with lpp-vita.
Lua
10
star
88

rct-vita

Port of RollerCoaster Tycoon Classic for PSVITA.
C
10
star
89

vitaExhumed

PCExhumed port for PSVITA/PSTV.
C++
9
star
90

HCL-Switch

Hydra Castle Labyrinth port for Nintendo Switch.
C
9
star
91

vFlux

f.lux clone for PSVITA.
C
9
star
92

WDNR

Reartouch pad disabler plugin for PSVITA.
C
9
star
93

layton3-vita

Port of Professor Layton: Lost Hope HD for PSVITA.
C
9
star
94

K.E.T.M.-Vita

K.E.T.M. (Kill Everything That Moves) port for PSVITA.
C
8
star
95

lpp-ide

Lua Player Plus IDE
Visual Basic
8
star
96

DstroyVita

Dstroy port for PSVITA
C++
8
star
97

GxmDumper

Dumper for shaders, models and textures for PSVITA.
C
8
star
98

thimbleweed-vita

Port of Thimbleweed Park for PSVITA.
C
8
star
99

math-neon

Port of math-neon for PSVITA.
C
8
star
100

BubbleLock

Password lock applications on PSVITA.
Objective-C
7
star