عکس MohammadFakhreddin
Experimental project for learning computer graphics using vulkan API and c++.C++
موضوع‌ها
۰
فورک‌ها
۰
ستاره‌ها
۱۳
تاریخ ایجاد
۱۱ مرداد ۱۳۹۹
آخرین بروزرسانی
۱ روز قبل

MFA engine :))

Animation explanation

Read more about my animation implementation here


More document/tutorial will be added soon!

Particle system



Character control


Shadow mapping


Animation Time!


PBR on GLTF models


Support for rendering scene from gltf node tree


Sponza scene


Experimental android port

.obj file:


.gltf file:


Basic PRB


PBR on textured sphere


How to build

Windows

  • You can use following command to create the project
    mkdir build64 || cmake -A x64 -S . -Bbuild64
    
  • Or if you have node installed you can run npm run cmake-windows
  • Also you can use cmake tools that does everything for you (Available as extension for VS-Code)
  • Find .sln files inside build64 and then run the project

Note:

Currently most of recent examples won't run on mac because of no geometry shader support. I'm trying to use compute shader for animation, particle and replace all geometry shader usages with compute shader

Macos

  • Using make

    mkdir build64
    cd build64
    cmake .. -DCMAKE_BUILD_TYPE=Debug (Release) Or you can use npm run cmake-mac
    make
    ./MFaEngine
    
  • If you prefer Xcode, create a build folder then execute following command from inside that folder:

    cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=./ios.toolchain.cmake -DPLATFORM=MAC
    

Linux

Not complete yet!

mkdir build
cd build
cmake ..

For debug build

cmake -DDEBUG_MODE=ON ..

For release build

No extra flag needed

Android (Experimental)

Open android folder using android studio. You might need to change ndk version based on your installed version

IOS (Experimental)

cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=./ios.toolchain.cmake -DPLATFORM=OS64COMBINED