Coder Social home page Coder Social logo

raven's Introduction

Raven Introduction

image

Raven is an under developing offline ray tracing renderer written in C++17 and runs on windows. It provides basic implementation of the functionalities required to solve the rendering equation.

Raven only supports reflective materials by now, transmissive materials and volume scattering participating media will be added in the future.

News

  • 2022/4/16 Glass and Mirror material is supported. Raven has added two classes that handle specular reflection and specular transmission respectively.
  • 2022/4/2 Microfacet shading models is now available! Raven is now supporting smith GGX and Beckmann microfacet distributions, it also adds a new class to compute fresnel value for dielectrics and conductors.

Key modules

Name Description
Renderer(Integrator) Loop over film, solve rendering equation and compute pixel color
Film Store pixel value computed by renderer class, filter and output rendered image
Camera Generate rays
Light Source Provide illumination to scene
Scene Store shapes,lights and their related pointers, passing them to renderer
Shape Geometric entities in the scene
Material Surface attributes of a primitive, composed of a set of shading models
Shading model(BxDF) Implementation of surface bxdf, decide reflection/ transmission direction and energy attenuation
Texture a set of values mapped to 2D surface/3D volume
Sampler Generating random numbers between [0,1]

Implements

Integrators

  • Path Tracing
  • Volume Path Tracing
  • Direct Lighting

Cameras

  • Perspective Camera
  • Orthographic Camera

Light Sources

  • Diffuse Area Lights

Shapes

  • Sphere
  • Triangle Meshes

Shading Models

  • Lambertain
  • Smith GGX
  • Beckmann-Spizzichino
  • Fresnel reflection(Specular reflection)
  • Fresnel transmission(Specular transmission)

Materials

  • Mirror
  • Glass
  • Matte
  • Plastic

Textures

  • Constant Texture
  • Checkered Texture
  • Image Texture

raven's People

Contributors

star-hengxing avatar swordfish-mk2 avatar

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.