Skip to content

star-hengxing/cpu_offline_renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

年轻人的第一台离线渲染器

Getting started

确保你的系统有xmake和支持 C++20 的编译器(MSVC, GCC)

xmake 初始化项目会自动下载项目的依赖,按照操作提示即可,如果下载失败,请看这里,我推荐手动设置代理(记得修改代理端口)

xmake g --proxy="socks5://127.0.0.1:<port>"
git clone --depth 1 https://github.com/star-hengxing/cpu_offline_renderer
xmake
xmake run

等待渲染结束,你可以在 images 目录里查看渲染图片

可以通过命令行参数传递 spp 和线程数,默认最大线程,spp=4

xmake run main <spp> <thread count>
xmake run main 1024 4

Feature

  • 光线传输算法

    • 直接光照(Direct Light)
    • 路径追踪(PT, Path Tracing)
    • 双向路径追踪(BDPT, Bidirectional Path Tracing)
    • 梅特波利斯光照传输(MLT, Metropolis Light Transport)
    • 随机渐进光子映射(SPPM, Stochastic Progress Photon Mapping)
  • 几何

    • 球(Sphere)
    • 圆柱(Cylinder)
    • 圆盘(Disk == Annulus内半径长度为0)
    • 圆锥(Cone)
    • 圆环(Torus)
    • 立方体(Cuboid)
    • 三角形/三角形网格
    • 构造实体几何(CSG, Constructive Solid Geometry),提供并集、交集、补集
    • 曲线(curves) -> 头发
  • BxDF

    • 漫反射(Lambertian)
    • 导体(Conductor)
    • 绝缘体(Dielectric)
    • Oren-Nayer
    • 微表面(GGX microfacet)
    • 次表面散射(BSSRDF)
  • 材质

    • Matte
    • 粗糙/光滑的金属(Metal)
    • 粗糙/光滑的玻璃
  • 纹理

    • 常量(constant)
    • 棋盘(checker)
    • 贴图
  • 光源

    • 点光源(Point Light)
    • 聚光灯(Spot Light)
    • 面光源(Area Light)
  • 相机

    • 正交相机(Orthographic Camera)
    • 透视相机(Perspective Camera)
    • 真实相机
    • 环境相机
  • 杂类

    • 动态模糊
    • 自定义场景格式
    • 基于光谱的渲染
    • 景深(depth of field)

Releases

No releases published

Packages

No packages published