engine.crowny.org 기반의 CrownyReal 병렬 렌더 엔진을 벡터형 4상균형3진 한선씨 3레이어로 재구현. Metal/DirectX/Vulkan 대체. 두 트랙: VM(Mac/Windows)과 HW(CrownyOS 베어메탈).
| 모듈 | 함수 수 | 역할 | Metal/DX12 대응 |
|---|---|---|---|
| 3진 벡터 수학 | 12 | vec3 연산, 4x4 행렬, 고정소수점 1000배 | shader math |
| GPU 장치 | 1 | 장치 초기화, 코어수 관리 | MTLDevice / ID3D12Device |
| 커맨드 큐/버퍼 | 5 | 드로우콜 기록/제출/실행 | MTLCommandQueue / ID3D12CommandQueue |
| 렌더 파이프라인 | 2 | VS/FS 바인딩, 블렌드/컬링/깊이 설정 | MTLRenderPipeline / PSO |
| 4상 가시성 | 5 | 확정/미확인/오해/미인지 전이, LOD, 프러스텀 컬링 | 커스텀 오클루전 |
| 정점 변환 | 3 | MVP 변환, 라이팅, 스크린 좌표 | Vertex Shader |
| TBDR 래스터 | 3 | 타일 빈닝 + 무게중심 래스터 + 백페이스 컬링 | Metal TBDR |
| 프레임버퍼 | 3 | 픽셀/깊이 버퍼, 깊이 테스트 | Render Target |
| 계층적 Z | 3 | 타일별 최소Z로 Early-Z reject | Depth Stencil |
| 텍스처 | 3 | 생성/체커보드/UV샘플링 | MTLTexture |
| 스왑체인 | 3 | N-버퍼링 + 스왑 | IDXGISwapChain / CAMetalDrawable |
| 프레임 렌더 | 1 | 5단계 파이프라인 (컬링→변환→빈닝→래스터→통계) | Full pipeline |
| 모듈 | 함수 수 | 역할 |
|---|---|---|
| 트릿 ALU | 5 | 덧셈(캐리), 곱셈, 부정, Kleene AND/OR |
| 큐브 연산 | 6 | 27트릿 인코딩/디코딩/덧셈/부정/비교/진단 |
| 큐브 스케줄러 | 3 | 27-슬롯 병렬 디스패치 (1큐브=27타일 동시) |
| HW 프레임버퍼 | 3 | DMA 출력, 깊이 테스트 |
| HW 래스터 | 1 | 타일 래스터라이저 |
| 트릿 정점 변환 | 1 | 큐브 정밀도 MVP 변환 |
| 전체 파이프라인 | 1 | 4상컬링→트릿변환→빈닝→큐브디스패치 |
큐브 인코딩에서 값 % 3이 v10.0 자연반올림으로 {-1, 0, 1} 반환 — 균형3진 트릿과 정확히 일치. 별도 변환 불필요.
| 파일 | 큐브 수 | 바이트 | 결과 |
|---|---|---|---|
| real_test.toau | 13,452 | 376KB | 전체 통과 |
| real_hw_test.toau | 8,012 | 224KB | 전체 통과 |
4개 패턴 등록:
real_병렬엔진_VM — 전체 VM 파이프라인real_병렬엔진_HW큐브 — 큐브 스케줄러real_4상가시성전이 — 가시성 FSMreal_3진벡터수학 — 벡터 연산/Users/ef/CrownyOS/crownyc/libs/real.한선 — VM용 병렬엔진/Users/ef/CrownyOS/crownyc/libs/real하드웨어.한선 — HW용 병렬엔진/Users/ef/Downloads/CrownyEngine/ — Rust 엔진 원본 (참조)/Users/ef/Downloads/CrownyEngine/src/engine/src/crowny_real.rs — Rust 원본 (2749줄)/Users/ef/Downloads/CrownyEngine/src/engine/src/crowny_gpu.rs — Rust GPU (629줄) real.crowny.org
|
┌────────────┴────────────┐
│ │
[VM 트랙] [HW 트랙]
real.한선 real하드웨어.한선
│ │
┌───────┴───────┐ ┌───────┴───────┐
│ 커맨드버퍼 │ │ 트릿 ALU │
│ TBDR 래스터 │ │ 큐브 스케줄러 │
│ 4상 가시성 │ │ 27-슬롯 병렬 │
│ HZ-버퍼 │ │ DMA 프레임버퍼│
└───────┬───────┘ └───────┬───────┘
│ │
Mac/Windows VM CrownyOS 베어메탈
(crownyc run) (FPGA/RPi5)