Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
probe_sim.h File Reference
#include <array>
#include <cstdint>
#include <expected>
#include <functional>
#include <memory>
#include <span>
#include <string>
#include <vector>
#include "common/probe_sim.hlsli"
#include "common/probe_world.hlsli"
#include "gpu/com_ptr.h"
#include "gpu/debug_ring.h"
#include "gpu/graph_trace.h"
#include "gpu/readback_ring.h"
#include "gpu/work_graph.h"
#include "gpu/work_graph_stats.h"
#include "sim/command.h"
#include "sim/gpu_physics.h"
#include "sim/physics_scene.h"
#include "sim/reaction_table.h"
Include dependency graph for probe_sim.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bicameral::sim::ProbeEvent
struct  bicameral::sim::ProbeTickHash
struct  bicameral::sim::ProbeFrameReadback
struct  bicameral::sim::ProbeExtractContext
struct  bicameral::sim::ProbeTableSwap
struct  bicameral::sim::ProbeFrameInput
struct  bicameral::sim::ProbeSimOptions
class  bicameral::sim::ProbeSim
struct  bicameral::sim::ProbeSim::FrameSlot
struct  bicameral::sim::ProbeSim::StateRegion
struct  bicameral::sim::ProbeSim::SavePoint
struct  bicameral::sim::ProbeSim::QueuedTick
class  bicameral::sim::ProbeReference

Namespaces

namespace  bicameral
namespace  bicameral::sim

Typedefs

using bicameral::sim::ProbeCommand = Command

Functions

ProbeCommand bicameral::sim::MakeTableCommand (uint64_t targetTick, uint32_t sequence, uint64_t version)
uint64_t bicameral::sim::TableCommandVersion (const ProbeCommand &command)
ProbeCommand bicameral::sim::MakePokeCommand (uint64_t targetTick, uint32_t sequence, uint32_t x, uint32_t y, uint32_t z)
ProbeCommand bicameral::sim::MakePushCommand (uint64_t targetTick, uint32_t sequence, const std::array< int64_t, 3 > &origin, const std::array< int32_t, 3 > &direction, uint32_t impulseMillinewtonSeconds)
std::vector< reaction::RxCell > bicameral::sim::MakeProbeInitialWorld (const BakedReactionTable &table)
std::array< uint32_t, PROBE_VIEW_SPECIES_COUNT > bicameral::sim::ProbeViewSpecies (const BakedReactionTable &table)
std::vector< uint64_t > bicameral::sim::ProbeInitialBlockWakes (const BakedReactionTable &table, std::span< const reaction::RxCell > cells)
std::vector< uint32_t > bicameral::sim::ProbeInitialScheduleWords (const BakedReactionTable &table, std::span< const reaction::RxCell > cells)
uint64_t bicameral::sim::ProbeStateHash (std::span< const reaction::RxCell > cells)
uint64_t bicameral::sim::ProbeEnergySum (std::span< const reaction::RxCell > cells)
std::vector< uint32_t > bicameral::sim::MakeProbeExtractionCells (std::span< const reaction::RxCell > cells, std::span< const reaction::HcThermalCache > caches, const std::array< uint32_t, PROBE_VIEW_SPECIES_COUNT > &viewSpecies)
uint64_t bicameral::sim::ProbeExtractionHash (std::span< const uint32_t > words)

Variables

constexpr uint32_t bicameral::sim::NO_SAVE_POINT = UINT32_MAX