Libretro GL only. Simple OBJ modelviewer that loads models in and out on demand by way of GPS.
Go to file
2014-01-12 15:33:23 +01:00
assets Move assets to assets directory 2014-01-12 15:33:23 +01:00
engine Move engine files to engine dir 2014-01-12 15:24:15 +01:00
glm initial commit 2013-12-19 23:20:10 +01:00
include Add include files 2013-12-20 03:07:13 +01:00
jni Move engine files to engine dir 2014-01-12 15:24:15 +01:00
msvc initial commit 2013-12-19 23:20:10 +01:00
base64.cpp Add base64 decoding/encoding code - taken from nall 2013-12-28 04:18:18 +01:00
base64.h Add base64 decoding/encoding code - taken from nall 2013-12-28 04:18:18 +01:00
boolean.h Add base64 decoding/encoding code - taken from nall 2013-12-28 04:18:18 +01:00
cjson.cpp Bake in cJSON 2013-12-28 01:23:15 +01:00
cjson.h Bake in cJSON 2013-12-28 01:23:15 +01:00
gl.hpp Use log_cb - build fixes 2014-01-12 14:58:54 +01:00
glsym.cpp initial commit 2013-12-19 23:20:10 +01:00
libretro_private.h Update libretro header 2014-01-12 13:19:26 +01:00
libretro.cpp Remove all retro_stderr_ old functions 2014-01-12 15:01:30 +01:00
libretro.h Update libretro header 2014-01-12 13:19:26 +01:00
link.T initial commit 2013-12-19 23:20:10 +01:00
Makefile Move engine files to engine dir 2014-01-12 15:24:15 +01:00
README.md initial commit 2013-12-19 23:20:10 +01:00
rpng.cpp Use log_cb - build fixes 2014-01-12 14:58:54 +01:00
rpng.h Use log_cb - build fixes 2014-01-12 14:58:54 +01:00
shared.hpp Use log_cb - build fixes 2014-01-12 14:58:54 +01:00
util.hpp initial commit 2013-12-19 23:20:10 +01:00

ModelViewer libretro

This is a simple modelviewer for libretro using the OpenGL interface. It displays basic objects in .obj format. Objects are loaded as ROMs in RetroArch.

retroarch -L libretro-modelviewer.so cool_thing.obj

Controls

Models are rotated using left RetroPad analog axis. The object is scaled with right analog.

Textures/materials

This implementation does not support MTL materials. Instead, a simple texture extension is used.

texture Foo

sets the current texture to Foo.png relative to where the obj was loaded from. All faces declared after will refer to this texture.

Changing resolution

The implementation exposes a libretro core option to change internal resolution. Resolutions can be set to a scale factor of 320x240 (up to 1920x1440).

Example OBJ

This declares a simple textured triangle:

texture blockDiamond
v -1.0 -1.0 0.0
v 1.0 -1.0 0.0
v 0.0 1.0 0.0
vn 0.0 0.0 -1.0
vt 0.0 0.0
vt 1.0 0.0
vt 0.5 1.0

f 1/1/1 2/2/1 3/3/1