Wasabi
Classes | Typedefs | Enumerations
Main Engine Classes

Classes

class  WAnimation
 
class  WAnimationManager
 
class  WBone
 
class  WSkeleton
 
class  WCamera
 
class  WCameraManager
 
class  WBase
 
class  Wasabi
 
class  WError
 
class  WManager< T >
 
class  WColor
 
class  WVector2
 
class  WVector3
 
class  WVector4
 
class  WQuaternion
 
class  WPlane
 
class  WMatrix
 
class  WOrientation
 
class  WTimer
 
struct  W_VERTEX_ATTRIBUTE
 
struct  W_VERTEX_DESCRIPTION
 
struct  WDefaultVertex
 
struct  WDefaultVertex_Animation
 
class  WGeometry
 
class  WGeometryManager
 
class  WImage
 
class  WImageManager
 
class  WRenderTarget
 
class  WRenderTargetManager
 
class  WLight
 
class  WLightManager
 
struct  W_SHADER_VARIABLE_INFO
 
struct  W_BOUND_RESOURCE
 
struct  W_INPUT_LAYOUT
 
struct  W_SHADER_DESC
 
class  WShader
 
class  WShaderManager
 
class  WEffect
 
class  WEffectManager
 
class  WMaterial
 
class  WMaterialManager
 
class  WInstance
 
class  WObject
 
class  WObjectManager
 
class  WParticles
 
class  WParticlesManager
 
class  WBulletRigidBody
 
class  WBulletRigidBodyManager
 
class  WPhysicsComponent
 
class  WRigidBody
 
class  WRigidBodyManager
 
class  WRenderer
 
class  WOpenALSoundManager
 
class  WSoundManager
 
class  WSprite
 
class  WSpriteManager
 
class  WTerrain
 
class  WTerrainManager
 
class  WTextComponent
 
class  WWindowAndInputComponent
 

Typedefs

typedef struct W_SHADER_VARIABLE_INFO W_SHADER_VARIABLE_INFO
 
typedef struct W_BOUND_RESOURCE W_BOUND_RESOURCE
 
typedef struct W_INPUT_LAYOUT W_INPUT_LAYOUT
 
typedef struct W_SHADER_DESC W_SHADER_DESC
 

Enumerations

enum  W_SHADER_TYPE : uint32_t { W_VERTEX_SHADER = VK_SHADER_STAGE_VERTEX_BIT, W_FRAGMENT_SHADER = VK_SHADER_STAGE_FRAGMENT_BIT, W_PIXEL_SHADER = VK_SHADER_STAGE_FRAGMENT_BIT, W_GEOMETRY_SHADER = VK_SHADER_STAGE_GEOMETRY_BIT }
 
enum  W_SHADER_VARIABLE_TYPE : uint8_t {
  W_TYPE_FLOAT = 0, W_TYPE_INT = 1, W_TYPE_UINT = 2, W_TYPE_HALF = 3,
  W_TYPE_STRUCT = 4, W_TYPE_VEC_2 = 5, W_TYPE_VEC_3 = 6, W_TYPE_VEC_4 = 7,
  W_TYPE_MAT4X4 = 8
}
 
enum  W_SHADER_BOUND_RESOURCE_TYPE : uint8_t { W_TYPE_UBO = 0, W_TYPE_TEXTURE = 1, W_TYPE_PUSH_CONSTANT = 2 }
 
enum  W_VERTEX_INPUT_RATE : uint8_t { W_INPUT_RATE_PER_VERTEX = 0, W_INPUT_RATE_PER_INSTANCE = 1 }
 
enum  W_MOUSEBUTTON : uint8_t { MOUSE_LEFT = 0, MOUSE_RIGHT = 1, MOUSE_MIDDLE = 2 }
 
enum  W_MOUSEPOSTYPE : uint8_t { MOUSEPOS_DESKTOP = 0, MOUSEPOS_WINDOW = 1, MOUSEPOS_VIEWPORT = 2 }
 

Detailed Description

Typedef Documentation

◆ W_BOUND_RESOURCE

Description of a resource bound to a shader. A resource can be anything listed by W_SHADER_BOUND_RESOURCE_TYPE. An example of a bound resource is a UBO.

◆ W_INPUT_LAYOUT

Description of an input layout for a shader. An input layout describes how a vertex buffer should look like to be compatible with a shader. A vertex buffer bound to the pipeline has to have the same layout as described by the attributes per instance or per vertex, depending on the rate specified.

◆ W_SHADER_DESC

typedef struct W_SHADER_DESC W_SHADER_DESC

Description of a shader to be bound to an effect.

◆ W_SHADER_VARIABLE_INFO

Description of a shader variable in a UBO or vertex attribute.

Enumeration Type Documentation

◆ W_MOUSEBUTTON

enum W_MOUSEBUTTON : uint8_t

Describes a mouse click button.

◆ W_MOUSEPOSTYPE

enum W_MOUSEPOSTYPE : uint8_t

Describes the coordinate system for a mouse position.

◆ W_SHADER_BOUND_RESOURCE_TYPE

Type of a bound resource to a shader.

Enumerator
W_TYPE_UBO 

Bound resource is a UBO

W_TYPE_TEXTURE 

Bound resource is a combined sampler (texture)

W_TYPE_PUSH_CONSTANT 

Bound resource is a push constant structure

◆ W_SHADER_TYPE

enum W_SHADER_TYPE : uint32_t

Type of a shader.

Enumerator
W_VERTEX_SHADER 

Vertex shader

W_FRAGMENT_SHADER 

Pixel (or fragment) shader

W_PIXEL_SHADER 

Pixel (or fragment) shader

W_GEOMETRY_SHADER 

Geometry shader

◆ W_SHADER_VARIABLE_TYPE

enum W_SHADER_VARIABLE_TYPE : uint8_t

Type of a shader variable (or attribute).

Enumerator
W_TYPE_FLOAT 

A floating-point type

W_TYPE_INT 

An integer type

W_TYPE_UINT 

An uint32_t type

W_TYPE_HALF 

A half float

W_TYPE_STRUCT 

A struct

W_TYPE_VEC_2 

2d vector

W_TYPE_VEC_3 

3d vector

W_TYPE_VEC_4 

4d vector

W_TYPE_MAT4X4 

4x4 matrix

◆ W_VERTEX_INPUT_RATE

enum W_VERTEX_INPUT_RATE : uint8_t

Rate at which a vertex buffer is passed to the vertex shader

Enumerator
W_INPUT_RATE_PER_VERTEX 

A unit of the buffer (of a size provided by the stride given to the draw call) will be passed to the vertex shader for every vertex passed.

W_INPUT_RATE_PER_INSTANCE 

A unit of the buffer (of a size provided by the stride given to the draw call) will be passed to the vertex shader for every instance passed.