API Reference
Overview
본 문서는 gcore 모듈에서 제공하는 공개 API를 설명한다.
gcore는 Grap 엔진의 Core Concept Layer로서 다음 기능을 정의한다.
- 공통 결과 타입
- 시스템 식별자 타입
- 이벤트 데이터 모델
- 프레임 컨텍스트
- 프레임 루프 인터페이스
- 애플리케이션 상태 인터페이스
- 로깅 인터페이스
이 문서는 각 모듈에 정의된 타입, 구조체, 열거형, 인터페이스를 문서화한다.
Module Structure
gcore API는 다음 모듈로 구성된다.
gcore
├─ common
├─ id
├─ event
├─ context
├─ loop
├─ state
└─ log
각 모듈은 독립적인 API 집합을 제공한다.
API Modules
common
공통 상태 및 결과 타입을 제공한다.
정의 요소
StatusCode
Status
Result<T>
Result<void>
BuildConfig
id
엔진 내부 객체 식별자 타입을 정의한다.
정의 요소
WindowId
EventId
LoggerId
Handle<T>
event
이벤트 데이터 모델을 정의한다.
정의 요소
KeyCode
KeyDown
EventPayload
Event
EventQueue
EventBus
context
프레임 실행 시 전달되는 데이터 스냅샷 구조를 정의한다.
정의 요소
FrameIndex
Seconds
MouseSnapshot
InputSnapshot
WindowSnapshot
FrameContext
loop
프레임 루프 인터페이스와 프레임 시간 데이터를 정의한다.
정의 요소
Tick
LoopPhase
ILoop
state
애플리케이션 상태 데이터와 상태 접근 인터페이스를 정의한다.
정의 요소
AppState
WindowState
InputState
IStateStore
log
로그 데이터 구조와 로깅 인터페이스를 정의한다.
정의 요소
LogLevel
LogRecord
ILogger
Umbrella Header
gcore는 다음 umbrella header를 제공한다.
#include <gcore/gcore.hpp>
이 헤더는 gcore 모듈의 주요 공개 API를 포함한다.
API Usage
예제
#include <gcore/gcore.hpp>
gcore::FrameContext frame{};
frame.frame_index = 1;
frame.dt_seconds = 1.0 / 60.0;
frame.time_seconds = 1.0 / 60.0;
이 API는 엔진 시스템 구현에서 사용된다.