Giter VIP home page Giter VIP logo

ilum's Introduction

Ilum(WIP)

Windows Codacy Badge

Ilum Graphics Playground, name after Planet Ilum from star wars.

A framework for computer graphics learning and practice (It's not a game engine!)
bilibili: Project demo video

image-20230212023548756

Install

Platform

  • Windows 10
  • Visual Studio 2022
  • xmake >= v2.7.5
  • [optional] CUDA >= 11.7

Build

Ilum uses xmake for building. You can compile the whole project by simply run command:

xmake -y

or you can open the project in Visual Studio by generating .sln file:

xmake project -k vsxmake

Feature

Cross-Platform RHI

  • Vulkan

    • Mesh Shading
    • Dynamic Rendering
    • Ray Tracing Pipeline
    • Draw/Dispatch Indirect
    • Bindless Resource
  • CUDA

    • CUDA & Vulkan Interop

Resource Manager

Scene Graph

Shader Compilation

shader

Render Graph

  • Static compilation
  • Automatic resource state tracking and transition
  • Texture memory aliasing
  • Seamless interoperation between Graphics API and CUDA
  • Easy to customize render pass

Render Pass

  • Visibility Deferred Shading Pipeline

    • Visibility Geometry Pass

      • Mesh shading with meshlet frustum culling (if device support mesh_shader)
      • Usual rasterization without optimization
    • Visibility Buffer Visualization

      • Visualize visibility buffer: instance and primitive
    • Visibility Buffer Lighting Pass

      • Indirect dispatch to support multiple material graphs
      • Generate lighting result and GBuffer
  • Shadow

    • Classic Shadow Map (Spot Light)
    • Omnidirectional Shadow Map (Point Light)
    • Cascade Shadow Map (Directional Light)
  • Ambient Occlusion

    • SSAO
  • IBL

    • Spherical Harmonic Encoding Diffuse
    • Pre-Filter For Specular
  • Ray Tracing

    • Path Tracing
  • Post Process

    • Tone Mapping
    • Bloom
    • FXAA

TODO

  • Resource Pool
  • Runtime compilation maybe
  • Multi-threading

Material Graph

Feature

  • Static compilation and HLSL generation
  • Easy to customize material node
  • Support usual BSDF models

Plugins

You can extend the renderer features by adding these plugins:

  • RHI
  • Render Pass
  • Material Node
  • Importer
  • Editor

Customize Render Pass

Customize Material Node

Gallery

Render Graph Editor

image-20230210193225994

Material Graph Editor

image-20230210194028080

Path Tracing

Reference

ilum's People

Contributors

chaphlagical avatar wyryyds avatar star-hengxing 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.