Skip to content

HanetakaChou/Ray-Traced-Ambient-Occlusion

Repository files navigation

RTAO (Ray Traced Ambient Occlusion)

build windows

build linux

build android

graph TD
    CPU_Write_Upload["CPU Write Upload"]
    Asset_Vertex_Index_Buffer["Asset Vertex Position Buffer<br> Asset Vertex Varying Buffer<br> Asset Index Buffer"]
    Geometry_Data_Upload_Buffer["Geometry Data Upload Buffer"]
    Instance_Data_Upload_Buffer["Instance Data Upload Buffer"]
    Acceleration_Structure_Instance_Upload_Buffer["Acceleration Structure Instance Upload Buffer"]
    Acceleration_Structure_Pass["<table> <tr><td>╔</td> <td>╦</td> <td>╗</td></tr> <tr><td>╠</td> <td><strong>Acceleration Structure Pass</strong></td> <td>╣</td></tr> <tr> <td>╚</td> <td>╩</td> <td>╝</td></tr> </table>"]
    Top_Level_Acceleration_Structure["Top Level Acceleration Structure"]
    GBuffer_Pass["<table> <tr><td>╔</td> <td>╦</td> <td>╗</td></tr> <tr><td>╠</td> <td><strong>(Ray Traced) GBuffer Pass</strong></td> <td>╣</td></tr> <tr> <td>╚</td> <td>╩</td> <td>╝</td></tr> </table>"]
    GBuffer_Depth_Image["GBuffer Depth Image"]
    GBuffer_Normal_Image["GBuffer Normal Image"]
    Ambient_Occlusion_Pass["<table> <tr><td>╔</td> <td>╦</td> <td>╗</td></tr> <tr><td>╠</td> <td><strong>(Ray Traced) Ambient Occlusion Pass</strong></td> <td>╣</td></tr> <tr> <td>╚</td> <td>╩</td> <td>╝</td></tr> </table>"]
    Ambient_Occlusion_Image["Ambient Occlusion Image" ]
    Full_Screen_Transfer_Pass["Full Screen Transfer Pass"]
    Swap_Chain_Image["Swap Chain Image"]
    
    CPU_Write_Upload -->|"Frame Throttling Index"| Geometry_Data_Upload_Buffer
    CPU_Write_Upload -->|"Frame Throttling Index"| Instance_Data_Upload_Buffer
    CPU_Write_Upload -->|"Frame Throttling Index"| Acceleration_Structure_Instance_Upload_Buffer
    Acceleration_Structure_Instance_Upload_Buffer --> Acceleration_Structure_Pass
    Acceleration_Structure_Pass --> Top_Level_Acceleration_Structure
    Top_Level_Acceleration_Structure --> GBuffer_Pass
    Asset_Vertex_Index_Buffer --> GBuffer_Pass
    Geometry_Data_Upload_Buffer --> GBuffer_Pass
    Instance_Data_Upload_Buffer --> GBuffer_Pass
    GBuffer_Pass --> GBuffer_Depth_Image
    GBuffer_Pass --> GBuffer_Normal_Image
    Top_Level_Acceleration_Structure --> Ambient_Occlusion_Pass
    GBuffer_Depth_Image --> Ambient_Occlusion_Pass
    GBuffer_Normal_Image --> Ambient_Occlusion_Pass
    Ambient_Occlusion_Pass --> Ambient_Occlusion_Image
    Ambient_Occlusion_Image --> Full_Screen_Transfer_Pass
    Full_Screen_Transfer_Pass --> Swap_Chain_Image
Loading