--- title: "Resources" date: 2021-01-25T14:31:59-08:00 weight: 3 --- MoonWorks provides nine different kinds of graphics resources that you use to construct your renderer. `Buffer` holds generic data, like vertex information for example. The way this data is interpreted is determined by the pipeline. `Texture` holds image data in a specified format. `Sampler` tells a shader how it should sample texture data. `ComputePipeline` sets up the graphics device to do computational work using [compute shaders](https://anteru.net/blog/2018/intro-to-compute-shaders/index.html). `GraphicsPipeline` sets up the graphics device to do rendering work. `RenderTarget` is a structure that can be rendered to. `Framebuffer` is essentially a collection of `RenderTarget`s. `RenderPass` is essentially a link that tells the `GraphicsPipeline` how it should use a `Framebuffer`. This is all pretty abstract. Let's get into some more detail.