Rich Appearance Format (RAF)

From PS3 Developer wiki
Revision as of 21:21, 23 October 2014 by Ada L0ve Lace (talk | contribs) (RAF Scene (.XML))
Jump to: navigation, search


RAF (Rich Appearance Format) is a container, used by the animation when PS3 boots (coldboot.raf), and inside dynamic Themes (as the animated scene displayed at the background of the theme)

  • RAF related firmware modules in dev_flashvsh/modules/:
    • raf.sprx <--- generic animations

RAF structure

See: CXML Containers page

RAF tools

Rich Apparence Maker


R.A.M on PS3 News:

R.A.M on PSX Scene:

PS3 Color Logo Creator V2.511

PCLC Source:

PCLC on PS3 News:

PCLC V2.511 Download:

RAF contents

It must comply with these restrictions :

-Textures size max: 15 mb ( 15728640 Bytes ) ( on RSX local memory at run time )
-Geometry & script size max: 1 mb ( 1048576 Bytes ) ( on main memory at run time ) 
-Actor size max: 1.25mb ( 1310720 Bytes ) ( in the intermediate buffer ) 
-Actor number max: 128
-Cameras: 1
-Lights: 2 (ambient + point)
-Scripts: 1
-Models: 64 (with 8 animations each model)

RAF Scene (.XML)

<?xml version='1.0' encoding="UTF-8"?>


<!-- model -->
<model id="id_model" file="model.dae" vertex_color="" >
<animation id="animation" file="animation.dae" start="1" end="100" sampling_rate="1" />

<!-- material -->
<material id="id_material" effect="pure_texture / pure_texture_alpha_0_depth_1 / pure_texture_alpha_1_depth_0 / pure_texture_alpha_0_depth_0 / basic_lighting / basic_lighting_alpha_0 / basic_lighting_edge_lit / basic_lighting_edge_lit_alpha_0 / basic_lighting_alpha_add" >
<texture file="texture.jpg" type="color_map / normal_map / specular_map / tangent_normal_map" />

<!-- actor -->
<actor id="name" model="id_model" material="id_material" position="x,y,z" rotation="x,y,z" scale="x,y,z" color="r,g,b,a" uv_scale="u,v" uv_offset="u,v" anim_weight="anim0, anim1, anim2, anim3" anim_speed="anim0, anim1, anim2, anim3" anim_time="anim0, anim1, anim2, anim3" />

<!-- camera -->
<camera id="name" file="camera.dae" type="perspective / orthographic" yfov="1" ymag="1" znear="1" zfar="1" position="x,y,z" direction="x,y,z" up="x,y,z" />

<!-- light -->
<light id="name" file="light.dae" type="ambient / point" color="r,g,b" position="x,y,z" direction="x,y,z" attenuation="1,1,1" />

<script file="script.js" />


Models and Lights (.DAE)

Models can be geometric 3D objects, or 3D light points

  • Typical objects and names used:
    • bg.dae
    • ambient_light.dae
    • point_light.dae

Models files contains references to the libraries that were used by the 3D app that build the object

  • Typical entries found in models (3d objects)
    • <asset>
    • <library_physics_scenes>
    • <library_images>
    • <library_materials>
    • <library_effects>
    • <library_geometries>
    • <library_visual_scenes>
    • <scene>
  • Typical entries found in models (3d lights)
    • <asset>
    • <library_physics_scenes>
    • <library_lights>
    • <library_visual_scenes>
    • <scene>


See Multimedia Formats and Tools page

Before compiling, only .dds and jpeg are supported.

After compiling, Graphics Texture Format (GTF) (is a container for storing one or multiple textures, "pack GTF", data in a layout that can be used as is by RSX).



A script.js using PlayStation JavaScript.

Some examples of PS3 theme using PSJS:


The script.js is then compiled into an intermediate code and produce an .jsx file (with a magic header "VSMX")