# gvr::BufferSpec

`#include <gvr.h>`

Convenience C++ wrapper for gvr_buffer_spec, an opaque pixel buffer specification.

## Summary

Frees the underlying gvr_buffer_spec on destruction.

### Inheritance

Inherits from: [gvr::WrapperBase\< gvr_buffer_spec, gvr_buffer_spec_destroy \>](https://developers.google.com/vr/reference/ios-ndk/class/gvr/wrapper-base)

| ### Public functions ||
|---|---|
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1aa119be2c255381eb11eb82c04fed4f7e() const ` | `int32_t` Gets the number of samples per pixel in the buffer. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1a7875d0304543e83a7ab30a06969ee585() const ` | `https://developers.google.com/vr/reference/ios-ndk/struct/gvr-sizei#structgvr__sizei` Gets the buffer's size. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1abe68483a6bc18396c1f507fd76588fe6(https://developers.google.com/vr/reference/ios-ndk/group/types#group__types_1ga747712201709f746e836233b3a7f5f6f color_format)` | `void` Sets the color format for this buffer. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1a6f92de5f4d1306daa9232e9e33c50492(https://developers.google.com/vr/reference/ios-ndk/group/types#group__types_1ga31d3dccb5f5ab55ccd3ec23f2125647c depth_stencil_format)` | `void` Sets the depth and stencil format for this buffer. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1a3a1c45ca3f2b378324841cf3963f97dd(int32_t num_layers)` | `void` For more information, see [gvr_buffer_spec_set_multiview_layers()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1gaf34db952ee9f9273f2c066f0cd71ff3c). |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1a73ad14cd07f0f430bb79627d2e5025db(int32_t num_samples)` | `void` Sets the number of samples per pixel. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1ac67b32cdd68e06c35a6321727ff0ec59(const https://developers.google.com/vr/reference/ios-ndk/struct/gvr-sizei#structgvr__sizei & size)` | `void` Sets the buffer's size. |
| `https://developers.google.com/vr/reference/ios-ndk/class/gvr/buffer-spec#classgvr_1_1_buffer_spec_1a96affe5dcdb115d9f8ca708a4213ae0f(int32_t width, int32_t height)` | `void` Sets the buffer's size to the passed width and height. |

## Public functions

### GetSamples

```
int32_t GetSamples() const 
```
Gets the number of samples per pixel in the buffer.

For more information, see [gvr_buffer_spec_get_samples()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1ga6c3e623badde0e31a453fb20beed3cd5).

### GetSize

```
Sizei GetSize() const 
```
Gets the buffer's size.

The default value is the recommended render target size. For more information, see [gvr_buffer_spec_get_size()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1gadf3c47d724c000ed1d20309ccfa52e13).

### SetColorFormat

```
void SetColorFormat(
  ColorFormat color_format
)
```
Sets the color format for this buffer.

For more information, see [gvr_buffer_spec_set_color_format()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1gac5506586cf626aedc3180a1d5ece57cf).

### SetDepthStencilFormat

```
void SetDepthStencilFormat(
  DepthStencilFormat depth_stencil_format
)
```
Sets the depth and stencil format for this buffer.

For more information, see [gvr_buffer_spec_set_depth_stencil_format()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1ga27532df3cfe4f7b4155fd440afbae97c).

### SetMultiviewLayers

```
void SetMultiviewLayers(
  int32_t num_layers
)
```
For more information, see [gvr_buffer_spec_set_multiview_layers()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1gaf34db952ee9f9273f2c066f0cd71ff3c).

### SetSamples

```
void SetSamples(
  int32_t num_samples
)
```
Sets the number of samples per pixel.

For more information, see [gvr_buffer_spec_set_samples()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1ga98e719c897a400f9a6769c29cee483bd).

### SetSize

```
void SetSize(
  const Sizei & size
)
```
Sets the buffer's size.

For more information, see [gvr_buffer_spec_set_size()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1gaf4e2efc083c248309566d33ad80fde7d).

### SetSize

```
void SetSize(
  int32_t width,
  int32_t height
)
```
Sets the buffer's size to the passed width and height.

For more information, see [gvr_buffer_spec_set_size()](https://developers.google.com/vr/reference/ios-ndk/group/swap-chain#group__swap__chain_1gaf4e2efc083c248309566d33ad80fde7d).

<br />

Details Parameters `width` The width in pixels. Must be greater than 0. `height` The height in pixels. Must be greater than 0.