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-17 16:16:26 +02:00
gli Tweak collision detection. 2013-05-17 14:18:42 +02:00
glm Initial commit. 2013-05-10 18:59:30 +02:00
include Mingw now uses glext.h as well 2013-05-12 02:35:08 +02:00
jni Works now on Android. 2013-05-12 13:27:04 +02:00
msvc Mingw now uses glext.h as well 2013-05-12 02:35:08 +02:00
.gitignore Initial commit. 2013-05-10 18:59:30 +02:00
box.mtl Use anisotropic filtering. 2013-05-15 01:49:39 +02:00
box.obj Use anisotropic filtering. 2013-05-15 01:49:39 +02:00
floor.png Use anisotropic filtering. 2013-05-15 01:49:39 +02:00
gl.hpp Fixup RPNG to work better for GL purposes. 2013-05-12 23:58:35 +02:00
glsym.cpp (MSVC) Should fix MSVC build 2013-05-11 21:52:19 +02:00
libretro.cpp Fix GLES build. 2013-05-17 15:39:30 +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 FPS-style view. 2013-05-14 02:08:02 +02:00
mesh.cpp FPS-style view. 2013-05-14 02:08:02 +02:00
mesh.hpp Start adding collision detection. 2013-05-14 02:33:51 +02:00
object.cpp Add use of ambient texture. 2013-05-12 13:28:39 +02:00
object.hpp Replace more namespace references to shared_ptr to std1:: 2013-05-11 23:56:30 +02:00
README.md Update README. 2013-05-11 15:01:50 +02:00
rpng.cpp Fixup RPNG to work better for GL purposes. 2013-05-12 23:58:35 +02:00
rpng.h Clarify RPNG changes. 2013-05-13 00:03:21 +02:00
shader.cpp Works now on Android. 2013-05-12 13:27:04 +02:00
shader.hpp Initial commit. 2013-05-10 18:59:30 +02:00
shared.hpp Works now on Android. 2013-05-12 13:27:04 +02:00
texture.cpp Fix GLES build. 2013-05-17 15:39:30 +02:00
texture.hpp Tweak collision detection. 2013-05-17 14:18:42 +02:00
util.hpp Add basic TGA support. 2013-05-13 00:39:46 +02:00
wall.png Use anisotropic filtering. 2013-05-15 01:49:39 +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