HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
pipeline_SDF_vertex.hpp
1// Copyright Take Vos 2020-2021.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
8#include "../rapid/sfloat_rgba16.hpp"
9#include "../rapid/sfloat_rgba32.hpp"
10#include "../rapid/sfloat_rgb32.hpp"
11#include <vulkan/vulkan.hpp>
12
13namespace hi::inline v1::pipeline_SDF {
14
18struct vertex {
21
24
27
30
31 vertex(point3 position, aarectangle clippingRectangle, point3 textureCoord, hi::color color) noexcept :
32 position(position), clippingRectangle(clippingRectangle), textureCoord(textureCoord), color(color)
33 {
34 }
35
36 static vk::VertexInputBindingDescription inputBindingDescription()
37 {
38 return {0, sizeof(vertex), vk::VertexInputRate::eVertex};
39 }
40
41 static std::vector<vk::VertexInputAttributeDescription> inputAttributeDescriptions()
42 {
43 return {
44 {0, 0, vk::Format::eR32G32B32Sfloat, offsetof(vertex, position)},
45 {1, 0, vk::Format::eR32G32B32A32Sfloat, offsetof(vertex, clippingRectangle)},
46 {2, 0, vk::Format::eR32G32B32Sfloat, offsetof(vertex, textureCoord)},
47 {3, 0, vk::Format::eR16G16B16A16Sfloat, offsetof(vertex, color)}};
48 }
49};
50
51} // namespace hi::inline v1::pipeline_SDF
DOXYGEN BUG.
Definition algorithm.hpp:15
This is a RGBA floating point color.
Definition color.hpp:39
Definition pipeline_alpha_vertex.hpp:21
sfloat_rgba32 clippingRectangle
Clipping rectangle. (x,y)=bottom-left, (z,w)=top-right.
Definition pipeline_SDF_vertex.hpp:23
sfloat_rgba16 color
The color of the glyph.
Definition pipeline_SDF_vertex.hpp:29
sfloat_rgb32 textureCoord
The x, y (relative to bottom-left) coordinate inside the texture-atlas, z is used as an index in the ...
Definition pipeline_SDF_vertex.hpp:26
sfloat_rgb32 position
The pixel-coordinates where the origin is located relative to the bottom-left corner of the window.
Definition pipeline_SDF_vertex.hpp:20
Definition sfloat_rgb32.hpp:12
Definition sfloat_rgba16.hpp:19
Definition sfloat_rgba32.hpp:15