wren
Vulkan-based game engine
Loading...
Searching...
No Matches
wren Namespace Reference

Namespaces

namespace  assets
 
namespace  event
 
namespace  gui
 
namespace  math
 
namespace  scene
 
namespace  shaders
 
namespace  text
 
namespace  utils
 
namespace  vk
 
namespace  vulkan
 

Classes

class  Application
 
struct  Context
 
class  Err
 
struct  Graph
 
class  GraphBuilder
 
class  GraphicsContext
 
class  Mesh
 
struct  Node
 
class  PassResources
 
class  Pipeline
 
class  Renderer
 
class  RenderPass
 
class  RenderTarget
 
struct  UBO
 
struct  Vertex
 
class  Window
 

Typedefs

using phase_cb_t = std::function<void()>
 
using node_t = std::shared_ptr<Node>
 
using edge_t = std::pair<node_t, node_t>
 
template<typename T >
using expected = std::expected<T, Err>
 

Enumerations

enum class  CallbackPhase { Startup , Update , Shutdown }
 
enum class  MouseCode { Left , Right , Middle }
 
enum class  KeyCode {
  kUnknown , kEnter , kEscape , kBackspace ,
  kTab , kSpace , kExclaim , kDoubleQuote ,
  kHash , kPercent , kDollar , kAmpersand ,
  kQuote , kLeftParen , kRightParen , kAsterix ,
  kPlus , kComma , kMinus , kPeriod ,
  kSlash , k0 , k1 , k2 ,
  k3 , k4 , k5 , k6 ,
  k7 , k8 , k9 , kColon ,
  kSemicolon , kLess , kEquals , kGreater ,
  kQuestion , kAt , kLeftBracket , kRightBracket ,
  kBackslash , kCaret , kUnderscore , kBackquote ,
  kA , kB , kC , kD ,
  kE , kF , kG , kH ,
  kI , kJ , kK , kL ,
  kM , kN , kO , kP ,
  kQ , kR , kS , kT ,
  kU , kV , kW , kX ,
  kY , kZ , kCapslock , kF1 ,
  kF2 , kF3 , kF4 , kF5 ,
  kF6 , kF7 , kF8 , kF9 ,
  kF10 , kF11 , kF12 , kF13 ,
  kF14 , kF15 , kF16 , kF17 ,
  kF18 , kF19 , kF20 , kF21 ,
  kF22 , kF23 , kF24 , kPrintScreen ,
  kScrollLock , kPause , kInsert , kHome ,
  kPageUp , kDelete , kEnd , kPageDown ,
  kRight , kLeft , kUp , kDown
}
 

Functions

auto load_glb_mesh (const std::filesystem::path &glb_path) -> Mesh
 
auto load_stl_mesh (const std::filesystem::path &stl_path) -> Mesh
 
auto load_mesh (const std::filesystem::path &mesh_path) -> expected< Mesh >
 
auto sdl_mouse_to_wren_mouse (uint8_t sdl_button)
 
auto sdl_key_to_wren_key (SDL_Keycode sdl_key)
 
 DEFINE_ERROR ("WindowErrors", WindowErrors, SDL_INIT, SDL_WINDOW, SDL_VULKAN_EXTENSION)
 

Variables

const std::array kTriangleVertices
 
const std::array kQuadVertices
 
const std::vector< uint16_t > kQuadIndices = {0, 1, 2, 2, 3, 0}
 

Typedef Documentation

◆ edge_t

using wren::edge_t = std::pair<node_t, node_t>

◆ expected

template<typename T >
using wren::expected = std::expected<T, Err>

◆ node_t

using wren::node_t = std::shared_ptr<Node>

◆ phase_cb_t

using wren::phase_cb_t = std::function<void()>

Enumeration Type Documentation

◆ CallbackPhase

enum class wren::CallbackPhase
strong
Enumerator
Startup 
Update 
Shutdown 

◆ KeyCode

