Unravel Engine C++ Reference
Loading...
Searching...
No Matches
particle_types.h File Reference
#include <cstdint>
#include <limits>

Go to the source code of this file.

Classes

struct  unravel::ps_soa::emitter_handle
 

Namespaces

namespace  unravel
 
namespace  unravel::ps_soa
 

Enumerations

enum class  unravel::ps_soa::emitter_shape : int {
  unravel::ps_soa::sphere = 0 , unravel::ps_soa::hemisphere , unravel::ps_soa::circle , unravel::ps_soa::box ,
  unravel::ps_soa::rect , unravel::ps_soa::count
}
 Emission volume shape. Ordinals match legacy EmitterShape for content compatibility. More...
 
enum class  unravel::ps_soa::emitter_direction : int { unravel::ps_soa::up = 0 , unravel::ps_soa::outward , unravel::ps_soa::inward , unravel::ps_soa::count }
 Initial emission direction. Ordinals match legacy EmitterDirection. More...
 
enum class  unravel::ps_soa::spawn_location : int { unravel::ps_soa::inside = 0 , unravel::ps_soa::surface , unravel::ps_soa::count }
 Where particles spawn within the shape. Ordinals match legacy EmitterSpawnLocation. More...
 
enum class  unravel::ps_soa::simulation_space : int { unravel::ps_soa::world = 0 , unravel::ps_soa::local , unravel::ps_soa::count }
 Simulation space. Ordinals match legacy SimulationSpace. More...
 
enum class  unravel::ps_soa::texture_mode : int { unravel::ps_soa::multi_channel = 0 , unravel::ps_soa::mask , unravel::ps_soa::count }
 Texture interpretation. Ordinals match legacy TextureMode. More...
 
enum class  unravel::ps_soa::render_mode : int { unravel::ps_soa::billboard = 0 , unravel::ps_soa::horizontal_billboard , unravel::ps_soa::vertical_billboard , unravel::ps_soa::count }
 Billboard / facing mode. Ordinals match legacy RenderMode. More...
 
enum class  unravel::ps_soa::blend_mode : int { unravel::ps_soa::normal = 0 , unravel::ps_soa::additive , unravel::ps_soa::multiply }
 Blend mode. Ordinals match legacy BlendMode. More...
 
enum class  unravel::ps_soa::emitter_feature : uint32_t {
  unravel::ps_soa::none = 0 , unravel::ps_soa::align_to_direction = 1u << 0 , unravel::ps_soa::texsheet = 1u << 1 , unravel::ps_soa::color_by_speed = 1u << 2 ,
  unravel::ps_soa::size_by_speed = 1u << 3 , unravel::ps_soa::lifetime_by_emitter_speed = 1u << 4 , unravel::ps_soa::local_space = 1u << 5 , unravel::ps_soa::non_linear_ease = 1u << 6
}
 Feature bits baked from authoring desc for specialized update/render paths. More...
 

Functions

auto unravel::ps_soa::is_valid (emitter_handle handle) -> bool
 
constexpr auto unravel::ps_soa::operator| (emitter_feature a, emitter_feature b) -> emitter_feature
 
constexpr auto unravel::ps_soa::operator& (emitter_feature a, emitter_feature b) -> emitter_feature
 
constexpr auto unravel::ps_soa::has_feature (emitter_feature mask, emitter_feature bit) -> bool