group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
FrameState Struct Reference

Per-frame snapshot written to the recording CSV. More...

#include <FrameRecorder.hpp>

Public Attributes

uint64_t frameNumber = 0
 
double timestamp = 0.0
 Seconds since recording started.
 
int tickCount = 0
 Physics-tick counter at this render frame.
 
glm::vec3 physPos {0.0f}
 pos.value — what physics says.
 
glm::vec3 physVel {0.0f}
 vel.value — current velocity.
 
float yaw = 0.0f
 input.yaw (accumulated mouse X).
 
float pitch = 0.0f
 input.pitch (accumulated mouse Y).
 
glm::vec3 renderEye {0.0f}
 
float renderYaw = 0.0f
 
float renderPitch = 0.0f
 
glm::vec2 cubeScreen {0.0f}
 Cube centre (0, 32, 400).
 
glm::vec2 modelScreen {0.0f}
 Wraith model centre (200, 0, 400).
 
std::string screenshotPath
 Absolute PNG path, or empty if unavailable.
 

Detailed Description

Per-frame snapshot written to the recording CSV.

Every field that is relevant to diagnosing camera/position jitter is captured:

  • Raw physics state (pos, vel)
  • Raw mouse input (yaw, pitch)
  • What was actually sent to the renderer (renderEye / renderYaw / renderPitch)
  • Derived screen-space positions of the reference cube and the Wraith model (jitter will appear as these values oscillating even when the objects are static)

Member Data Documentation

◆ cubeScreen

glm::vec2 FrameState::cubeScreen {0.0f}

Cube centre (0, 32, 400).

◆ frameNumber

uint64_t FrameState::frameNumber = 0

◆ modelScreen

glm::vec2 FrameState::modelScreen {0.0f}

Wraith model centre (200, 0, 400).

◆ physPos

glm::vec3 FrameState::physPos {0.0f}

pos.value — what physics says.

◆ physVel

glm::vec3 FrameState::physVel {0.0f}

vel.value — current velocity.

◆ pitch

float FrameState::pitch = 0.0f

input.pitch (accumulated mouse Y).

◆ renderEye

glm::vec3 FrameState::renderEye {0.0f}

◆ renderPitch

float FrameState::renderPitch = 0.0f

◆ renderYaw

float FrameState::renderYaw = 0.0f

◆ screenshotPath

std::string FrameState::screenshotPath

Absolute PNG path, or empty if unavailable.

◆ tickCount

int FrameState::tickCount = 0

Physics-tick counter at this render frame.

◆ timestamp

double FrameState::timestamp = 0.0

Seconds since recording started.

◆ yaw

float FrameState::yaw = 0.0f

input.yaw (accumulated mouse X).


The documentation for this struct was generated from the following file: