You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Trac3r-rust/doc/vulkano/image/index.html

39 lines
11 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `image` mod in crate `vulkano`."><meta name="keywords" content="rust, rustlang, rust-lang, image"><title>vulkano::image - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../vulkano/index.html'><div class='logo-container'><img src='https://raw.githubusercontent.com/vulkano-rs/vulkano/master/logo.png' alt='logo'></div></a><p class='location'>Module image</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class='location'><a href='../index.html'>vulkano</a></p><script>window.sidebarCurrent = {name: 'image', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/vulkano/image/mod.rs.html#10-634' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>vulkano</a>::<wbr><a class="mod" href=''>image</a></span></h1><div class='docblock'><p>Image storage (1D, 2D, 3D, arrays, etc.).</p>
<p>An <em>image</em> is a region of memory whose purpose is to store multi-dimensional data. Its
most common use is to store a 2D array of color pixels (in other words an <em>image</em> in
everyday language), but it can also be used to store arbitrary data.</p>
<p>The advantage of using an image compared to a buffer is that the memory layout is optimized
for locality. When reading a specific pixel of an image, reading the nearby pixels is really
fast. Most implementations have hardware dedicated to reading from images if you access them
through a sampler.</p>
<h1 id="properties-of-an-image" class="section-header"><a href="#properties-of-an-image">Properties of an image</a></h1><h1 id="images-and-image-views" class="section-header"><a href="#images-and-image-views">Images and image views</a></h1>
<p>There is a distinction between <em>images</em> and <em>image views</em>. As its name suggests, an image
view describes how the GPU must interpret the image.</p>
<p>Transfer and memory operations operate on images themselves, while reading/writing an image
operates on image views. You can create multiple image views from the same image.</p>
<h1 id="high-level-wrappers" class="section-header"><a href="#high-level-wrappers">High-level wrappers</a></h1>
<p>In the vulkano library, an image is any object that implements the <code>Image</code> trait and an image
view is any object that implements the <code>ImageView</code> trait.</p>
<p>Since these traits are low-level, you are encouraged to not implement them yourself but instead
use one of the provided implementations that are specialized depending on the way you are going
to use the image:</p>
<ul>
<li>An <code>AttachmentImage</code> can be used when you want to draw to an image.</li>
<li>An <code>ImmutableImage</code> stores data which never need be changed after the initial upload,
like a texture.</li>
</ul>
<h1 id="low-level-information" class="section-header"><a href="#low-level-information">Low-level information</a></h1>
<p>To be written.</p>
</div><h2 id='reexports' class='section-header'><a href="#reexports">Re-exports</a></h2>
<table><tr><td><code>pub use self::attachment::<a class="struct" href="../../vulkano/image/attachment/struct.AttachmentImage.html" title="struct vulkano::image::attachment::AttachmentImage">AttachmentImage</a>;</code></td></tr><tr><td><code>pub use self::immutable::<a class="struct" href="../../vulkano/image/immutable/struct.ImmutableImage.html" title="struct vulkano::image::immutable::ImmutableImage">ImmutableImage</a>;</code></td></tr><tr><td><code>pub use self::swapchain::<a class="struct" href="../../vulkano/image/swapchain/struct.SwapchainImage.html" title="struct vulkano::image::swapchain::SwapchainImage">SwapchainImage</a>;</code></td></tr><tr><td><code>pub use self::sys::<a class="enum" href="../../vulkano/image/sys/enum.ImageCreationError.html" title="enum vulkano::image::sys::ImageCreationError">ImageCreationError</a>;</code></td></tr><tr><td><code>pub use self::traits::<a class="trait" href="../../vulkano/image/traits/trait.ImageAccess.html" title="trait vulkano::image::traits::ImageAccess">ImageAccess</a>;</code></td></tr><tr><td><code>pub use self::traits::<a class="struct" href="../../vulkano/image/traits/struct.ImageInner.html" title="struct vulkano::image::traits::ImageInner">ImageInner</a>;</code></td></tr><tr><td><code>pub use self::traits::<a class="trait" href="../../vulkano/image/traits/trait.ImageViewAccess.html" title="trait vulkano::image::traits::ImageViewAccess">ImageViewAccess</a>;</code></td></tr></table><h2 id='modules' class='section-header'><a href="#modules">Modules</a></h2>
<table><tr class='module-item'><td><a class="mod" href="attachment/index.html" title='vulkano::image::attachment mod'>attachment</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="immutable/index.html" title='vulkano::image::immutable mod'>immutable</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="swapchain/index.html" title='vulkano::image::swapchain mod'>swapchain</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="sys/index.html" title='vulkano::image::sys mod'>sys</a></td><td class='docblock-short'><p>Low-level implementation of images and images views.</p>
</td></tr><tr class='module-item'><td><a class="mod" href="traits/index.html" title='vulkano::image::traits mod'>traits</a></td><td class='docblock-short'></td></tr></table><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.ImageUsage.html" title='vulkano::image::ImageUsage struct'>ImageUsage</a></td><td class='docblock-short'><p>Describes how an image is going to be used. This is <strong>not</strong> just an optimization.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.StorageImage.html" title='vulkano::image::StorageImage struct'>StorageImage</a></td><td class='docblock-short'><p>General-purpose image in device memory. Can be used for any usage, but will be slower than a
specialized image.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Swizzle.html" title='vulkano::image::Swizzle struct'>Swizzle</a></td><td class='docblock-short'><p>Specifies how the components of an image must be swizzled.</p>
</td></tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2>
<table><tr class='module-item'><td><a class="enum" href="enum.ComponentSwizzle.html" title='vulkano::image::ComponentSwizzle enum'>ComponentSwizzle</a></td><td class='docblock-short'><p>Describes the value that an individual component must return when being accessed.</p>
</td></tr><tr class='module-item'><td><a class="enum" href="enum.Dimensions.html" title='vulkano::image::Dimensions enum'>Dimensions</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="enum" href="enum.ImageDimensions.html" title='vulkano::image::ImageDimensions enum'>ImageDimensions</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="enum" href="enum.ImageLayout.html" title='vulkano::image::ImageLayout enum'>ImageLayout</a></td><td class='docblock-short'><p>Layout of an image.</p>
</td></tr><tr class='module-item'><td><a class="enum" href="enum.MipmapsCount.html" title='vulkano::image::MipmapsCount enum'>MipmapsCount</a></td><td class='docblock-short'><p>Specifies how many mipmaps must be allocated.</p>
</td></tr><tr class='module-item'><td><a class="enum" href="enum.ViewType.html" title='vulkano::image::ViewType enum'>ViewType</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../";window.currentCrate = "vulkano";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>