Table of Contents
DR_ENTITY
Module: DEAD_RECKONING: latency hiding with extrapolation and convergence blending
Dead reckoned entity with extrapolation and convergence state. More...
#include "n_dead_reckoning.h"
Public Attributes
| Name | |
|---|---|
| int | update_count Number of state updates received. |
| DR_STATE | prev_predicted Where we THOUGHT entity was when update arrived (P0, V0). |
| double | pos_threshold Position error threshold for sending updates (distance). |
| DR_STATE | last_known Most recent authoritative state (P0', V0', A0'). |
| DR_VEC3 | display_vel Current blended/rendered velocity. |
| DR_VEC3 | display_pos Current blended/rendered position. |
| bool | blending True if currently blending toward last_known. |
| double | blend_time Duration of convergence blend in seconds. |
| double | blend_start Timestamp when blending started. |
| DR_BLEND | blend_mode Convergence blending mode. |
| DR_VEC3 | bezier_p3 End point (extrapolated last_known at blend_time). |
| DR_VEC3 | bezier_p2 Control point 2. |
| DR_VEC3 | bezier_p1 Control point 1. |
| DR_VEC3 | bezier_p0 Start point (previous predicted position). |
| DR_ALGO | algo Extrapolation algorithm. |
Detailed Description
struct DR_ENTITY;
Dead reckoned entity with extrapolation and convergence state.
Tracks the last known authoritative state, the previous predicted state at the moment a new update arrived, and all parameters needed for extrapolation and convergence blending.
Public Attributes Documentation
variable update_count
int update_count;
Number of state updates received.
variable prev_predicted
DR_STATE prev_predicted;
Where we THOUGHT entity was when update arrived (P0, V0).
variable pos_threshold
double pos_threshold;
Position error threshold for sending updates (distance).
variable last_known
DR_STATE last_known;
Most recent authoritative state (P0', V0', A0').
variable display_vel
DR_VEC3 display_vel;
Current blended/rendered velocity.
variable display_pos
DR_VEC3 display_pos;
Current blended/rendered position.
variable blending
bool blending;
True if currently blending toward last_known.
variable blend_time
double blend_time;
Duration of convergence blend in seconds.
variable blend_start
double blend_start;
Timestamp when blending started.
variable blend_mode
DR_BLEND blend_mode;
Convergence blending mode.
variable bezier_p3
DR_VEC3 bezier_p3;
End point (extrapolated last_known at blend_time).
variable bezier_p2
DR_VEC3 bezier_p2;
Control point 2.
variable bezier_p1
DR_VEC3 bezier_p1;
Control point 1.
variable bezier_p0
DR_VEC3 bezier_p0;
Start point (previous predicted position).
variable algo
DR_ALGO algo;
Extrapolation algorithm.
Modules
- AABB3D
- ACCEPT_POOL
- ALLEGRO4
- ALLEGRO5
- ANIM_LIB
- ASTAR
- ATLAS_LIB
- AVRO
- CLOCK_SYNC
- COMMONS
- CONFIGFILE
- CYPHER_BASE64
- CYPHER_VIGENERE
- DEAD_RECKONING
- ENUMS
- EXCEPTIONS
- GAME_ENV
- GIT
- GUI
- HASH_TABLE
- ISOMETRIC_ENGINE
- LIST
- LOG
- LOGNODUP
- LZ4
- NETWORKING
- NETWORK_MSG
- N_COOKIES
- N_DIFF
- N_DIGEST
- N_DISK_CACHE
- N_DNS
- N_ECC
- N_ENTROPY
- N_FILES
- N_FLUIDS
- N_GUI_COLOR
- N_GUI_COLORWHEEL
- N_GUI_CURVE
- N_GUI_GRID
- N_GUI_POPUP
- N_HEX
- N_HTTP3
- N_HTTP_COOKIE
- N_HTTP_FORM
- N_HTTP_MIME
- N_HTTP_REQ
- N_HTTP_RESP
- N_HTTP_ROUTER
- N_HTTP_SERVER
- N_ICC
- N_JSON
- N_KAFKA
- N_LINALG
- N_MODULE
- N_OPENSSL_COMPAT
- N_PRETTY
- N_PTH
- N_QUERY
- N_RANDOM
- N_SHA256
- N_STR
- N_TIFF
- N_TIME
- N_USER
- N_X509
- N_ZIP
- PARTICLES
- PCRE
- PHYSICS
- SIGNALS
- STACK
- THREADS
- TRAJECTORY
- TREE
- ZLIB