GithubHelp home page GithubHelp logo

justtracer's Introduction

Just Tracer

Logo

软光线追踪渲染器 720p×720p | 5000spp 渲染结果

Reference

  1. Ray Tracing in One Weekend Series
  2. smallpt - 99 行 C++ 代码实现全局光照
  3. smallpt魔改版 - vinjn 提供的合集
  4. smallpt改写为pbrt - infancy 的超长解析文章
  5. Pursuit - ksgfk 的软光追渲染器
  6. Nori - ksgfk 的作业解析
  7. TinyRenderer - 有些修改的中文教程
  8. Filament - PBR 文档的中文翻译
  9. GAME101 - liupeining 的作业7实现
  10. RenderHelp - 矢量模板类的设计值得学习
  11. 恒星的离线渲染器
  12. Mitsuba1/2 闫令琦推荐的科研渲染器
  13. pbrt - 众所周知的圣经

TODO

  • 对光源采样
    • 多光源均匀采样(PS: 所有光源视为整体的积分域)
  • 重要性采样
    • 混合BRDF

Feature

  • Intersect 物体
    • Sphere 球体
    • Triangle 三角形
    • Rectangle 矩形
  • Model 模型
    • Mesh 网格
    • Texture 纹理
  • Ray 射线
  • HitResult 相交结果
  • Renderer 渲染器
    • OpenMP多线程加速
  • Film 胶片
  • Scene 场景
  • Camera 相机
  • Sampler 采样器
    • Trapezoidal 梯形分布
    • Uniform 均匀分布
  • Integrator 积分器
    • MonteCarloPathIntegrator 蒙特卡洛路径追踪
  • BxDF 双向X分布函数
    • IdealDiffuseBxDF 漫反射分布函数
    • IdealSpecularBxDF 理想镜面反射分布函数
    • MircofacetBxDF 镜面(光泽)反射分布函数
  • Material 材质
    • DiffuseMaterial 漫反射材质
    • MirrorMaterial 镜面材质
    • GlossyMaterial 光泽材质
    • MircofacetMaterial 微表面材质
  • Light 灯光:作为抽象类由继承该类的 Object 实现
  • Accelerator 加速结构
    • AABB 轴向包围盒
    • BVH 层次包围体
  • Tool 工具
    • Vector 矢量模板类
    • Matrix 矩阵模板类
    • Math 数学工具类
    • Global 全局定义类
    • Random 随机数类
  • Loader 文件加载与解析
    • ObjLoader 模型obj文件解析
    • JsonLoader 场景json文件解析

以后可能会加上 stb_image 头文件以支持输出其他格式图片

justtracer's People

Contributors

khaostian avatar

Stargazers

 avatar  avatar  avatar NagiRiimon avatar

Watchers

 avatar

justtracer's Issues

running issue

great project, but how to run it on windows or linux platform.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.