MXVK Vulkan Framework 0.24.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
asteroids3d_types.hpp File Reference
#include "mxvk/mxvk_exception.hpp"
#include "mxvk/mxvk_png.hpp"
#include <SDL3/SDL.h>
#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <memory>
#include <random>
#include <string>
#include <vector>
#include <glm/ext/matrix_transform.hpp>
#include <glm/glm.hpp>

Go to the source code of this file.

Classes

struct  space::Asteroid
 Runtime state for an asteroid. More...
struct  space::FlamePushConstants
 Push-constant payload for the engine-flame shaders. More...
struct  space::FlameVertex
 Vertex consumed by the procedural engine-flame pipeline. More...
struct  space::Particle
 Runtime state for an explosion or engine particle. More...
struct  space::Projectile
 Runtime state for a ship projectile. More...
struct  space::ShipCollisionSample
 One spherical sample used by the compound ship collision shape. More...
struct  space::Star
 Runtime state for one animated background star. More...

Namespaces

namespace  space

Enumerations

enum class  space::GameMode {
  space::Intro , space::Loading , space::Lobby , space::Playing ,
  space::MatchOver , space::GameComplete , space::GameOver , space::Intro ,
  space::Loading , space::Playing , space::GameComplete , space::GameOver
}

Functions

glm::mat4 space::build_model_matrix (const glm::vec3 &position, const glm::vec3 &rotation_degrees, float scale, const glm::vec3 &center_offset)
 Builds a translated, rotated, scaled model matrix.
SDL_Surface * space::load_color_keyed_png (const std::string &path, std::uint8_t threshold=12, std::uint8_t softness=48)
 Loads a PNG and fades dark color-key pixels to transparency.
glm::vec3 space::normalize_or_zero (const glm::vec3 &value)
 Normalizes a direction with a stable fallback.
float space::random_float (float min_value, float max_value)
 Generates a uniformly distributed floating-point value.
int space::random_int (int min_value, int max_value)
 Generates a uniformly distributed integer.
std::default_random_engine & space::rng ()
 Returns the thread-local random number engine used by simulation helpers.