← 목록

CrownyReal 병렬엔진 — real.crowny.org

개요

engine.crowny.org 기반의 CrownyReal 병렬 렌더 엔진을 벡터형 4상균형3진 한선씨 3레이어로 재구현. Metal/DirectX/Vulkan 대체. 두 트랙: VM(Mac/Windows)과 HW(CrownyOS 베어메탈).

무엇을 했는가

1. real.한선 — VM용 병렬엔진 코어 (libs/)

모듈함수 수역할Metal/DX12 대응
3진 벡터 수학12vec3 연산, 4x4 행렬, 고정소수점 1000배shader math
GPU 장치1장치 초기화, 코어수 관리MTLDevice / ID3D12Device
커맨드 큐/버퍼5드로우콜 기록/제출/실행MTLCommandQueue / ID3D12CommandQueue
렌더 파이프라인2VS/FS 바인딩, 블렌드/컬링/깊이 설정MTLRenderPipeline / PSO
4상 가시성5확정/미확인/오해/미인지 전이, LOD, 프러스텀 컬링커스텀 오클루전
정점 변환3MVP 변환, 라이팅, 스크린 좌표Vertex Shader
TBDR 래스터3타일 빈닝 + 무게중심 래스터 + 백페이스 컬링Metal TBDR
프레임버퍼3픽셀/깊이 버퍼, 깊이 테스트Render Target
계층적 Z3타일별 최소Z로 Early-Z rejectDepth Stencil
텍스처3생성/체커보드/UV샘플링MTLTexture
스왑체인3N-버퍼링 + 스왑IDXGISwapChain / CAMetalDrawable
프레임 렌더15단계 파이프라인 (컬링→변환→빈닝→래스터→통계)Full pipeline

2. real하드웨어.한선 — CrownyOS 베어메탈 병렬엔진

모듈함수 수역할
트릿 ALU5덧셈(캐리), 곱셈, 부정, Kleene AND/OR
큐브 연산627트릿 인코딩/디코딩/덧셈/부정/비교/진단
큐브 스케줄러327-슬롯 병렬 디스패치 (1큐브=27타일 동시)
HW 프레임버퍼3DMA 출력, 깊이 테스트
HW 래스터1타일 래스터라이저
트릿 정점 변환1큐브 정밀도 MVP 변환
전체 파이프라인14상컬링→트릿변환→빈닝→큐브디스패치

3. v10.0 자연반올림 활용

큐브 인코딩에서 값 % 3이 v10.0 자연반올림으로 {-1, 0, 1} 반환 — 균형3진 트릿과 정확히 일치. 별도 변환 불필요.

4. 컴파일 검증

파일큐브 수바이트결과
real_test.toau13,452376KB전체 통과
real_hw_test.toau8,012224KB전체 통과

5. 학습DB 등록

4개 패턴 등록:

관련 파일

아키텍처

                    real.crowny.org
                         |
            ┌────────────┴────────────┐
            │                         │
     [VM 트랙]                  [HW 트랙]
     real.한선                  real하드웨어.한선
            │                         │
    ┌───────┴───────┐         ┌───────┴───────┐
    │ 커맨드버퍼    │         │ 트릿 ALU     │
    │ TBDR 래스터   │         │ 큐브 스케줄러 │
    │ 4상 가시성    │         │ 27-슬롯 병렬  │
    │ HZ-버퍼      │         │ DMA 프레임버퍼│
    └───────┬───────┘         └───────┬───────┘
            │                         │
    Mac/Windows VM            CrownyOS 베어메탈
    (crownyc run)             (FPGA/RPi5)

잔여 이슈