A real 3D presentation system
INTRODUCTION
PRISCILA is a presentation application. PRISCILA presentations are composed of slide where several kinds of items can be placed in a 3D space.It is intended to be controlled only by the keyboard but in future mouse support will be added (maybe :).
PRISCILA provides a built-in editor which currently is still quiet primitive.
Features
The main PRISCILA features are listed bellow.
- Support of True-Type fonts for text rendering
- Load of several image formats using SDL_img library
- Load of 3D models. For now only 3DStudio models can be loaded.
- Some simple Special Effects which will be augmented in future.
- Built-in slide editor.
- Insertion of text, images and 3d models
- Modification of position, orientation, scaling and color of any item in the slide (in 3D space)
- Navigation of objects in slide and stacking order modification
- On-Screen Real-time information of items.
NAVIGATION MODE
PRISCILA starts in Navigation mode. This is the normal operation mode of the application. In this mode the following actions can be performed, pressing appropriated keys.
- ESC : Exit application
- Cursor Right : Move to next slide in presentation
- Cursor Left : Move to previous slide in presentation
- INSERT : Enter Edit Mode.
EDIT MODE
In Edit mode, users can modify the current presentation using the embedded command-line or directly manipulating the slide.In this mode several kinds of actions can be performed. They are summarised below by category.
General
- 'INSERT': Return to Navigation Mode
- 'TAB/Shift TAB': Cycles throughout items in slide.
- '0', '1', '2': Changes current increment to 0.01, 0.1 and 1.0 respectively
- 's': Saves current slide to disk
- 'l': Loads current slide from disk
- ':': Activates command-line interface
Item Manipulation
- Cursor Right/Left: Moves current Item in X axis according to current increment
- Cursor Up/Down: Moves current Item in Y axis according to current increment
- SHIFT + Cursor Up/Down: Moves current Item in Z axis according to current increment
- B/b N/n M/n : Rotates current Item respect to X, Y, Z axis respectively. Capital letters increase angle.
- Q/q: Changes current item alpha (transparency)
- A/a: Changes current item scale
- RETURN: Allows editing of current item. Currently only Text items can be edited this way.
Item Creation
- t: Inserts simple text item in slide.
- p: Inserts shadowed text item in slide.
- i: Inserts image in slide. A simple File selector is shown
- o: Inserts 3D Model (3DS) in slide. A simple File selector is shown
Command-line Interface
The command-line interface supports the following commands:- quit: Exits PRISCILA
- clear: Clears current slide, removing all the items in it.
- set_next filename: Allows to set the next slide in presentation.
set_next slide03.pris - set_prev filename: Allows to set the previous slide in presentation.
set_prev slide01.pris - link prev_filename next_filename: Allows to set previous and next
filename linked to current slide
link slide01.pris slide03.pris - load filename: Loads from disk the file 'filename'. Extension must be provided.
load template.pris - w filename: Saves current slide to disk as 'filename'. If 'filename' is not
provided, the current slide name is used. If a 'filename' is
provided, current slide name is changed to 'filename'.w sample.pris
- select item_number: Selects the item 'item_number'
select 2 - show item_numer/-1: Shows information of the item 'item_number' or disables information display if parameter -1 is provided
- set_color item r g b alpha: Set color of item 'item' to (r, g, b, alpha)
- set_scale item scalex scaley scalez: Set scale of item 'item' for the three coordinates
SPECIAL EFFECTS
Special effects are stored in a separated file named against the slide file name with extension .fx. So, to add special effects to file index.pris, a file index.pris.fx must be created.Current FXs have to be included manually in the presentation. Next sections shows how:
SLOW_ZOOM
This effects performs an slow zoom of a given item, changing slowly its Z coordinate.To apply SLOW_ZOOM to a slide item, the following line must be added to the xxx.pris.fx file:
item minZ maxZ step
This line will do item 'item' change its Z coordinate from minZ to maxZ using an step 'step'
SPIN_OBJECT
This effect allows to rotate items in slide continuouslyTo apply SPIN_OBJECT to a slide item, the following line must be added to the xxx.pris.fx file:
item stepX stepY stepZ
This line will rotate item 'item' in the X, Y and Z axis using the stepX, stepY and stepZ increment. Providing a value of 0.0 to any increment will disable rotation on that axis.
ANIM_OBJECT
This effect allows basic key framed animation of a given itemTo apply ANIM_OBJECT to a slide item, the following line must be added to the xxx.pris.fx file:
item frame0 frame1
NONE
px0 py0 pz0
rx0 rx0 rx0
sx0 sy0 sz0
r0 g0 b0 alpha0
NONE
px1 py1 pz1
rx1 rx1 rx1
sx1 sy1 sz1
r1 g1 b1 alpha1
This lines will animate item 'item' from 'frame0' to 'frame1' interpolating the values of the first parameter block (XX0) to the values of the second parameter block (XX1). The meaning of each parameter is summarised below:
- px, py, pz : Position of item in slide
- rx, ry. rz : Orientation of item in slide
- sx, sy, sz : Scale of item in slide
- r, g,b ,alpha : Color of item in slide
FLYING QUADS
This effect will show a random set of quads flying in the background.FLYING_QUAD effect is applied to the whole slide not to a given object. The following lines must be added to the xxx.pris.fx file
n velocity size z y_base y_delta alpha
where:
- n : Number of QUADS to generate
- velocity : Mean value of quads velocity
- size : Mean value of quad size
- z : Coordinate of the Z plane where quads will fly
- y_base : Vertical base position of quads
- y_delta : Deviation of vertical base position of quads
- alpha : Alpha mean value of quads (transparency)

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Please send comments to dmartin AT uvigo DOT es