Skip to main content

API Reference

grender_cpu


1. 개요

본 문서는 grender_cpu 모듈에서 제공하는 공개 API (Application Programming Interface) 를 정의한다.

grender_cpugrender 렌더링 인터페이스를 기반으로 동작하는 CPU 기반 렌더러 구현 모듈이며, 해당 API는 CPU 렌더링 디바이스 생성과 렌더링 파이프라인 실행을 위한 인터페이스를 제공한다.

이 문서는 grender_cpu에서 외부 모듈이 사용할 수 있는 공개 타입, 구조체, 함수 인터페이스를 기술한다.


2. API 범위

grender_cpu API는 다음 구성 요소를 포함한다.

  • 공통 데이터 타입
  • framebuffer 인터페이스
  • 렌더링 파이프라인 인터페이스
  • rasterization 인터페이스
  • render device 생성 인터페이스

API는 다음 모듈에서 정의된다.

grender_cpu/common
grender_cpu/framebuffer
grender_cpu/pipeline
grender_cpu/pipeline/raster
grender_cpu/device

3. API 구성 구조

grender_cpu API는 다음 계층 구조로 구성된다.

Render Device API

Rendering Pipeline API

Rasterization API

Framebuffer API

Common Data Types

각 계층은 다음 역할을 가진다.

계층역할
Common공통 데이터 타입 정의
Framebufferframebuffer 접근 인터페이스
Rasterprimitive rasterization 인터페이스
Pipeline렌더링 파이프라인 처리 인터페이스
DeviceCPU render device 생성 및 실행

4. 주요 API 구성

4.1 Common API

공통 데이터 타입을 제공한다.

주요 타입

CpuVertex
ScreenVertex

또한 색상 처리 유틸리티를 제공한다.

pack_bgra8(...)

4.2 Framebuffer API

프레임버퍼 데이터 접근을 위한 구조를 제공한다.

주요 타입

ColorBuffer
DepthBuffer
FramebufferView

4.3 Pipeline API

렌더링 파이프라인 처리 인터페이스를 제공한다.

주요 기능

  • vertex stage 처리
  • primitive clipping
  • fragment operations

4.4 Rasterization API

primitive rasterization 인터페이스를 제공한다.

지원 primitive

  • triangle
  • line
  • point

주요 타입

RasterTriangle
RasterLine
RasterPoint
RasterContext

4.5 Render Device API

CPU 렌더링을 수행하는 render device 생성 인터페이스를 제공한다.

주요 구성

CpuRenderDevice

해당 객체는 CPU 기반 렌더링 파이프라인 실행을 담당한다.


5. 모듈 의존성

grender_cpu API는 다음 모듈과 연동된다.

grender
ghost

내부 모듈 의존성

device

pipeline

raster

framebuffer

common

6. 설계 제약

grender_cpu API는 다음 제약 조건을 가진다.

  • CPU 기반 렌더링만 지원한다.
  • GPU API에 의존하지 않는다.
  • framebuffer 기반 렌더링 구조를 사용한다.

7. 문서 구성

이 API Reference는 다음 하위 문서로 구성된다.

API
├─ common
├─ framebuffer
├─ pipeline
├─ raster
└─ device

각 문서는 해당 모듈에서 제공하는 타입과 함수 인터페이스를 정의한다.


8. 요약

grender_cpu API는 CPU 기반 렌더링을 수행하기 위한 인터페이스 집합이다.

API는 다음 계층으로 구성된다.

  • Common Data Types
  • Framebuffer
  • Rasterization
  • Rendering Pipeline
  • Render Device

각 API는 CPU 기반 software rasterizer 시스템을 구성하기 위한 인터페이스를 제공한다.