Editing Multimedia Formats and Tools

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 2: Line 2:


A lot more fileformats not added yet to the page are listed in: http://www.psdevwiki.com/ps3/XMB_database#Promoter
A lot more fileformats not added yet to the page are listed in: http://www.psdevwiki.com/ps3/XMB_database#Promoter
See also [[Game Modding]]


=Image=
=Image=
Line 9: Line 11:
*http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
*http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf


*[http://www.psdevwiki.com/vita/index.php?title=Template:IFD_format IFD format]
*[http://www.vitadevwiki.com/index.php?title=Template:IFD_format IFD format]


*[http://www.psdevwiki.com/vita/index.php?title=Template:IFD_tag IFD tag]
*[http://www.vitadevwiki.com/index.php?title=Template:IFD_tag IFD tag]


==BMP==
==BMP==
Line 17: Line 19:


==DDS==
==DDS==
'''D'''irect '''D'''raw '''S'''urface are used on PS3 (e.g. the XMB monthly wallpapers inside [[Lines.qrc]] and the [[XMB Manuals]] specific for PS3 game/apps)
Direct Draw Surface (DDS) are used for example on [[XMB_Manuals|XMB Manuals]]
 
It seems at the release of PS3 firmware 1.00 the DDS support in XMB was not complete (or maybe not supported dds at all, this is hard to know), it was implemented gradually and only for a few specific display modes, the monthly background wallpapers inside lines.qrc was implemented in firmware 1.90/2.00 and PS3 manuals support around 4.00, this display modes are a bit special because uses full screen<!--and probably uses the background display buffer-->. But DDS was never implemented in PS3 RCO's... the PS3 RCO's doesnt even knows what is a DDS ([[RCOXML Images|because there is not an ID for DDS]]), so is not officially posible to store a DDS image inside a PS3 RCO, at the end of life of PS3 the RCO format was obsolete for several reasons and this was one of them. GIM format seems to superceed the features of DDS though
 
For PSVita the RCO format was highly modifyed, and at this point probably DDS support was added to RCO (this is speculative though). Later the RCO format from PSVita was inherited by PS4 and with it the DDS support, actually it looks like the whole interface of PS4 supports DDS (not only from inside RCO, but also for the ICON0.DDS of games/apps)


*http://en.wikipedia.org/wiki/DirectDraw_Surface
*http://en.wikipedia.org/wiki/DirectDraw_Surface
Line 37: Line 35:
| style="background-color:#444453; color:#FFFFFF;" |'''Notes'''
| style="background-color:#444453; color:#FFFFFF;" |'''Notes'''
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">DDS header</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">DDS header</span>
|-
|-
| 0x00 || 0x04 || 44 44 53 20 || "DDS " || Magic
| 0x00 || 0x04 || 44 44 53 20 || "DDS " || Magic
Line 112: Line 110:


Sample: http://rghost.net/58928544 (.dxt files are original, .dxt.dds are edited for viewing)
Sample: http://rghost.net/58928544 (.dxt files are original, .dxt.dds are edited for viewing)
There is a QuickBMS scripts for converting DTX<>DDS
pastebin GKdqL7xG and pastebin 3H0MDmTG


e.g. (quick note, should be move to emulation/PS2 page once figure out)
e.g. (quick note, should be move to emulation/PS2 page once figure out)
Line 125: Line 120:


==GIM==
==GIM==
'''G'''raphic '''I'''mage '''M'''ap ?. See [[Graphic Image Map (GIM)]]
Graphics Image ?


The tool used to manage GIM image conversions is '''GimConv.exe'''. See [[GimConv]]
Used inside [[Resource_Container_(RCO)]] files


Used inside [[Resource Container (RCO)]] files (see [[RCOXML Images]]), [[PlayStation 3 Theme (P3T)]] files, etc...
Can be converted back and forth to png/jpg/bmp... with gimconv (included in [[rcomage]])


===GimConv.exe===
Made by sony, '''gimconv v1.20h''' was released with '''p3tcompiler v2.00''' as part of the [http://uk.playstation.com/ps3/support/settings/detail/linked235336/item85346/Download-PlayStation-3-Custom-Theme-Guidelines/ PS3 Custom Theme Toolbox]


*'''Gim Viewer v0.8''' by HSreina: http://hsreina.shadosoft-tm.com/display/cat/103
The version used as an standard unofficially is the one included in [[rcomage]] that uses a configuration file (named GimConv.cfg) initially edited by Zinga Burga to improve compatibility with rcomage, and later to add compatibility with ps3 rco's (there are some specific settings for ps3 that was added at some point, but now can be considered incorrect for ps3, or not generic enought)
**Created for PSP it has partiall support for PS3 gim's, allows to view the most common .gim images used in ps3 (the standard format used by most gim's inside .rco's)... is not able to display gims inside rco's that doesnt uses the standard gim format (dxt5 based are displayed full filled with white)


  Version 0.8 / by Hsreina - Hontoshadow
The command line help of GimConv.exe gives a very limited explain of a few options (the ones at top are not real options, are more like groups of presets)
C:\rcomage-v1.1.1\GimConv>GimConv.exe
  gimconv ver 1.20h --- generic picture converter
Copyright (C) 2006 Sony Computer Entertainment Inc.
  All Rights Reserved.
   
   
  What is Gim Viewer
  usage:
===============================
        gimconv <input files> [options]
Giw Viewer was designed for view (*.gim; *.mig) files from "Fantasy golf Pangya portable"
   
   
  How to use
  options:
==========
        -o <filename>  specify output file name
just Drag & Drop a (*.gim; *.mig file) on the main window of Gim viewer or use the Files/open menu to found a  picture;
        -s <w,h>        resize image data
you can use spacebar or backspace for display the previous or next file in the current folder.
        -P              resize image data to a power of two
        -N              output in normal (not faster) pixel storage format
        -X              swap RGBA <-> ABGR
        -ps3            output ps3 style GIM
        -bpp<n>        color output bit depth; n is: 4, 8, 16, 16p, 16a or 32
                        4, 8 are indexed; 16, 16a, 16p, 32 are RGBA format
   
   
  for anybugs please mail to "bugreport@shadosoft-tm.com"
        -S              output text format
  Copyright (c) 2005 - 2012 Shadosoft tm. All rights reserved. http://pangya.shadosoft-tm.com/
        -interact      input additional options
        -pictures      merge files as pictures
        -frames        merge files as frames
        -levels        merge files as levels
        -prompt        prompt always
        -warning        prompt on warning
        -error          prompt on error
 
The options that appears in the help of the command line what does is to load the real settings from GimConv.cfg, where all the options are listed and is posible to specify his default values, to change the groups of settings (for specific combinations of options like the option '''-ps3'''), is also the only place where is posible to see all the different settings availables of the tool
 
 
{{Boxcode|content=<syntaxhighlight lang="c">
//================================================================
// gimconv configuration
//================================================================
 
usage {
puts "usage:"
puts "        gimconv <input files> [options]"
puts ""
puts "options:"
puts "        -interact      input additional options"
puts "        -pictures      merge files as pictures"
puts "        -frames        merge files as frames"
puts "        -levels        merge files as levels"
puts "        -prompt        prompt always"
puts "        -warning        prompt on warning"
puts "        -error          prompt on error"
puts "        -viewer        start gimview.exe when process ends"
puts "        -o <filename>  specify output file name"
puts "        -s <w,h>        resize image data"
puts "        -S              output text format"
puts "        -P              resize image data to a power of two"
puts "        -N              output in normal pixel storage format"
puts "        -F              output in faster pixel storage format"
puts "        -R              re-convert ( don't swap RGBA <-> ABGR )"
}
 
//----------------------------------------------------------------
//  default settings
//----------------------------------------------------------------
 
default {
load "lib/*"
 
//  main control
 
interact_mode = off // off on ctrl
merge_mode = off // off picture frame level plane
// image palette sequence
prompt_mode = off // off on warning error
output_object = on // off on
output_script = off // off on
output_directory = auto // current input auto
output_filename = ""
object_extension = .gim
script_extension = .gis
userdata_extension = .dat
glob_extension = .dds .tm2 .tga .bmp .avi
object_viewer = ""
 
//  process control
 
filter_script = "Filter"
image_size = default // default pow2 $w,$h
pixel_order = default // default normal faster
pixel_alpha = default // default $alpha
pixel_channel = default // default rgba rgab ragb ... etc
image_format = default // default rgba8888 rgba4444 rgba5551 rgba5650
// index4 index8 index16 index32
// dxt1 dxt3 dxt5 dxt1ext dxt3ext dxt5ext
palette_format = default // default rgba8888 rgba4444 rgba5551 rgba5650
update_userdata = default // default off on
update_fileinfo = off // default off on
 
check_limit = on // off on
limit_image_width = 4096 // off $count
limit_image_height = 4096 // off $count
limit_level_count = 8 // off $count
limit_frame_count = off // off $count
 
//  output control
 
format_style = psp // std psp ps3
format_endian = little // little big
 
output_image = on // off on
output_palette = on // off on
output_sequence = on // off on
 
//  PS3 OSD default settings
 
format_endian = big // -B
pixel_order = normal // -N
pixel_channel = default // -R
image_format = rgba8888 // --image_format rgba8888
 
extend_edge = off
}
 
//--------------------------------------------------------
//  format specific
//--------------------------------------------------------
 
input *.avi {
pixel_alpha = 255
}
 
input *.bmp {
pixel_alpha = 255
}
 
input *.dds {
}
 
input *.tga {
}
 
input *.tm2 {
}
 
input *.gim {
}
 
input *.gis {
}
 
//--------------------------------------------------------
//  mode option
//--------------------------------------------------------
 
option -interact {
interact_mode = on
}
 
option -pictures {
merge_mode = picture
}
 
option -frames {
merge_mode = frame
}
 
option -levels {
merge_mode = level
}
 
option -planes {
merge_mode = plane
}
 
option -images {
merge_mode = image
}
 
option -palettes {
merge_mode = palette
}
 
option -sequences {
merge_mode = sequence
}
 
option -prompt {
prompt_mode = on
}
 
option -warning {
prompt_mode = warning
}
 
option -error {
prompt_mode = error
}
 
option -viewer {
object_viewer = "GimView.exe"
}
 
//--------------------------------------------------------
//  process option
//--------------------------------------------------------
 
option -o %filename {
output_filename = %filename
}
 
option -s %size {
image_size = %size
}
 
option -g %ext {
glob_extension = %ext
}
 
option -P {
image_size = pow2
}
 
option -N {
pixel_order = normal
}
 
option -F {
pixel_order = faster
}
 
//--------------------------------------------------------
//  PS3 OSD specific options
//--------------------------------------------------------
 
option -B {
format_endian = big
}
 
option -X {
pixel_channel = abgr
}
 
option -R {
pixel_channel = default
}
 
option -DXT {
pixel_order = default
pixel_channel = default
image_format = default
}
 
option -E {
extend_edge = on
}
 
//--------------------------------------------------------
// output option
//--------------------------------------------------------
 
option -S {
output_object = off
output_script = on
}
 
//--------------------------------------------------------
//  filter script
//--------------------------------------------------------
 
script Filter %target {
RescaleImage  %target $image_size
SetPixelFormat %target $image_format $palette_format
SetPixelAlpha  %target $pixel_alpha
SwapPixelChannel %target $pixel_channel
ConfigureImage %target order $pixel_order
UpdateUserData %target $update_userdata
UpdateFileInfo %target $update_fileinfo
ExtendEdge    %target $extend_edge
CheckPSP      %target $check_limit
}
</syntaxhighlight>}}
 
The option '''-ps3''' seems to be wrong, the images inside [[explore_plugin]]_full.rco from firmware 4.70 has been made by using this 3 options
 
{{Boxcode|content=<syntaxhighlight lang="c">
option -ps3 {
format_style = psp
format_endian = big
pixel_order = normal
}
</syntaxhighlight>}}
 
You can edit the GimConv.cfg file and use GimConv.exe to load the group of options by the option '''-ps3''' in command line this way (or let rcomagegui.exe decide, but im not sure what it does)
{{Keyboard|content='''gimconv.exe tex_psn.png -o tex_psn.gim --ps3'''}}
 
Another way is by specifying the options strictly from command line (using the names that appears inside the GimConv.cfg file)
 
This is the most accurate way to specify options for GIM conversion, it doesnt uses groups but the result is the same, in this example is a command for gimconv.exe directly
{{Keyboard|content='''gimconv.exe tex_psn.png -o tex_psn.gim --format_style psp --format_endian big --pixel_order normal'''}}
 
But there is other way, by "redirecting" GIM settings from rcomage.exe ---to---> gimconv.exe at compiling time (see the "compile" help in [[rcomage]] page). There are 2 options in rcomage specific for this task, named: '''--gimconv-cmd''' and '''--gimconv-flags'''
{{Keyboard|content=rcomage.exe ...}}
<!-- rcomage.exe compile explore_plugin_full.xml explore_plugin_full.rco --pack-hdr zlib --zlib-method default --zlib-level 9 ...INCOMPLETE_IS_MISSING_GIM_SETTINGS-->
<!-- and i cant make this 2 options work, is driving me nuts, grrr -->
 
*Other stuffing
**speculation about animated images support http://endlessparadigm.com/forum/showthread.php?tid=5054
**note the option '''-viewer (start gimview.exe when process ends)''' points to an official gim viewer that doesnt exists in the public release
 
*To identify the settings that was used to build a GIM file:
**Use rcomage to make an extraction of the contents '''without''' conversion of images (this way the GIM are extracted raw)
**Use rcomage to make another extraction of the contents '''with''' conversion of images (this way the images are converted to PNG when extracted)
**Use gimconv to convert the PNG ---to---> GIM by the old method of test-error by trying some of the options availables that appears in gimonv.cfg
**Use a hexeditor to compare the original GIM extracted in step 1 with the rebuilt GIM from your test, there is no need to make accurate comparisons, just an overview of how the data is ordered
**When the data seems similar, make a hash comparison of both, original and rebuild should be exactly the same data (is posible to create a GIM exactly like the original)
 
*In PS3 it seems to be at least 2 types of GIM images, both included inside rco's, and in some cases both types in the same rco
**explore_plugin_full.rco (and other explore_plugin_***.rco ?): ('''--format_style psp --format_endian big --pixel_order normal''')
**xmb_plugin_normal.rco (and other xmb_***.rco ?): (uses some variant of dxt5)
**more ?


==GMO==
==GMO==
'''G'''raphic '''M'''odel '''O'''bject
Graphics... ?


Used inside [[Resource_Container_(RCO)]] files (see [[RCOXML Models]])
Used inside [[Resource_Container_(RCO)]] files


==GTF==
==GTF==
Line 167: Line 467:
| style="background-color:#475446; color:#FFFFFF;" |'''Notes'''
| style="background-color:#475446; color:#FFFFFF;" |'''Notes'''
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">GTF header</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">GTF header</span>
|-
|-
| 0x00 || 0x04 || 02 02 00 FF ||  || Version
| 0x00 || 0x04 || 02 02 00 FF ||  || Version
Line 175: Line 475:
| 0x08 || 0x04 || 00 00 00 01 ||  || Number of textures embedded
| 0x08 || 0x04 || 00 00 00 01 ||  || Number of textures embedded
|-
|-
| 0x0C || 0x04 || 00 00 00 00 ||  || Not used?
| 0x0C || 0x04 || 00 00 00 00 ||  || Not used?
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">GTF specification</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">GTF specification</span>
|-
|-
| 0x10 || 0x04 || 00 00 00 80 ||  || Size Header
| 0x10 || 0x04 || 00 00 00 80 ||  || Size Header
Line 194: Line 494:
| 0x1C || 0x04 ||  ||  || Remaps:
| 0x1C || 0x04 ||  ||  || Remaps:
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">DDS specification</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">DDS specification</span>
|-
|-
| 0x20 || 0x02  || 00 40 || 64 in decimal || Size image width
| 0x20 || 0x02  || 00 40 || 64 in decimal || Size image width
Line 203: Line 503:
|-
|-
|}
|}
==GXT==
Gxt is a container for storing one or multiple graphic textures for the PSVita and PSP. See [http://www.psdevwiki.com/vita/index.php?title=GXT GXT]


==JPG==
==JPG==
Line 228: Line 524:
==PNG==
==PNG==
PS3 supports PNG images in 24 bits (for RGB channels), and 32 bits with transparency (24 bits for RGB channels + 8 bits for an alpha layer). "PNG Interlaced" and "APNG (Animated Portable Network Graphics)" formats are not supported by the PS3.
PS3 supports PNG images in 24 bits (for RGB channels), and 32 bits with transparency (24 bits for RGB channels + 8 bits for an alpha layer). "PNG Interlaced" and "APNG (Animated Portable Network Graphics)" formats are not supported by the PS3.
*How to create [http://garethrees.org/2007/11/14/pngcrush/ smallest possible transparent PNG]
==PVR==
PowerVR Texture Compression files: PVRTC and PVRTC2 are a family of lossy, fixed-rate texture compression formats.
*[http://www.psdevwiki.com/vita/index.php?title=PVR PVR]


==TGA==
==TGA==
*[http://www.psdevwiki.com/vita/index.php?title=TGA TGA] (used on [[Qt_Resource_Container_(QRC)|Qt Resource Container (lines.qrc)]])
http://en.wikipedia.org/wiki/Truevision_TGA


=Audio=
=Audio=
Line 253: Line 542:
==AT9==
==AT9==


*See [http://www.psdevwiki.com/ps4/Snd0.at9 Snd0.at9]
*[http://www.psdevwiki.com/ps4/Snd0.at9 Snd0.at9]


==VAG==
==VAG==
Used for sound effects such navigational sounds on XMB inside a [[PlayStation_3_Theme_(P3T)#Navigation_Sounds_.28.VAG.29|theme]] , on \dev_flash\pspemu\flash0\logo\remaster_op.bin and some .rco (e.g trophy unlocking)


*Format
*Format
Line 263: Line 550:
{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
|-
|-
| style="background-color:#564147; color:#FFFFFF;" |'''Offset (h)'''
| style="background-color:#564147; color:#FFFFFF;" |'''Offset'''
| style="background-color:#564147; color:#FFFFFF;" |'''Size (h)'''
| style="background-color:#564147; color:#FFFFFF;" |'''Size'''
| style="background-color:#564147; color:#FFFFFF;" |'''Example (h)'''
| style="background-color:#564147; color:#FFFFFF;" |'''Example'''
| style="background-color:#564147; color:#FFFFFF;" |'''Value (conversion)'''  
| style="background-color:#564147; color:#FFFFFF;" |'''Value (conversion)'''  
| style="background-color:#564147; color:#FFFFFF;" |'''Notes'''
| style="background-color:#564147; color:#FFFFFF;" |'''Notes'''
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">VAG header</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">VAG header</span>
|-
|-
| 0x00 || 0x04 || 56 41 47 70 || "VAGp" || Magic
| 0x00 || 0x04 || 56 41 47 70 || "VAGp" || Magic
Line 279: Line 566:
| 0x0C || 0x04 || 00 00 04 50 || 1104 bytes || Waveform data size (bytes)
| 0x0C || 0x04 || 00 00 04 50 || 1104 bytes || Waveform data size (bytes)
|-
|-
| 0x10 || 0x04 || 00 00 BB 80 || 48 000 Hz || Sampling Frequency (Hz) (hex to decimal)
| 0x10 || 0x04 || 00 00 BB 80 || 44 000 Hz || Sampling Frequency (Hz)
|-
|-
| 0x14 || 0x0A || 00 00 ... 00 00 || - || Reserved area
| 0x14 || 0x0A || 00 00 ... 00 00 || - || Reserved area
Line 291: Line 578:
| 0x20 || 0x10 || 53 45 30 34 5F 42 61 63 6B  || SE04_BACK || Name
| 0x20 || 0x10 || 53 45 30 34 5F 42 61 63 6B  || SE04_BACK || Name
|-
|-
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black!important;">Waveform data (AIFF/WAV) starts</span>
|colspan="5" style="text-align:center; background-color:lightblue;" | <span style="color:black;">Waveform data starts</span>
|-
|-
|}
|}
Line 309: Line 596:
| Decoding coefficient
| Decoding coefficient
|| Loop information:
|| Loop information:
*00: default?
*1: last block of the file
*01: last block of the file
*3: ending block of the loop
*03: ending block of the loop
*6: starting block of the loop
*06: starting block of the loop
*7: playback ending position
*07: playback ending position
<small>Because ADPCM uses sample blocks that are aligned one after the other, a wave compressed with ADPCM may have an unfinished, partial block at its end. The ADPCM decoder generates silence for the remainder of this partial block, which keeps the wave from looping seamlessly.</small>
<small>Because ADPCM uses sample blocks that are aligned one after the other, a wave compressed with ADPCM may have an unfinished, partial block at its end. The ADPCM decoder generates silence for the remainder of this partial block, which keeps the wave from looping seamlessly.</small>
|| Sound data
|| Sound data
Line 321: Line 607:


*Tools
*Tools
**MFAudio v1.1 at http://www.zophar.net/utilities/ps2util/mfaudio-1-1.html or http://dl.qj.net/software/utilities/mfaudio-11.html or http://downloads.ziddu.com/downloadfile/3353225/MFAudiov11.zip.html can convert/play .vag files.
**MFAudio v1.1 (converts WAV to VAG): http://www.zophar.net/utilities/ps2util/mfaudio-1-1.html or http://dl.qj.net/software/utilities/mfaudio-11.html or http://downloads.ziddu.com/downloadfile/3353225/MFAudiov11.zip.html
**[[Rcomage]] can convert .vag files


=Video=
=Video=
==BIK==
Bik is a video and audio container designed specifically for consoles. It can contain multiple video and audio tracks and assign an ID each of them, this way the system choose which one will be loaded. This allows to store multiple audio languages in separated tracks, and multiple audio modes with separated channels for stereo, 5.1, etc...
Bik files do not have any protection, PS3 games do not verify any kind of security over them. They can be fully edited and replaced, usually people replace the video track by a downsampled version of the same video to reduce the game size, it is also possible to remove the audio tracks from "foreign" languages.
* "RAD Video Tools" http://www.radgametools.com/bnkdown.htm


==PAM==
==PAM==
Pam files can contain audio or have the audio separated in a .AT3 track, used in [[Content Information Files]]
Pam files can contain audio or have the audio separwted in a .AT3 track, used in [[Content Information Files]]


=Interactive=
=Interactive=
Line 345: Line 623:


==DAE==
==DAE==
DAE ('''D'''igital '''A'''sset '''E'''xchange) is an XML file that contains COLLADA content. COLLADA is an open standard created by sony for interactive 3D applications. Is used to export and import files from 3-D authoring applications in .dae format, see: https://collada.org/ and https://www.khronos.org/collada/
DAE ('''D'''igital '''A'''sset '''E'''xchange) is an XML file that contains COLLADA content. COLLADA is an open standard created by sony for interactive 3D applications. Is used to export and import files from 3-D authoring applications in .dae format, see: https://collada.org/


Collada usually is implemented as a plugin, some 3-D authoring applications supporting collada are: [http://www.blender.org/ Blender], Google SketchUp, Maya, Rhino, 3D Max, SoftImage
Collada usually is implemented as a plugin, some 3-D authoring applications supporting collada are: [http://www.blender.org/ Blender], Google SketchUp, Maya, Rhino, 3D Max, SoftImage


*Collada plugins:
*Collada plugins for:
**Blender - http://colladablender.illusoft.com/ http://sourceforge.net/projects/colladablender/
**Blender http://colladablender.illusoft.com/ http://sourceforge.net/projects/colladablender/
 
*Other collada info
**https://www.khronos.org/assets/uploads/developers/library/2007_siggraph_bof_collada/SCIE.pdf
**http://lukasz.dk/mirror/research-scea/gdc2006/gdc06-for-khronos.pdf
**https://www.khronos.org/collada/wiki/Building_third_party_libraries_for_the_COLLADA_DOM
**https://sourceforge.net/projects/collada-dom/
**http://www.psu.com/forums/showthread.php/363-COLLADA-the-new-PS3-graphics-format?s=c6e507c63cc32a901bcf06a7f36538bd
**https://games.slashdot.org/story/04/07/30/1837253/sony-endorsing-open-graphics-format-for-ps3
 
==FPO and VPO==
*FPO ('''F'''ragment '''P'''rogram '''O'''bjects)
*VPO ('''V'''ertex '''P'''rogram '''O'''bjects)
*Used inside:
**[[Qt Resource Container (QRC)|QRC containers]]
**[[PS2 Emulation|ps2_netemu.self]]
 
This files are [https://en.wikipedia.org/wiki/Cg_(programming_language) Cg shaders] created by the Cg compiler ('''sce-cgc.exe'''), and are compatible with the Cg disassembler ('''sce-cgcdisasm.exe''') from [[SCEI PS3 SDK]]
 
See: [http://games.soc.napier.ac.uk/resources/ps3/ps3_tutorial_004.pdf Introduction to GCM and PS3 graphics] (pages 4 and 5), and [https://arxiv.org/ftp/cs/papers/0302/0302013.pdf Cg in Two Pages]


*The compiler acepts 2 arguments:
==FPO==
**'''-p''': For the PS3 RSX is needed to use the profiles: '''sce_fp_rsx''' (to compile a fragment shader and create a FPO file), or '''sce_vp_rsx''' (to compile a vertex shader and create a VPO file)
**'''-o''': the output filename
 
{{keyboard|content=<syntaxhighlight lang="bash">C:\usr\local\cell\host-win32\Cg\bin\sce-cgc.exe -p sce_fp_rsx -o OUTPUT.FPO input_fshader.cg</syntaxhighlight>}}
{{Boxcode|title=input_fshader.cg|float=left|width=auto|code=<syntaxhighlight lang="c">
void main
(
float4 color_in : COLOR,
out float4 color_out : COLOR
)
{
color_out = color_in;
}
</syntaxhighlight>}}
 
{{keyboard|content=<syntaxhighlight lang="bash">C:\usr\local\cell\host-win32\Cg\bin\sce-cgc.exe -p sce_vp_rsx -o OUTPUT.VPO input_vshader.cg</syntaxhighlight>}}
{{Boxcode|title=input_vshader.cg|float=left|width=auto|code=<syntaxhighlight lang="c">
void main
(
float4 position : POSITION,
float4 color : COLOR,
 
uniform float4x4 modelViewProj,
 
out float4 oPosition : POSITION,
out float4 oColor : COLOR
)
{
oPosition = position;
oColor = color;
}
</syntaxhighlight>}}
{{clear}}


*Notes/speculation
==VPO==
**The PS3 RSX Cg profiles ('''sce_fp_rsx''' & '''sce_vp_rsx''') probably are custom, but based in the [https://developer.nvidia.com/cg-profiles standard profiles]
**[http://www.psx-place.com/threads/my-vertex-shader-document.20794/ Open Source code related with PS3 Cg shaders]


==MNU==
==MNU==
Line 471: Line 695:




{{Development}}<noinclude>[[Category:Main]]</noinclude>
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)