More actions
No edit summary |
(change type) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox PSP Homebrews | {{Infobox PSP Homebrews | ||
|title=openTri | |title=openTri | ||
|image= | |image=psp02.png | ||
|description=A game engine for the Playstation Portable. | |description=A game engine for the Playstation Portable. | ||
|author=Tomaz, Raphael, InsertWittyName | |author=Tomaz, Raphael, InsertWittyName | ||
|lastupdated=2020/06/05 | |lastupdated=2020/06/05 | ||
|type= | |type=Development | ||
|version=2020 | |version=2020 | ||
|license=MIT | |license=MIT | ||
|download=https://dlhb.gamebrew.org/psphomebrew/ | |download=https://dlhb.gamebrew.org/psphomebrew/opentri.zip | ||
|website=https://github.com/albe/openTri | |website=https://github.com/albe/openTri | ||
|source=https://github.com/albe/openTri | |source=https://github.com/albe/openTri | ||
Line 63: | Line 63: | ||
** Generic fast memory manager for object heaps. | ** Generic fast memory manager for object heaps. | ||
** Stream interface with buffered streams layer and asynchronous buffered file reader for higher performance Memstick reading, as well as support for (zlib) compressed streams that are decompressed on the go | ** Stream interface with buffered streams layer and asynchronous buffered file reader for higher performance Memstick reading, as well as support for (zlib) compressed streams that are decompressed on the go | ||
** A high performance | ** A high performance [https://github.com/albe/openTri/blob/master/src/streams/streams.c#L22 memcpy through VFPU usage]. | ||
** VMath, VFPU Vector/Matrix math library. | ** VMath, VFPU Vector/Matrix math library. | ||
** pmplib for decoding videos (AVC+MP3/AAC/AT3) with support for fullscreen playback (intro videos) or giving control over how the video gets displayed (ingame videos that can be used as additional briefing incoming or be displayed on 3D objects as texture). | ** pmplib for decoding videos (AVC+MP3/AAC/AT3) with support for fullscreen playback (intro videos) or giving control over how the video gets displayed (ingame videos that can be used as additional briefing incoming or be displayed on 3D objects as texture). | ||
Line 72: | Line 72: | ||
* [http://forums.qj.net/showpost.php?p=2102549&postcount=100 LuaPlayer HomeMister v2] (LPHMv2) by homemister91. | * [http://forums.qj.net/showpost.php?p=2102549&postcount=100 LuaPlayer HomeMister v2] (LPHMv2) by homemister91. | ||
* [https://web.archive.org/web/20111130000918/http://forums.ps2dev.org:80/viewtopic.php?t=10845 PDF reader application] by sauron_le_noir. | * [https://web.archive.org/web/20111130000918/http://forums.ps2dev.org:80/viewtopic.php?t=10845 PDF reader application] by sauron_le_noir. | ||
* [ | * [[Mudkip Adventures PSP|Mudkip Adventures]] by Raphael. | ||
==External links== | ==External links== | ||
Line 80: | Line 80: | ||
* SVN repository - [https://web.archive.org/web/20111130142959/http://svn2.assembla.com/svn/openTRI/ http://svn2.assembla.com/svn/openTRI] (archived) | * SVN repository - [https://web.archive.org/web/20111130142959/http://svn2.assembla.com/svn/openTRI/ http://svn2.assembla.com/svn/openTRI] (archived) | ||
* QuickJump - [https://web.archive.org/web/20210326100750/http://forums.qj.net/psp-development-forum/128874-release-triengine-full-featured-game-engine.html http://forums.qj.net/psp-development-forum/128874-release-triengine-full-featured-game-engine.html] (archived) | * QuickJump - [https://web.archive.org/web/20210326100750/http://forums.qj.net/psp-development-forum/128874-release-triengine-full-featured-game-engine.html http://forums.qj.net/psp-development-forum/128874-release-triengine-full-featured-game-engine.html] (archived) | ||
Latest revision as of 16:33, 27 August 2024
openTri | |
---|---|
General | |
Author | Tomaz, Raphael, InsertWittyName |
Type | Development |
Version | 2020 |
License | MIT License |
Last Updated | 2020/06/05 |
Links | |
Download | |
Website | |
Source | |
openTRI is a game engine for the PSP, written in pure C. It was an original project by Tomaz, Raphael and InsertWittyName? and was released to public under GPL.
See also updates by SamRH.
Features
- triGraphics:
- GU setup (all possible pixelformats)/Doublebuffering functionality.
- Primitive drawing (lines, outlined/solid/gradient rect, rotated solid rect, solid/outlined/gradient circle, filled/outlined/gradient triangle, solid/gradient star).
- Image drawing (rotated and non-rotated).
- Color ops (and/or/not etc. see pspgu.h for a full list.
- Image tinting (through the sceGuTexFunc functionality).
- Constant alpha for images.
- Control blend modes.
- Colorkeying.
- Clipping windows.
- Image animation (concated images/spritesheets) drawing (normal and rotated).
- Full render to image functionality.
- Basic render to texture functionality (more complete renderbuffer functionality in tri3d).
- Images:
- Load PNG (all formats), TGA (all formats), own format (supports mipmaps, animation, palettes and different compressions like RLE and GZIP).
- Load and draw huge images (>512x512).
- Save PNG (with/without alpha), TGA (with/without RLE compression, with/without alpha), own format.
- Supports paletted images as well as all other PSP formats (4444,5551,5650,DXT1/3/5).
- Swizzle/unswizzle images, upload images to VRAM/download to RAM.
- Image animation control (set loops, start, pause, reset, update).
- Load images animations as spritesheets from any supported format.
- Capture framebuffer into image struct for saving (screenshots) or other use.
- All image loads are refcounted (no double images in RAM).
- Fonts:
- Based on pgeFont, loads any TTF/OTF font and creates a bitmap font, useable for printing text very fast.
- tri3d:
- Setup 3D mode (perspective/ortho) with depth buffer.
- Pseudo Fullscreen Anti-Aliasing.
- Smooth Dithering (for 16bit render modes).
- Renderbuffer interface - create renderbuffers, set renderbuffer as rendertarget or texture.
- Set framebuffer as rendertarget or texture.
- Set depthbuffer as texture (with support for a color ramp [palette] to map depth values to colors).
- A couple of high performance rendertarget convolution (blur) filters (up to 9x9).
- A quaternion based camera object with keyframing support.
- An OpenGL style texture manager keeping most frequently used textures in VRAM with automatic mipmap generation and prioritizing textures to stay in VRAM.
- A highly flexible particle engine supporting billboards, real 3D particles and line particles. Support for different particle interactions (bind to emitter, global force function (all particles), local force function (per particle), vortices (turbulences)) as well as different blend modes for the particles and up to 8 color/alpha fades during lifetime, giving a simple non-linear control of particle looks, also supports growing particles, selfrotation, glitter, global gravity, wind, emitter burnout and animated particle textures, plus all that can be driven by simple scripts so you can change particle systems without having to recompile your code.
- Simple model management/rendering.
- triAudio:
- Support for AT3 playback for background music (using ME).
- Support for WAV playback for sound effects.
triNet:
- Support for connecting to sockets as client/server.
- Generic libraries:
- VRAM memory manager.
- Generic fast memory manager for object heaps.
- Stream interface with buffered streams layer and asynchronous buffered file reader for higher performance Memstick reading, as well as support for (zlib) compressed streams that are decompressed on the go
- A high performance memcpy through VFPU usage.
- VMath, VFPU Vector/Matrix math library.
- pmplib for decoding videos (AVC+MP3/AAC/AT3) with support for fullscreen playback (intro videos) or giving control over how the video gets displayed (ingame videos that can be used as additional briefing incoming or be displayed on 3D objects as texture).
User guide
Homebrew Showcase
- Geometry Wars by Victory Studio.
- LuaPlayer HomeMister v2 (LPHMv2) by homemister91.
- PDF reader application by sauron_le_noir.
- Mudkip Adventures by Raphael.
External links
- Author's website (Raphael) - http://wordpress.fx-world.org (archived)
- GitHub (Raphael) - https://github.com/albe/openTri
- Trac repository - http://trac2.assembla.com/openTRI (archived)
- SVN repository - http://svn2.assembla.com/svn/openTRI (archived)
- QuickJump - http://forums.qj.net/psp-development-forum/128874-release-triengine-full-featured-game-engine.html (archived)