Editing PVR
Jump to navigation
Jump to search
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 1: | Line 1: | ||
[[Category:Software]]<noinclude>[[Category:Main]]</noinclude> | [[Category:Software]]<noinclude>[[Category:Main]]</noinclude> | ||
<div style="color: #ffffff; background-color: #505652; border: 1px solid #808000; padding: 5px; {{box-shadow|4px|4px|8px|#b0b090}}"> | <div style="color: #ffffff; background-color: #505652; border: 1px solid #808000; padding: 5px; {{box-shadow|4px|4px|8px|#b0b090}}"> | ||
Line 10: | Line 8: | ||
== Features == | == Features == | ||
*PVRTC supports both opaque (RGB) and translucent (RGBA) textures (unlike other formats such as S3TC that require a dedicated, larger form to support full alpha channels). | *PVRTC supports both opaque (RGB) and translucent (RGBA) textures (unlike other formats such as S3TC that require a dedicated, larger form to support full alpha channels). | ||
Line 18: | Line 14: | ||
== File format == | == File format == | ||
The PVR (.pvr) format ( | The PVR (.pvr) format (PowerVR SDK REL_3.5) consists of: | ||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
|- | |- | ||
| style="background-color:#505652; color:#FFFFFF;" |'''Header'''<br />52 bytes | | style="background-color:#505652; color:#FFFFFF;" |'''Header'''<br />52 bytes | ||
| style="background-color:#505652; color:#FFFFFF;" |'''Meta Data (optional)'''<br />variable | | style="background-color:#505652; color:#FFFFFF;" |'''Meta Data (optional)'''<br />variable | ||
| style="background-color:#505652; color:#FFFFFF;" |'''Texture Data'''<br />variable | | style="background-color:#505652; color:#FFFFFF;" |'''Texture Data'''<br />variable | ||
|- | |- | ||
|} | |} | ||
Sony uses a custom header. | |||
=== Header === | === Header === | ||
Line 54: | Line 52: | ||
| 0x14 || 0x04 || 00 00 00 00 || 0 || '''Channel Type:''' | | 0x14 || 0x04 || 00 00 00 00 || 0 || '''Channel Type:''' | ||
|- | |- | ||
| 0x18 || | | 0x18 || 0x08 || 00 01 00 00 || 256 || '''Height:''' width of the texture stored in the texture data, in pixels. | ||
|- | |- | ||
| 0x1C || 0x04 || 00 01 00 00 || 256 || '''Width:''' width of the texture stored in the texture data, in pixels. | | 0x1C || 0x04 || 00 01 00 00 || 256 || '''Width:''' width of the texture stored in the texture data, in pixels. | ||
|- | |- | ||
| 0x20 || 0x04 || 01 00 00 00 || 1 || '''Depth:''' depth of the texture stored in the texture data, in pixels. | | 0x20 || 0x04 || 01 00 00 00 || 1 || '''Depth:'''depth of the texture stored in the texture data, in pixels. | ||
|- | |- | ||
| 0x24 || 0x04 || 01 00 00 00 || 1 || '''Num. Surfaces:''' number of surfaces within the texture array. | | 0x24 || 0x04 || 01 00 00 00 || 1 || '''Num. Surfaces:'''number of surfaces within the texture array. | ||
|- | |- | ||
| 0x28 || 0x04 || 01 00 00 00 || 1 || '''Num. Faces:''' number of faces in a cube map. | | 0x28 || 0x04 || 01 00 00 00 || 1 || '''Num. Faces:'''number of faces in a cube map. | ||
|- | |- | ||
| 0x2C | | 0x2C || 0x04 || 00 00 00 00 || 0 || '''Meta Data Size:''' allows for the creator of a PVR to store custom information within the PVR file relating to the storage. | ||
|- | |- | ||
|} | |} | ||
==== Pixel Format ==== | ==== Pixel Format ==== | ||
Line 323: | Line 317: | ||
*http://web.onetel.net.uk/~simonnihal/assorted3d/fenney03texcomp.pdf PVRTC algorithm: Texture Compression using Low-Frequency Signal Modulation | *http://web.onetel.net.uk/~simonnihal/assorted3d/fenney03texcomp.pdf PVRTC algorithm: Texture Compression using Low-Frequency Signal Modulation | ||
*http://blog.imgtec.com/powervr/understanding-powervr-series5xt-pvrtc-pvrtc2-and-texture-compression-part-6 overview | *http://blog.imgtec.com/powervr/understanding-powervr-series5xt-pvrtc-pvrtc2-and-texture-compression-part-6 overview | ||