Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::render Namespace Reference

Namespaces

namespace  anonymous_namespace{debug_camera.cpp}
namespace  anonymous_namespace{debug_view_controller.cpp}
namespace  anonymous_namespace{probe_view.cpp}
namespace  anonymous_namespace{screenshot.cpp}

Classes

struct  Vector3
struct  CameraRay
struct  CameraBasis
struct  OrbitCameraState
class  OrbitCamera
struct  CellCoordinate
struct  PeekView
struct  DebugViewSettings
class  DebugViewController
struct  ProbeViewTarget
struct  ProbeViewInputs
class  ProbeView
struct  ProbeViewConstants
class  ScreenshotCapture

Enumerations

enum class  DebugViewMode : uint8_t { Volume = 0 , MaximumProjection = 1 , Slice = 2 }
enum class  DebugViewQuantity : uint8_t { Temperature = 0 , OxygenDepletion = 1 , CarbonDioxide = 2 , Carbon = 3 }

Functions

Vector3 operator+ (Vector3 left, Vector3 right)
Vector3 operator- (Vector3 left, Vector3 right)
Vector3 operator* (Vector3 vector, float scale)
CameraRay RayThroughPixel (const CameraBasis &basis, float pixelX, float pixelY, uint32_t width, uint32_t height)
std::optional< CellCoordinate > PickSliceCell (const CameraRay &ray, uint32_t axis, uint32_t plane, uint32_t gridSize)
CellCoordinate CellOnSlice (uint32_t axis, uint32_t plane, uint32_t u, uint32_t v)
bool ParseDebugViewMode (std::string_view name, DebugViewMode &mode)

Variables

constexpr uint32_t PEEK_MAX_DEPTH = 9
constexpr uint32_t DEBUG_VIEW_QUANTITY_COUNT = 4
constexpr uint32_t VIEW_FLAG_ACTIVE_BLOCKS = 1u << 0
constexpr uint32_t VIEW_FLAG_LOGARITHMIC = 1u << 1
constexpr uint32_t VIEW_QUANTITY_SHIFT = 8
constexpr uint32_t VIEW_PEEK_DEPTH_SHIFT = 16

Enumeration Type Documentation

◆ DebugViewMode

enum class bicameral::render::DebugViewMode : uint8_t
strong
Enumerator
Volume 
MaximumProjection 
Slice 

Definition at line 11 of file probe_view_constants.h.

◆ DebugViewQuantity

enum class bicameral::render::DebugViewQuantity : uint8_t
strong
Enumerator
Temperature 
OxygenDepletion 
CarbonDioxide 
Carbon 

Definition at line 18 of file probe_view_constants.h.

Function Documentation

◆ CellOnSlice()

CellCoordinate bicameral::render::CellOnSlice ( uint32_t axis,
uint32_t plane,
uint32_t u,
uint32_t v )
nodiscard

Definition at line 169 of file debug_camera.cpp.

Referenced by bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameLoop::QueueClicks().

Here is the caller graph for this function:

◆ operator*()

Vector3 bicameral::render::operator* ( Vector3 vector,
float scale )
nodiscard

◆ operator+()

Vector3 bicameral::render::operator+ ( Vector3 left,
Vector3 right )
nodiscard

◆ operator-()

Vector3 bicameral::render::operator- ( Vector3 left,
Vector3 right )
nodiscard

◆ ParseDebugViewMode()

bool bicameral::render::ParseDebugViewMode ( std::string_view name,
DebugViewMode & mode )
nodiscard

Definition at line 269 of file debug_view_controller.cpp.

References MaximumProjection, Slice, and Volume.

Referenced by anonymous_namespace{main.cpp}::ParseViewOption().

Here is the caller graph for this function:

◆ PickSliceCell()

std::optional< CellCoordinate > bicameral::render::PickSliceCell ( const CameraRay & ray,
uint32_t axis,
uint32_t plane,
uint32_t gridSize )
nodiscard

Definition at line 135 of file debug_camera.cpp.

References bicameral::render::CameraRay::direction, and bicameral::render::CameraRay::origin.

Referenced by bicameral::render::DebugViewController::HandlePeekKey(), and bicameral::render::DebugViewController::HandlePointer().

Here is the caller graph for this function:

◆ RayThroughPixel()

CameraRay bicameral::render::RayThroughPixel ( const CameraBasis & basis,
float pixelX,
float pixelY,
uint32_t width,
uint32_t height )
nodiscard

Definition at line 125 of file debug_camera.cpp.

References bicameral::render::CameraBasis::forward, bicameral::render::CameraBasis::orthographic, bicameral::render::CameraBasis::position, bicameral::render::CameraBasis::right, and bicameral::render::CameraBasis::up.

Referenced by bicameral::render::DebugViewController::HandlePeekKey(), and bicameral::render::DebugViewController::HandlePointer().

Here is the caller graph for this function:

Variable Documentation

◆ DEBUG_VIEW_QUANTITY_COUNT

uint32_t bicameral::render::DEBUG_VIEW_QUANTITY_COUNT = 4
inlineconstexpr

◆ PEEK_MAX_DEPTH

◆ VIEW_FLAG_ACTIVE_BLOCKS

uint32_t bicameral::render::VIEW_FLAG_ACTIVE_BLOCKS = 1u << 0
inlineconstexpr

◆ VIEW_FLAG_LOGARITHMIC

uint32_t bicameral::render::VIEW_FLAG_LOGARITHMIC = 1u << 1
inlineconstexpr

◆ VIEW_PEEK_DEPTH_SHIFT

uint32_t bicameral::render::VIEW_PEEK_DEPTH_SHIFT = 16
inlineconstexpr

◆ VIEW_QUANTITY_SHIFT

uint32_t bicameral::render::VIEW_QUANTITY_SHIFT = 8
inlineconstexpr