GitHub - SakuraEntropia/Quantum-RayTracer: A ray tracer based on Qiskit, Grover searching,etc. Experimental program. · GitHub
Skip to content

About

A ray tracer based on Qiskit, Grover searching,etc. Experimental program.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Paralith-Q v2.0: 混合量子-经典光线追踪渲染器

结合 Taichi GPU 并行经典渲染与 Grover 量子搜索 / 模拟退火 协处理器。实现完整 Disney 原则 BRDF (2012),支持标准 Cornell Box 场景。

架构

  ┌──────────────┐      ┌──────────────────┐      ┌──────────────┐
  │  Scene Build │─────▶│  Taichi Renderer │─────▶│  PNG Output  │
  │  (trimesh)   │      │  (GPU kernel)    │      │              │
  └──────────────┘      └────────┬─────────┘      └──────────────┘
                               │ quantum_ratio > 0
                       ┌───────▼────────────────┐
                       │  HybridIntersectSolver │
                       │  ├─ Grover (Qiskit)    │  ← 量子路径
                       │  └─ Annealing (CPU)    │  ← 本地算力回退
                       └────────────────────────┘

经典侧 (Taichi)

  • Möller-Trumbore 光线-三角形相交 (暴力并行)
  • Disney BRDF 着色 (@ti.func on GPU)
  • 面光源 4x 采样 + 软阴影
  • Reinhard tone mapping
  • Per-triangle albedo 支持

量子/退火侧 (HybridIntersectSolver)

自动选择后端:

  • Grover 量子搜索 (Qiskit 可用且 qubit ≤ 12 时)
    • Oracle 编码三角形 AABB 相交信息
    • 相位翻转标记态 + 扩散算子放大
    • O(N) → O(√N) 复杂度降低
  • 模拟退火 (Qiskit 不可用或场景过大时)
    • 将最近相交建模为组合优化
    • 能量 = 命中距离, Metropolis 接受准则
    • 多链并行退火, 指数冷却调度
    • 利用本地 CPU 算力

快速开始

# 安装依赖
pip install -r requirements.txt

# 渲染标准 Cornell Box (纯经典)
python render_cornell.py

# 混合渲染 (10% 光线走协处理器)
python render_cornell.py --quantum 0.1 --demo-search

# 自定义分辨率
python render_cornell.py --width 1024 --height 1024 --output hd.png

# 加载外部 mesh
python main.py --mesh scene.obj --quantum 0.05

文件结构

quantum_raytracer/
├── main.py               # 通用入口 (mesh 加载 / Cornell Box)
├── render_cornell.py     # 标准 Cornell Box 渲染入口
├── taichi_renderer.py    # Taichi GPU 渲染管线 + Disney BRDF
├── quantum_oracle.py     # Grover 量子搜索 + 模拟退火 + 混合调度器
├── disney_brdf.py        # Disney BRDF CPU 参考实现 + 预设材质
├── mesh_loader.py        # trimesh 网格加载 + BVH 构建
├── requirements.txt      # 依赖
└── README.md

参考文献

  1. QRF — arXiv:2211.03418: 量子电路隐式场景表示
  2. Towards Quantum Ray Tracing — IEEE TVCG 2025: Grover O(√N) 交点查询
  3. A Framework for Quantum Ray Tracing — arXiv:2203.15451: Oracle 设计
  4. Quantum Ray Tracing — CNMAC 2025: Qiskit 实现细节
  5. Kirkpatrick et al. 1983 — "Optimization by Simulated Annealing", Science
  6. Burley 2012 — Disney Principled BRDF, SIGGRAPH Course Notes
  7. Möller & Trumbore 1997 — Fast Ray-Triangle Intersection, JGT
  8. Heitz 2014 — Understanding Masking-Shadowing in Microfacet BRDFs

About

A ray tracer based on Qiskit, Grover searching,etc. Experimental program.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages