mirror of
https://github.com/vulkano-rs/vulkano.git
synced 2024-11-26 08:45:59 +00:00
Merge pull request #495 from tomaka/link-docs
Add links to the crate root docs
This commit is contained in:
commit
3b20aed990
@ -11,46 +11,50 @@
|
||||
//!
|
||||
//! # Brief summary of Vulkan
|
||||
//!
|
||||
//! - The `Instance` object is the API entry point. It is the first object you must create before
|
||||
//! starting to use Vulkan.
|
||||
//! - The [`Instance`](instance/struct.Instance.html) object is the API entry point. It is the
|
||||
//! first object you must create before starting to use Vulkan.
|
||||
//!
|
||||
//! - The `PhysicalDevice` object represents an implementation of Vulkan available on the system
|
||||
//! (eg. a graphics card, a software implementation, etc.). Physical devices can be enumerated
|
||||
//! from an instance with `PhysicalDevice::enumerate()`.
|
||||
//! - The [`PhysicalDevice`](instance/struct.PhysicalDevice.html) object represents an
|
||||
//! implementation of Vulkan available on the system (eg. a graphics card, a software
|
||||
//! implementation, etc.). Physical devices can be enumerated from an instance with
|
||||
//! [`PhysicalDevice::enumerate()`](instance/struct.PhysicalDevice.html#method.enumerate).
|
||||
//!
|
||||
//! - Once you have chosen a physical device to use, you can create a `Device` object from it. The
|
||||
//! `Device` is the most important object of Vulkan, as it represents an open channel of
|
||||
//! communicaton with a physical device. You always need to have one before you can do something
|
||||
//! interesting things with Vulkan.
|
||||
//! - Once you have chosen a physical device to use, you can create a
|
||||
//! [`Device`](device/index.html) object from it. The `Device` is the most important
|
||||
//! object of Vulkan, as it represents an open channel of communicaton with a physical device.
|
||||
//! You always need to have one before you can do something interesting things with Vulkan.
|
||||
//!
|
||||
//! - `Buffer`s and `Image`s can be used to store data on memory accessible by the GPU (or
|
||||
//! more generally by the Vulkan implementation). Buffers are usually used to store information
|
||||
//! about vertices, lights, etc. or arbitrary data, while images are used to store textures or
|
||||
//! multi-dimensional data.
|
||||
//! - [*Buffers*](buffer/index.html) and [*images*](image/index.html) can be used to store data on
|
||||
//! memory accessible by the GPU (or more generally by the Vulkan implementation). Buffers are
|
||||
//! usually used to store information about vertices, lights, etc. or arbitrary data, while
|
||||
//! images are used to store textures or multi-dimensional data.
|
||||
//!
|
||||
//! - In order to show something on the screen, you need a `Swapchain`. A `Swapchain` contains
|
||||
//! special `Image`s that correspond to the content of the window or the monitor. When you
|
||||
//! *present* a swapchain, the content of one of these special images is shown on the screen.
|
||||
//! - In order to show something on the screen, you need a [`Swapchain`](swapchain/index.html).
|
||||
//! A `Swapchain` contains special `Image`s that correspond to the content of the window or the
|
||||
//! monitor. When you *present* a swapchain, the content of one of these special images is shown
|
||||
//! on the screen.
|
||||
//!
|
||||
//! - In order to ask the GPU to do something, you must create a `CommandBuffer`. A `CommandBuffer`
|
||||
//! contains a list of commands that the GPU must perform. This can include copies between
|
||||
//! buffers, compute operations, or graphics operations. For the work to start, the
|
||||
//! `CommandBuffer` must then be submitted to a `Queue`, which is obtained when you create
|
||||
//! the `Device`.
|
||||
//! - In order to ask the GPU to do something, you must create a
|
||||
//! [*command buffer*](command_buffer/index.html). A command buffer contains a list of commands
|
||||
//! that the GPU must perform. This can include copies between buffers and images, compute
|
||||
//! operations, or graphics operations. For the work to start, the command buffer must then be
|
||||
//! submitted to a [`Queue`](device/struct.Queue.html), which is obtained when you create the
|
||||
//! `Device`.
|
||||
//!
|
||||
//! - In order to be able to add a compute operation or a graphics operation to a command buffer,
|
||||
//! you need to have created a `ComputePipeline` or a `GraphicsPipeline` object that describes
|
||||
//! the operation you want. `Shader`s are programs that the GPU will execute as part of a
|
||||
//! pipeline. Descriptors can be used to access the content of buffers or images from within
|
||||
//! shaders.
|
||||
//! you need to have created a [`ComputePipeline` or a `GraphicsPipeline`
|
||||
//! object](pipeline/index.html) that describes the operation you want. These objects are usually
|
||||
//! created during your program's initialization. `Shader`s are programs that the GPU will
|
||||
//! execute as part of a pipeline. [*Descriptors*](descriptor/index.html) can be used to access
|
||||
//! the content of buffers or images from within shaders.
|
||||
//!
|
||||
//! - For graphical operations, `RenderPass`es and `Framebuffer`s describe on which images the
|
||||
//! implementation must draw upon.
|
||||
//! - For graphical operations, [`RenderPass`es and `Framebuffer`s](framebuffer/index.html)
|
||||
//! describe on which images the implementation must draw upon.
|
||||
//!
|
||||
//! - Once you have built a `CommandBuffer` that contains a list of commands, submitting it to the
|
||||
//! GPU will return an object that implements the `GpuFuture` trait. `GpuFuture`s allow you to
|
||||
//! chain multiple submissions together and are essential to performing multiple operations on
|
||||
//! multiple different GPU queues. See [the `sync` module](sync/index.html) for more info.
|
||||
//! - Once you have built a *command buffer* that contains a list of commands, submitting it to the
|
||||
//! GPU will return an object that implements [the `GpuFuture` trait](sync/index.html).
|
||||
//! `GpuFuture`s allow you to chain multiple submissions together and are essential to performing
|
||||
//! multiple operations on multiple different GPU queues.
|
||||
//!
|
||||
|
||||
//#![warn(missing_docs)] // TODO: activate
|
||||
|
Loading…
Reference in New Issue
Block a user