Raven Engine v0.1
Loading...
Searching...
No Matches
Buffer.h File Reference

Defines fundamental data structures for shader buffer layouts and element types. More...

#include "Raven/Core/Types.h"
#include "Raven/Core/Logging.h"
#include <string>
#include <vector>

Classes

struct  Raven::BufferElement
 Describes a single element in a vertex buffer layout. More...
class  Raven::VertexBufferLayout
 Represents the layout of vertex buffer elements in memory. More...

Namespaces

namespace  Raven

Enumerations

enum class  Raven::ShaderDataType {
  Raven::ShaderDataType::None = 0 , Raven::ShaderDataType::Float , Raven::ShaderDataType::Float2 , Raven::ShaderDataType::Float3 ,
  Raven::ShaderDataType::Float4 , Raven::ShaderDataType::Mat3 , Raven::ShaderDataType::Mat4 , Raven::ShaderDataType::Int ,
  Raven::ShaderDataType::Int2 , Raven::ShaderDataType::Int3 , Raven::ShaderDataType::Int4 , Raven::ShaderDataType::Bool
}
 Enumerates common shader data types for vertex attributes. More...

Detailed Description

Defines fundamental data structures for shader buffer layouts and element types.

Author
PhilikusHD

This file contains definitions related to shader buffer data representation used by Illumine. It declares an enum for shader data types with utility functions, a BufferElement struct to describe individual elements in a vertex buffer, and a VertexBufferLayout class that manages element offsets and total stride.

The layout system is designed to be simple and efficient, facilitating memory layout calculations for vertex attributes compatible with GPU pipelines.