enum class wren::KeyCode
strong
Enumerator
kUnknown 
kEnter 
kEscape 
kBackspace 
kTab 
kSpace 
kExclaim 
kDoubleQuote 
kHash 
kPercent 
kDollar 
kAmpersand 
kQuote 
kLeftParen 
kRightParen 
kAsterix 
kPlus 
kComma 
kMinus 
kPeriod 
kSlash 
k0 
k1 
k2 
k3 
k4 
k5 
k6 
k7 
k8 
k9 
kColon 
kSemicolon 
kLess 
kEquals 
kGreater 
kQuestion 
kAt 
kLeftBracket 
kRightBracket 
kBackslash 
kCaret 
kUnderscore 
kBackquote 
kA 
kB 
kC 
kD 
kE 
kF 
kG 
kH 
kI 
kJ 
kK 
kL 
kM 
kN 
kO 
kP 
kQ 
kR 
kS 
kT 
kU 
kV 
kW 
kX 
kY 
kZ 
kCapslock 
kF1 
kF2 
kF3 
kF4 
kF5 
kF6 
kF7 
kF8 
kF9 
kF10 
kF11 
kF12 
kF13 
kF14 
kF15 
kF16 
kF17 
kF18 
kF19 
kF20 
kF21 
kF22 
kF23 
kF24 
kPrintScreen 
kScrollLock 
kPause 
kInsert 
kHome 
kPageUp 
kDelete 
kEnd 
kPageDown 
kRight 
kLeft 
kUp 
kDown 

◆ MouseCode

enum class wren::MouseCode
strong
Enumerator
Left 
Right 
Middle 

Function Documentation

◆ DEFINE_ERROR()

wren::DEFINE_ERROR ( "WindowErrors" ,
WindowErrors ,
SDL_INIT ,
SDL_WINDOW ,
SDL_VULKAN_EXTENSION  )

◆ load_glb_mesh()

auto wren::load_glb_mesh ( const std::filesystem::path & glb_path) -> Mesh
Here is the caller graph for this function:

◆ load_mesh()

auto wren::load_mesh ( const std::filesystem::path & mesh_path) -> expected< Mesh >
Here is the call graph for this function:
Here is the caller graph for this function:

◆ load_stl_mesh()

auto wren::load_stl_mesh ( const std::filesystem::path & stl_path) -> Mesh
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdl_key_to_wren_key()

auto wren::sdl_key_to_wren_key ( SDL_Keycode sdl_key)
Here is the caller graph for this function:

◆ sdl_mouse_to_wren_mouse()

auto wren::sdl_mouse_to_wren_mouse ( uint8_t sdl_button)
Here is the caller graph for this function:

Variable Documentation

◆ kQuadIndices

const std::vector<uint16_t> wren::kQuadIndices = {0, 1, 2, 2, 3, 0}

◆ kQuadVertices

const std::array wren::kQuadVertices
Initial value:
= {
Vertex{.pos = {-0.5f, -0.5f, 0.0f}, .normal = {1.0f, 0.0f, 0.0f}},
Vertex{.pos = {0.5f, -0.5f, 0.0f}, .normal = {0.0f, 1.0f, 0.0f}},
Vertex{.pos = {0.5f, 0.5f, 0.0f}, .normal = {0.0f, 0.0f, 1.0f}},
Vertex{.pos = {-0.5f, 0.5f, 0.0f}, .normal = {1.0f, 1.0f, 1.0f}}}

◆ kTriangleVertices

const std::array wren::kTriangleVertices
Initial value:
= {
Vertex{.pos = {0.0f, -0.5f, 0.0f}, .normal = {1.0f, 0.0f, 0.0f}},
Vertex{.pos = {0.5f, 0.5f, 0.0f}, .normal = {0.0f, 1.0f, 0.0f}},
Vertex{.pos = {-0.5f, 0.5f, 0.0f}, .normal = {0.0f, 0.0f, 1.0f}},
}