source: OGRE/trunk/ogrenew/Docs/vbo-update/vbo-update_21.html @ 657

Revision 657, 7.2 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<HTML>
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3<!-- Created on , 12 2006 by texi2html 1.64 -->
4<!--
5Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
6            Karl Berry  <karl@freefriends.org>
7            Olaf Bachmann <obachman@mathematik.uni-kl.de>
8            and many others.
9Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
10Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
11 
12-->
13<HEAD>
14<TITLE>Hardware Buffers In OGRE: Pixel Formats</TITLE>
15
16<META NAME="description" CONTENT="Hardware Buffers In OGRE: Pixel Formats">
17<META NAME="keywords" CONTENT="Hardware Buffers In OGRE: Pixel Formats">
18<META NAME="resource-type" CONTENT="document">
19<META NAME="distribution" CONTENT="global">
20<META NAME="Generator" CONTENT="texi2html 1.64">
21<LINK TYPE="text/css" rel="stylesheet" href="../style.css"> 
22</HEAD>
23
24<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
25
26<A NAME="SEC32"></A>
27<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
28<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_20.html#SEC30"> &lt; </A>]</TD>
29<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_17.html#SEC22"> Up </A>]</TD>
30<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_22.html#SEC35"> &gt; </A>]</TD>
31<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
32<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_toc.html#SEC_Contents">Contents</A>]</TD>
33<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
34<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_abt.html#SEC_About"> ? </A>]</TD>
35</TR></TABLE>
36<HR SIZE=1>
37<H3> 2.8.4 Pixel Formats </H3>
38<!--docid::SEC32::-->
39<P>
40
41A pixel format described the storage format of pixel data. It defines the way pixels are encoded in memory. The following classes of pixel formats (PF_*) are defined:
42</P><P>
43
44<DL COMPACT>
45<DT>Native endian formats (PF_A8R8G8B8 and other formats with bit counts)
46<DD>These are native endian (16, 24 and 32 bit) integers in memory. This means that an image with format PF_A8R8G8B8 can be seen as an array of 32 bit integers, defined as 0xAARRGGBB in hexadecimal. The meaning of the letters is described below.
47<P>
48
49<DT>Byte formats (PF_BYTE_*)
50<DD>These formats have one byte per channel, and their channels in memory are organized in the order they are specified in the format name. For example, PF_BYTE_RGBA consists of blocks of four bytes, one for red, one for green, one for blue, one for alpha.
51<P>
52
53<DT>Short formats (PF_SHORT_*)
54<DD>These formats have one unsigned short (16 bit integer) per channel, and their channels in memory are organized in the order they are specified in the format name. For example, PF_SHORT_RGBA consists of blocks of four 16 bit integers, one for red, one for green, one for blue, one for alpha.
55<P>
56
57<DT>Float16 formats (PF_FLOAT16_*)
58<DD>These formats have one 16 bit floating point number per channel, and their channels in memory are organized in the order they are specified in the format name. For example, PF_FLOAT16_RGBA consists of blocks of four 16 bit floats, one for red, one for green, one for blue, one for alpha. The 16 bit floats, also called half float) are very similar to the IEEE single-precision floating-point standard of the 32 bits floats, except that they have only 5 exponent bits and 10 mantissa. Note that there is no standard C++ data type or CPU support to work with these efficiently, but GPUs can
59calculate with these much more efficiently than with 32 bit floats.
60<P>
61
62<DT>Float32 formats (PF_FLOAT32_*)
63<DD>These formats have one 32 bit floating point number per channel, and their channels in memory are organized in the order they are specified in the format name. For example, PF_FLOAT32_RGBA consists of blocks of four 32 bit floats, one for red, one for green, one for blue, one for alpha. The C++ data type for these 32 bits floats is just "float".
64<P>
65
66<DT>Compressed formats (PF_DXT[1-5])
67<DD>S3TC compressed texture formats, a good description can be found at | Wikipedia (http://en.wikipedia.org/wiki/S3TC)
68<P>
69
70</DL>
71<P>
72
73<A NAME="SEC33"></A>
74<H3> Colour channels </H3>
75<!--docid::SEC33::-->
76<P>
77
78The meaning of the channels R,G,B,A,L and X is defined as
79</P><P>
80
81<DL COMPACT>
82<DT>R
83<DD>Red colour component, usually ranging from 0.0 (no red) to 1.0 (full red).
84<DT>G
85<DD>Green colour component, usually ranging from 0.0 (no green) to 1.0 (full green).
86<DT>B
87<DD>Blue colour component, usually ranging from 0.0 (no blue) to 1.0 (full blue).
88<DT>A
89<DD>Alpha component, usually ranging from 0.0 (entire transparent) to 1.0 (opaque).
90<DT>L
91<DD>Luminance component, usually ranging from 0.0 (black) to 1.0 (white). The luminance component is duplicated in the R, G, and B channels to achieve a greyscale image.
92<DT>X
93<DD>This component is completely ignored.
94</DL>
95<P>
96
97If none of red, green and blue components, or luminance is defined in a format, these default to 0. For the alpha channel this is different; if no alpha is defined, it defaults to 1.
98</P><P>
99
100<A NAME="SEC34"></A>
101<H3> Complete list of pixel formats </H3>
102<!--docid::SEC34::-->
103<P>
104
105This pixel formats supported by the current version of Ogre are
106</P><P>
107
108<DL COMPACT>
109
110<DT>Byte formats
111<DD>PF_BYTE_RGB, PF_BYTE_BGR, PF_BYTE_BGRA, PF_BYTE_RGBA, PF_BYTE_L, PF_BYTE_LA, PF_BYTE_A
112<P>
113
114<DT>Short formats
115<DD>PF_SHORT_RGBA
116<P>
117
118<DT>Float16 formats
119<DD>PF_FLOAT16_R, PF_FLOAT16_RGB, PF_FLOAT16_RGBA
120<P>
121
122<DT>Float32 formats
123<DD>PF_FLOAT32_R, PF_FLOAT32_RGB, PF_FLOAT32_RGBA
124<P>
125
126<DT>8 bit native endian formats
127<DD>PF_L8, PF_A8, PF_A4L4, PF_R3G3B2
128<P>
129
130<DT>16 bit native endian formats
131<DD>PF_L16, PF_R5G6B5, PF_B5G6R5, PF_A4R4G4B4, PF_A1R5G5B5
132<P>
133
134<DT>24 bit native endian formats
135<DD>PF_R8G8B8, PF_B8G8R8
136<P>
137
138<DT>32 bit native endian formats
139<DD>PF_A8R8G8B8, PF_A8B8G8R8, PF_B8G8R8A8, PF_R8G8B8A8, PF_X8R8G8B8, PF_X8B8G8R8, PF_A2R10G10B10 PF_A2B10G10R10
140<P>
141
142<DT>Compressed formats
143<DD>PF_DXT1, PF_DXT2, PF_DXT3, PF_DXT4, PF_DXT5
144<P>
145
146</DL>
147<P>
148
149<A NAME="Pixel boxes"></A>
150<HR SIZE=1>
151<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
152<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_20.html#SEC30"> &lt; </A>]</TD>
153<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_17.html#SEC22"> Up </A>]</TD>
154<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_22.html#SEC35"> &gt; </A>]</TD>
155<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="index.html#SEC_Top">Top</A>]</TD>
156<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_toc.html#SEC_Contents">Contents</A>]</TD>
157<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
158<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="vbo-update_abt.html#SEC_About"> ? </A>]</TD>
159</TR></TABLE>
160<BR> 
161<FONT SIZE="-1">
162This document was generated
163by <I>Steve Streeting</I> on <I>, 12 2006</I>
164using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
165"><I>texi2html</I></A>
166
167</BODY>
168</HTML>
Note: See TracBrowser for help on using the repository browser.