Nameless Engine
Loading...
Searching...
No Matches
GlslVertexFormatDescription.h
1
#pragma once
2
3
// Standard.
4
#include <vector>
5
#include <string>
6
7
// Custom.
8
#include "shader/general/format/VertexFormat.h"
9
10
// External.
11
#include "vulkan/vulkan.h"
12
13
namespace
ne {
15
class
GlslVertexFormatDescription
:
public
VertexFormatDescription
{
16
public
:
17
GlslVertexFormatDescription
() =
default
;
18
virtual
~GlslVertexFormatDescription
()
override
=
default
;
19
27
static
std::unique_ptr<GlslVertexFormatDescription>
createDescription
(VertexFormat type);
28
34
virtual
std::vector<std::string>
getVertexLayoutBindingIndexMacros
() = 0;
35
41
virtual
VkVertexInputBindingDescription
getVertexBindingDescription
() = 0;
42
48
virtual
std::vector<VkVertexInputAttributeDescription>
getVertexAttributeDescriptions
() = 0;
49
50
protected
:
56
static
constexpr
uint32_t
getVertexBindingIndex
() {
return
iVertexBindingIndex
; }
57
58
private
:
60
static
constexpr
uint32_t
iVertexBindingIndex
= 0;
61
};
62
}
ne::GlslVertexFormatDescription
Definition:
GlslVertexFormatDescription.h:15
ne::GlslVertexFormatDescription::iVertexBindingIndex
static constexpr uint32_t iVertexBindingIndex
Definition:
GlslVertexFormatDescription.h:60
ne::GlslVertexFormatDescription::createDescription
static std::unique_ptr< GlslVertexFormatDescription > createDescription(VertexFormat type)
Definition:
GlslVertexFormatDescription.cpp:13
ne::GlslVertexFormatDescription::getVertexBindingIndex
static constexpr uint32_t getVertexBindingIndex()
Definition:
GlslVertexFormatDescription.h:56
ne::GlslVertexFormatDescription::getVertexLayoutBindingIndexMacros
virtual std::vector< std::string > getVertexLayoutBindingIndexMacros()=0
ne::GlslVertexFormatDescription::getVertexBindingDescription
virtual VkVertexInputBindingDescription getVertexBindingDescription()=0
ne::GlslVertexFormatDescription::getVertexAttributeDescriptions
virtual std::vector< VkVertexInputAttributeDescription > getVertexAttributeDescriptions()=0
ne::VertexFormatDescription
Definition:
VertexFormat.h:15
src
engine_lib
private
shader
glsl
format
GlslVertexFormatDescription.h
Generated by
1.9.5