CrownyReal

벡터형 4상균형3진 병렬 렌더 엔진.
Metal / DirectX 12 / Vulkan 대체. 한선씨 3레이어 크라우니 기계어.

Metal 대체 DirectX 12 대체 Vulkan 대체 27-트릿 큐브 병렬

▶라이브 데모

실시간 TBDR 파이프라인 시각화. 오브젝트를 클릭하면 4상 가시성 전이 (확정→미확인→오해→미인지). 오른쪽 패널에 타일맵·큐브 인코딩·통계가 실시간 갱신됩니다.

01아키텍처

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

VM 트랙 — real.한선

Mac/Windows에서 crownyc VM 위에 구동. Metal MTLDevice, DirectX ID3D12Device와 1:1 API 매핑. 5단계 파이프라인: 4상 컬링 → 정점변환 → 타일빈닝 → TBDR 래스터 → 프레임 출력.

44 함수 · 33KB

HW 트랙 — real하드웨어.한선

CrownyOS 베어메탈에서 직접 구동. 큐브(27트릿) 네이티브 인코딩/산술. 27-슬롯 병렬 스케줄러: 1사이클 = 27타일 동시 래스터. 트릿 ALU로 Kleene 3값 로직.

30 함수 · 21KB

024상 가시성 시스템

기존 GPU의 단순 On/Off 오클루전 컬링 대신, 4상균형3진 상태 머신으로 지능적 가시성 관리. 바로 끄지 않고 "오해" 상태를 거쳐 재평가 — 깜빡임 방지 + GPU 절약.

+1
확정
풀 디테일 렌더
0
미확인
중간 LOD
-1
오해
재평가 중
-2
미인지
렌더 스킵

03Metal / DirectX 12 매핑

MetalCrownyRealDirectX 12
MTLDevicereal장치생성()ID3D12Device
MTLCommandQueuereal큐생성()ID3D12CommandQueue
MTLCommandBufferreal버퍼생성()ID3D12GraphicsCommandList
MTLRenderPipelinereal파이프생성()ID3D12PipelineState
Vertex Shaderreal정점변환()VS Stage
Rasterizer (TBDR)real타일래스터()Rasterizer Stage
Fragment Shaderreal프래그먼트()PS Stage
MTLTexturereal텍스처생성()ID3D12Resource
MTLDepthStencilreal깊이테스트()DepthStencilView
CAMetalDrawablereal스왑체인생성()IDXGISwapChain

04큐브(27트릿) 병렬 모델

1큐브 = 27트릿 = 27 병렬 슬롯. 각 타일이 독립 큐브 슬롯에서 동시 래스터. v10.0 자연반올림 나눗셈으로 %3이 균형3진 트릿 {-1, 0, +1}과 직결.

인터랙티브 큐브 인코딩
27트릿 균형3진 인코딩 — T(+1) O(0) A(-1)

05사용법

VM 렌더링

; VM 병렬 렌더 파이프라인 가져오기 "real.한선" ; 1. 장치 + 큐 변수 장치 = real장치생성("CrownyReal", 12) 변수 큐 = real큐생성(장치) 변수 파이프 = real파이프생성("기본", "VS", "FS") ; 2. 오브젝트 (4상 가시성) 변수 obj = real오브젝트(1, "지형", 벡터3(16000, 15000, 0), 5000) obj = 맵넣어(obj, "가시성", _R확정) ; 3. 프레임 렌더 변수 fb = real프레임버퍼생성(32, 30) fb = real프레임렌더(장치, fb, 오브젝트들, mvp, 조명, 200)

HW 큐브 병렬

; CrownyOS 베어메탈 큐브 병렬 가져오기 "real하드웨어.한선" ; 트릿 네이티브 인코딩 변수 큐브 = hw큐브인코딩(42) hw큐브진단(큐브) ; → OOO.OTA.AAO = 42 ; 27-슬롯 병렬 디스패치 변수 스케줄러 = hw스케줄러생성() 스케줄러 = hw작업등록(스케줄러, 0, 0, [0, 1]) fb = hw병렬디스패치(스케줄러, 변환됨, fb)

빌드 & 실행

# 컴파일 cd /Users/ef/CrownyOS/crownyc ./hanseonc_high app.한선 > app.toau 2>/dev/null # 실행 ./crownyc run app.toau

065단계 렌더 파이프라인

1. 4상 컬링

확정/미확인만 통과
미인지 스킵

2. 정점 변환

MVP 행렬 × 정점
라이팅 계산

3. 타일 빈닝

삼각형→타일
바운딩 박스

4. TBDR 래스터

무게중심 좌표
깊이 테스트

5. 프레임 출력

통계 갱신
스왑체인

07다운로드

real.한선

VM용 병렬엔진 코어 | 33KB | 44 함수
Mac/Windows crownyc VM에서 구동. Metal MTLDevice / DirectX ID3D12Device 대체. 커맨드버퍼, TBDR 래스터, 4상 가시성, HZ-버퍼, 스왑체인.
다운로드 real.한선

real하드웨어.한선

HW용 베어메탈 병렬엔진 | 21KB | 30 함수
CrownyOS 위에서 직접 구동. 큐브(27트릿) 네이티브 병렬 스케줄링. 트릿 ALU, Kleene 3값, 큐브 인코딩/산술, DMA 프레임버퍼.
다운로드 real하드웨어.한선

08전체 API

3진 벡터 수학

벡터3 / 더하기 / 빼기 / 곱 / 내적 / 외적 / 크기 / 정규화 / 4x4 행렬 / 행렬곱 / 이동행렬

12 함수

GPU 장치 + 큐

장치생성 / 큐생성 / 버퍼생성 / 드로우 / 클리어 / 버퍼제출 / 파이프생성 / 파이프블렌드

8 함수

4상 가시성

오브젝트 / 가시성전이 / 렌더해야 / LOD / 프러스텀컬링

5 함수

렌더 파이프라인

정점 / 정점변환 / 배치변환 / 타일맵생성 / 타일빈닝 / 타일래스터 / HZ생성 / HZ갱신 / HZ보이는가

9 함수

출력 시스템

프레임버퍼생성 / 프레임클리어 / 픽셀쓰기 / 텍스처생성 / 체커 / 샘플 / 스왑체인생성 / 스왑

8 함수

HW 트릿 ALU

트릿더하기 / 곱하기 / 부정 / AND / OR / 큐브생성 / 인코딩 / 디코딩 / 더하기 / 부정 / 비교 / 진단

12 함수

09라이선스

CRN License v1.0 Crowny Resource Network

허용

  • 개인/교육 목적 무제한 사용
  • 비상업 프로젝트 무료
  • 수정 및 파생 작업
  • 내부 평가/프로토타이핑

상용 이용

  • CRN 라이선스 계약 필요
  • 매출 기반 로열티 또는 정액제
  • 크라우니 네트워크 파트너 할인
  • 엔터프라이즈 지원 포함

제한

  • 소스 재배포 시 원작 표기
  • 경쟁 제품에 핵심 알고리즘 복제 불가
  • 크라우니 상표 무단 사용 불가

상용 라이선스 문의: license@crowny.org · network.crowny.org