Coder Social home page Coder Social logo

vulkan's Introduction

Vulkan

My Vulkan Renderer

Projects

   

      1. Model Loading with Texture

                                                             Model Loading                

                Loading models with Assimp.

                Vertex Input to the shader is as follows

                          - Position

                          - Normals

                          - Texture Coords

                               

      2. Forward Rendering

                                                             Forward Rendering                

                Implemented point Light with attenuation

                Implemented Spot Light with Attenuation and cut off

                Can change light color

                               

      3. Deferred Rendering

                                                             Deferred Rendering                

                Implemented the following GBuffer

                           - World Position

                           - Normals

                           - Albedo Texture

                Can support 1000 lights with 60 fps

                               

      4. Moment Shadow Maps

                                                             Moment Shadow Maps                

                Implemented 2 pass compute shader Blur

                           - Horizontal blur

                           - Vertical Blur

                Implemented Cramer’s rule for solving a 3x3 system involved the ratios of 3x3 determinants                         formed from the three columns of the matrix and the right hand column.

                               

      5. Image Based Lighting

                                                             Image Based Lighting                

                Implemented the following 

                           - Diffuse Irradiance 

                           - Specular image based lighting

                               

      6. Ambient Occlusion

                                                             Ambient Occlusion                

                Implemented Screen Space Ambient Occlusion

                Used Percentage Closure Filter (PCF) for Blur

                Blur was implemented on the fragment shader

                               

      7. Mega Texture (Sparse Residency and Binding) 

                                                             Mega Texture                

                Implemented sparse residency and binding 

                Implemented single pass algorithm (all calculation in one fragment shader)

                           - Find tiles from a particular mip level to be binded

                           - Find if the tile is resident ( if resident the texel is fetched from the tile  else fall to next mip level)

                Used staging buffer for transferring the pixel data to the sparse texture image

                               

      8. Key Frame Animation (nLerp and Slerp Quaternions) 

                                                             Key Frame Animation                

                Implemented the following

                           - Normalized Lerp (nLerp)

                           - Slerp

                Wrote Quaternion Library

                               

      9. Motion Along a Path ( Bezier Curve)

                                                             Motion Along a Path                

                Implemented Bezier curves

                Used adaptive table to find next position along the time

                Implemented Linear Ease in and Ease out 

                               

      10. Inverse Kinematics (Cyclic Coordinate Descent)

                                                             Inverse Kinematics                

                Implemented CCD algorithm

                4 bones was selected for inverse kinematics motion

                Target position change with end effector collision 

                               

      11. Cloth Simulation (Gravity and Sphere Collision)

                                                             Cloth Simulation                

                Implemented cloth simulation with the following

                           - Gravity

                           - Vertices collision with sphere

                Each vertices is considered as a particles

                Particles haves constrains with its adjacent particles

vulkan's People

Contributors

arngeo1993 avatar arngeo313 avatar

Stargazers

 avatar  avatar Wenbo Chen avatar

Watchers

James Cloos avatar  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.