Libetro GL only. Walk around in a scene environment in first person view mode. Has basic gravity and collision detection implemented from scratch.
Go to file
2013-05-11 20:06:13 +02:00
glm Initial commit. 2013-05-10 18:59:30 +02:00
jni Fix MinGW build. 2013-05-11 20:06:13 +02:00
msvc (MSVC) Add miniz deps 2013-05-11 20:07:05 +02:00
.gitignore Initial commit. 2013-05-10 18:59:30 +02:00
blockDiamond.png Can display simple objects with single texture. 2013-05-11 04:01:04 +02:00
gl.hpp Build fixes for new stderr wrapper 2013-05-11 19:58:05 +02:00
glsym.cpp Initial C++11 to C++03 conversion - still needs one line 2013-05-11 18:30:41 +02:00
libretro.cpp No longer spams environment variables in log window 2013-05-11 20:05:11 +02:00
libretro.h Initial commit. 2013-05-10 18:59:30 +02:00
link.T Initial commit. 2013-05-10 18:59:30 +02:00
Makefile Fix MinGW build. 2013-05-11 20:06:13 +02:00
mesh.cpp Initial C++11 to C++03 conversion - still needs one line 2013-05-11 18:30:41 +02:00
mesh.hpp Initial MSVC 2010 solution - will need replacing/wrapping of 2013-05-11 19:03:51 +02:00
object.cpp Textures work again - C++03 conversion should be complete 2013-05-11 18:44:34 +02:00
object.hpp Initial MSVC 2010 solution - will need replacing/wrapping of 2013-05-11 19:03:51 +02:00
README.md Update README. 2013-05-11 15:01:50 +02:00
rpng.cpp Small fixups. 2013-05-11 13:31:54 +02:00
rpng.h Initial MSVC 2010 solution - will need replacing/wrapping of 2013-05-11 19:03:51 +02:00
shader.cpp (MSVC) Wrap writing to std::cerr/std::cout 2013-05-11 19:53:10 +02:00
shader.hpp Initial commit. 2013-05-10 18:59:30 +02:00
shared.hpp Fix MinGW build. 2013-05-11 20:06:13 +02:00
simple.obj Can display simple objects with single texture. 2013-05-11 04:01:04 +02:00
texture.cpp (MSVC) Wrap writing to std::cerr/std::cout 2013-05-11 19:53:10 +02:00
texture.hpp Initial commit. 2013-05-10 18:59:30 +02:00
util.hpp Initial C++11 to C++03 conversion - still needs one line 2013-05-11 18:30:41 +02: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