Skip to main content

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는 엔진 시스템 구현에서 사용된다.