├── .gitignore
├── Android
├── .gitignore
├── app
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── mgf
│ │ │ └── android
│ │ │ └── GXActivity.java
│ │ └── res
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
├── CMakeLists.txt
├── Core
├── CMakeLists.txt
├── Config
│ ├── Engine.Config.h
│ ├── Engine.Version.h
│ ├── Main.cpp
│ └── STL.Config.h
├── Java
│ ├── Java.cpp
│ ├── JavaArray.h
│ ├── JavaClass.h
│ ├── JavaEnvironment.h
│ ├── JavaMethod.h
│ ├── JavaMethodType.h
│ ├── JavaString.h
│ └── JavaTypeInfo.h
├── Physics
│ ├── Algorithms
│ │ ├── AcceleratedMotion.h
│ │ ├── Astrophysics.h
│ │ └── Astrophysics_Orbit.h
│ ├── Common
│ │ ├── Common.h
│ │ └── Main.cpp
│ ├── CompileTime
│ │ ├── GenType.h
│ │ └── PhysTypeInfo.h
│ ├── Core.Physics.h
│ └── Dimensions
│ │ ├── AstrophysicsConstants.h
│ │ ├── DefaultTypes.h
│ │ ├── PhysicsConstants.h
│ │ ├── PhysicsDimension.h
│ │ ├── PhysicsValue.h
│ │ ├── PhysicsValueMath.h
│ │ ├── PhysicsValueUtils.h
│ │ ├── PhysicsValueVec.h
│ │ └── PhysicsValueVecI.h
├── README.md
├── STL
│ ├── Algorithms
│ │ ├── ArrayUtils.h
│ │ ├── Comparators.h
│ │ ├── Crypt
│ │ │ └── SimpleCrypt.h
│ │ ├── Enum.h
│ │ ├── FileAddress.cpp
│ │ ├── FileAddress.h
│ │ ├── Filters
│ │ │ └── GaussianFilter.h
│ │ ├── Hash.h
│ │ ├── InvokeWithVariant.h
│ │ ├── Range.h
│ │ ├── Sorts.h
│ │ ├── StringParser.cpp
│ │ ├── StringParser.h
│ │ ├── StringUtils.h
│ │ └── Swap.h
│ ├── Common
│ │ ├── AllFunc.h
│ │ ├── Cast.h
│ │ ├── Compilers
│ │ │ ├── CompilerClang.h
│ │ │ ├── CompilerGCC.h
│ │ │ └── CompilerMSVC.h
│ │ ├── Init.h
│ │ ├── Main.cpp
│ │ ├── Platforms.h
│ │ ├── TypeId.h
│ │ ├── Types.h
│ │ ├── UMax.h
│ │ └── Uninitialized.h
│ ├── CompileTime
│ │ ├── CompileTimeChecks.h
│ │ ├── CompileTimeDebug.h
│ │ ├── CompileTimeTypes.h
│ │ ├── DeferredTemplates.h
│ │ ├── FunctionInfo.h
│ │ ├── Map.h
│ │ ├── NearType.h
│ │ ├── NewTypeInfo.h
│ │ ├── OldTypeInfo.h
│ │ ├── PlainOldDataType.h
│ │ ├── Runtime
│ │ │ └── TypeIdList.h
│ │ ├── Sequence.h
│ │ ├── StaticFloat.h
│ │ ├── StaticFractional.h
│ │ ├── StaticInteger.h
│ │ ├── StringToID.h
│ │ ├── TemplateMath.h
│ │ ├── TemplateUtils.h
│ │ ├── TypeInfoFunc.h
│ │ ├── TypeList.h
│ │ ├── TypeListHelpers.h
│ │ ├── TypeListUtils.h
│ │ ├── TypeQualifier.h
│ │ └── TypeTraits.h
│ ├── Compression
│ │ ├── Compression.h
│ │ ├── LZ4Compression.h
│ │ └── MiniZCompression.h
│ ├── Containers
│ │ ├── Adaptors.h
│ │ ├── AppendableAdaptor.h
│ │ ├── Array.h
│ │ ├── ArrayRef.h
│ │ ├── CircularQueue.h
│ │ ├── CopyStrategy.h
│ │ ├── Deque.h
│ │ ├── ErasableAdaptor.h
│ │ ├── HashMap.h
│ │ ├── HashSet.h
│ │ ├── IndexedArray.h
│ │ ├── IndexedIterator.h
│ │ ├── Map.h
│ │ ├── MapUtils.h
│ │ ├── Pair.h
│ │ ├── Queue.h
│ │ ├── Set.h
│ │ ├── Stack.h
│ │ ├── StaticArray.h
│ │ ├── StaticBitArray.h
│ │ ├── String.h
│ │ ├── StringRef.h
│ │ ├── Tuple.h
│ │ └── UniBuffer.h
│ ├── Core.STL.h
│ ├── DataBase
│ │ ├── SimpleDB.h
│ │ ├── Utf8StringUtils.cpp
│ │ └── Utf8StringUtils.h
│ ├── Defines
│ │ ├── AuxiliaryDefines.h
│ │ ├── CtorHelpers.h
│ │ ├── Defines.h
│ │ ├── EnumHelpers.h
│ │ ├── Errors.h
│ │ ├── MemberDetector.h
│ │ ├── OperatorHelpers.h
│ │ └── PublicMacro.h
│ ├── Dimensions
│ │ ├── ByteAndBit.h
│ │ ├── Percentage.h
│ │ ├── PowerOfTwoValue.h
│ │ └── RadiansAndDegrees.h
│ ├── Files
│ │ ├── BaseFile.h
│ │ ├── CryptFile.h
│ │ ├── HDDFile.h
│ │ ├── LzmaFile.h
│ │ ├── MemFile.h
│ │ ├── SubFile.h
│ │ └── ZipFile.h
│ ├── Log
│ │ ├── ELog.h
│ │ ├── Logger.cpp
│ │ ├── Logger.h
│ │ └── ToString.h
│ ├── Math
│ │ ├── 2D
│ │ │ ├── Circle.h
│ │ │ ├── Line2.h
│ │ │ ├── MathTypes2D.h
│ │ │ ├── OrientedRectangle.h
│ │ │ └── Rectangle.h
│ │ ├── 3D
│ │ │ ├── AxisAlignedBox.h
│ │ │ ├── CoordTransform3.h
│ │ │ ├── Frustum.h
│ │ │ ├── Line3.h
│ │ │ ├── MathTypes3D.h
│ │ │ ├── PerspectiveCamera.h
│ │ │ ├── Plane.h
│ │ │ ├── Transform.h
│ │ │ └── Triangle.h
│ │ ├── Algebra.h
│ │ ├── BinaryMath.h
│ │ ├── Color
│ │ │ ├── Color.h
│ │ │ ├── ColorFormats.h
│ │ │ ├── Half.h
│ │ │ ├── TR11G11B10F.h
│ │ │ └── TRGB9_E5.h
│ │ ├── FastMath.h
│ │ ├── Image
│ │ │ └── ImageUtils.h
│ │ ├── Interpolations.h
│ │ ├── MathConstants.h
│ │ ├── MathFunc.h
│ │ ├── MathTypeCast.h
│ │ ├── MathTypes.h
│ │ ├── Mathematics.h
│ │ ├── Matrix.h
│ │ ├── Matrix2.h
│ │ ├── Matrix3.h
│ │ ├── Matrix4.h
│ │ ├── MatrixCR.h
│ │ ├── MatrixUtils.h
│ │ ├── OverflowCheck.h
│ │ ├── Quaternion.h
│ │ ├── Rand
│ │ │ ├── NormalDistribution.h
│ │ │ ├── Pseudorandom.h
│ │ │ ├── RandEngine.h
│ │ │ ├── Random.h
│ │ │ └── RandomWithChance.h
│ │ ├── Spline
│ │ │ └── Spline.h
│ │ ├── Trigonometry.h
│ │ ├── Vec.h
│ │ └── VecI.h
│ ├── Memory
│ │ ├── Allocators.h
│ │ ├── MemFunc.h
│ │ ├── MemoryContainer.h
│ │ ├── MemoryViewer.h
│ │ └── PlacementNew.h
│ ├── OS
│ │ ├── Android
│ │ │ └── OSAndroid.h
│ │ ├── Base
│ │ │ ├── BaseFileSystem.cpp
│ │ │ ├── BaseFileSystem.h
│ │ │ ├── Common.h
│ │ │ ├── ConditionVariableEmulation.h
│ │ │ ├── Date.cpp
│ │ │ ├── Date.h
│ │ │ ├── Endianes.h
│ │ │ ├── ReadWriteSyncEmulation.h
│ │ │ ├── ScopeLock.h
│ │ │ ├── SemaphoreEmulator.h
│ │ │ └── SyncEventEmulation.h
│ │ ├── OSLowLevel.h
│ │ ├── Posix
│ │ │ ├── OSPosix.h
│ │ │ ├── PosixFileSystem.cpp
│ │ │ ├── PosixFileSystem.h
│ │ │ ├── PosixHeader.h
│ │ │ ├── PosixLibrary.cpp
│ │ │ ├── PosixLibrary.h
│ │ │ ├── PosixPlatformUtils.h
│ │ │ ├── PosixRandDevice.cpp
│ │ │ ├── PosixRandDevice.h
│ │ │ ├── PosixSyncPrimitives.cpp
│ │ │ ├── PosixSyncPrimitives.h
│ │ │ ├── PosixThread.cpp
│ │ │ ├── PosixThread.h
│ │ │ ├── PosixTimer.cpp
│ │ │ └── PosixTimer.h
│ │ ├── SDL
│ │ │ ├── OS_SDL.h
│ │ │ ├── SDLFileSystem.h
│ │ │ ├── SDLLibrary.cpp
│ │ │ ├── SDLLibrary.h
│ │ │ ├── SDLPlatformUtils.cpp
│ │ │ ├── SDLPlatformUtils.h
│ │ │ ├── SDLRandDevice.h
│ │ │ ├── SDLSyncPrimitives.cpp
│ │ │ ├── SDLSyncPrimitives.h
│ │ │ ├── SDLThread.cpp
│ │ │ ├── SDLThread.h
│ │ │ └── SDLTimer.h
│ │ ├── STD
│ │ │ ├── STDSyncPrimitives.h
│ │ │ ├── STDThread.cpp
│ │ │ ├── STDThread.h
│ │ │ └── STDTimer.h
│ │ └── Windows
│ │ │ ├── OSWindows.h
│ │ │ ├── WinFileSystem.cpp
│ │ │ ├── WinFileSystem.h
│ │ │ ├── WinHeader.h
│ │ │ ├── WinLibrary.cpp
│ │ │ ├── WinLibrary.h
│ │ │ ├── WinPlatformUtils.cpp
│ │ │ ├── WinPlatformUtils.h
│ │ │ ├── WinRandDevice.cpp
│ │ │ ├── WinRandDevice.h
│ │ │ ├── WinSyncPrimitives.cpp
│ │ │ ├── WinSyncPrimitives.h
│ │ │ ├── WinThread.cpp
│ │ │ ├── WinThread.h
│ │ │ ├── WinTimer.cpp
│ │ │ └── WinTimer.h
│ ├── ThreadSafe
│ │ ├── Atomic.h
│ │ ├── AtomicBitfield.h
│ │ ├── AtomicCounter.h
│ │ ├── AtomicFlag.h
│ │ ├── MtFile.h
│ │ ├── MtQueue.h
│ │ └── Singleton.h
│ ├── Time
│ │ ├── FloatTimeImpl.h
│ │ ├── IntTimeImpl.h
│ │ ├── Time.h
│ │ └── TimeProfiler.h
│ └── Types
│ │ ├── Bitfield.h
│ │ ├── Bool.h
│ │ ├── DefferedType.h
│ │ ├── Delegate.h
│ │ ├── Function.h
│ │ ├── Limit.h
│ │ ├── Noncopyable.h
│ │ ├── Noninstancable.h
│ │ ├── Optional.h
│ │ ├── Ptr.h
│ │ ├── RefCountedObject.h
│ │ ├── RefCounter.h
│ │ ├── ScopeSetter.h
│ │ ├── SharedPointer.h
│ │ ├── StaticLimit.h
│ │ ├── StaticRefCountedObject.h
│ │ ├── Union.h
│ │ ├── UniquePtr.h
│ │ ├── UntypedKey.h
│ │ ├── VariantCRef.h
│ │ ├── VariantInterface.h
│ │ ├── VariantRef.h
│ │ ├── VariantRefIndexedContainer.h
│ │ └── WeakPointer.h
├── Script
│ ├── Bindings
│ │ ├── BindScalarMath.cpp
│ │ ├── BindString.cpp
│ │ ├── BindVectorMath.cpp
│ │ └── DefaultBindings.h
│ ├── Core.Script.h
│ └── Impl
│ │ ├── ClassBinder.h
│ │ ├── EnumBinder.h
│ │ ├── ScriptBinder.cpp
│ │ ├── ScriptEngine.cpp
│ │ ├── ScriptEngine.h
│ │ ├── ScriptEngine.inl.h
│ │ ├── ScriptModule.cpp
│ │ ├── ScriptModule.h
│ │ └── ScriptTypes.h
└── compilers.cmake
├── CoreTests
├── Physics
│ ├── Common.h
│ ├── Main.cpp
│ ├── Test_Algorithms_Orbit.cpp
│ └── Test_Dimensions_PhysicsValue.cpp
├── STL
│ ├── Common.h
│ ├── Debug.h
│ ├── Main.cpp
│ ├── Test_Algorithms_InvokeWithVariant.cpp
│ ├── Test_Algorithms_Range.cpp
│ ├── Test_CompileTime_MainType.cpp
│ ├── Test_CompileTime_Map.cpp
│ ├── Test_CompileTime_Sequence.cpp
│ ├── Test_CompileTime_StaticFloat.cpp
│ ├── Test_CompileTime_StringToID.cpp
│ ├── Test_CompileTime_TemplateMath.cpp
│ ├── Test_CompileTime_TypeInfo.cpp
│ ├── Test_CompileTime_TypeList.cpp
│ ├── Test_CompileTime_TypeQualifier.cpp
│ ├── Test_CompileTime_TypeTraits.cpp
│ ├── Test_Containers_Adaptors.cpp
│ ├── Test_Containers_Array.cpp
│ ├── Test_Containers_CircularQueue.cpp
│ ├── Test_Containers_Deque.cpp
│ ├── Test_Containers_HashSet.cpp
│ ├── Test_Containers_IndexedArray.cpp
│ ├── Test_Containers_List.cpp
│ ├── Test_Containers_Map.cpp
│ ├── Test_Containers_Queue.cpp
│ ├── Test_Containers_Set.cpp
│ ├── Test_Containers_String.cpp
│ ├── Test_Containers_Tuple.cpp
│ ├── Test_Math_Abs.cpp
│ ├── Test_Math_Bit.cpp
│ ├── Test_Math_Clamp_Wrap.cpp
│ ├── Test_Math_Color.cpp
│ ├── Test_Math_ColorFormat.cpp
│ ├── Test_Math_Factorial.cpp
│ ├── Test_Math_FloorCeilTruncRoundFract.cpp
│ ├── Test_Math_Frustum.cpp
│ ├── Test_Math_ImageUtils.cpp
│ ├── Test_Math_Matrix.cpp
│ ├── Test_Math_OverflowCheck.cpp
│ ├── Test_Math_Plane.cpp
│ ├── Test_Math_Transform.cpp
│ ├── Test_OS_Atomic.cpp
│ ├── Test_OS_Date.cpp
│ ├── Test_OS_FileSystem.cpp
│ ├── Test_Runtime_VirtualTypelist.cpp
│ ├── Test_Temp.cpp
│ ├── Test_Type_Optional.cpp
│ ├── Test_Types_Cast.cpp
│ ├── Test_Types_FileAddress.cpp
│ ├── Test_Types_Function.cpp
│ ├── Test_Types_StringParser.cpp
│ ├── Test_Types_Time.cpp
│ └── Test_Types_Union.cpp
└── Script
│ ├── Common.h
│ ├── Main.cpp
│ ├── Test_Eval.cpp
│ ├── Test_ScriptClass.cpp
│ ├── Test_ScriptScalarMath.cpp
│ ├── Test_ScriptString.cpp
│ └── Test_ScriptVectorMath.cpp
├── Engine
├── Base
│ ├── Common
│ │ ├── BaseObject.h
│ │ ├── Common.h
│ │ ├── Defines.h
│ │ ├── EModuleGroup.h
│ │ ├── EngineSubSystems.h
│ │ ├── Enums.h
│ │ ├── IDs.h
│ │ └── ThreadID.h
│ ├── DataProvider
│ │ ├── BuiltinStorageDataProvider.cpp
│ │ ├── DataMessages.h
│ │ ├── DataProviderManager.cpp
│ │ ├── DataProviderObjectsConstructor.cpp
│ │ ├── DataProviderObjectsConstructor.h
│ │ ├── FileDataInput.cpp
│ │ ├── FileDataOutput.cpp
│ │ ├── FileInputStream.cpp
│ │ ├── FileOutputStream.cpp
│ │ ├── InMemoryDataProvider.cpp
│ │ ├── InternetDataProvider.cpp
│ │ └── LocalStorageDataProvider.cpp
│ ├── Engine.Base.h
│ ├── Main
│ │ ├── MainSystem.cpp
│ │ └── MainSystem.h
│ ├── Modules
│ │ ├── MessageCache.h
│ │ ├── MessageHandler.cpp
│ │ ├── MessageHandler.h
│ │ ├── MessageHelpers.h
│ │ ├── Module.Send.inl.h
│ │ ├── Module.cpp
│ │ ├── Module.h
│ │ ├── Module.inl.h
│ │ ├── ModuleAsyncTasks.h
│ │ ├── ModuleUtils.h
│ │ ├── ModulesFactory.cpp
│ │ └── ModulesFactory.h
│ ├── Public
│ │ ├── AsyncMessage.h
│ │ ├── CreateInfo.h
│ │ ├── DataProvider.h
│ │ ├── ModuleMessages.h
│ │ ├── ParallelThread.h
│ │ ├── ProfilingMessages.h
│ │ └── TaskModule.h
│ ├── Tasks
│ │ ├── AsyncTask.h
│ │ ├── TaskManager.cpp
│ │ ├── TaskManager.h
│ │ └── TaskModule.cpp
│ └── Threads
│ │ ├── ParallelThreadImpl.cpp
│ │ ├── ParallelThreadImpl.h
│ │ ├── ThreadManager.cpp
│ │ └── ThreadManager.h
├── CMakeLists.txt
├── Graphics
│ ├── Engine.Graphics.h
│ ├── Impl
│ │ ├── AsyncCommandBuffer.cpp
│ │ ├── BatchRenderer.cpp
│ │ ├── CommandBufferManager.cpp
│ │ ├── Font.cpp
│ │ ├── FontManager.cpp
│ │ ├── GraphicsBaseModule.cpp
│ │ ├── GraphicsBaseModule.h
│ │ ├── GraphicsObjectsConstructor.h
│ │ ├── Main.cpp
│ │ └── TextureLineAtlas.h
│ └── Public
│ │ ├── BatchRenderer.h
│ │ ├── Commands.h
│ │ ├── Common.h
│ │ ├── Font.h
│ │ ├── IDs.h
│ │ ├── Primitives.h
│ │ └── Vertices.h
├── ImportExport
│ ├── Engine.ImportExport.h
│ ├── Impl
│ │ ├── GX_ImageFormat.h
│ │ ├── GX_ImageLoader.cpp
│ │ ├── GX_ImageSaver.cpp
│ │ ├── ImportExportObjectsConstructor.h
│ │ └── Main.cpp
│ ├── Public
│ │ ├── Common.h
│ │ ├── IDs.h
│ │ └── Image.h
│ └── README.md
├── PipelineCompiler
│ ├── Common
│ │ ├── ArraySize.h
│ │ ├── Common.h
│ │ ├── Packing.h
│ │ ├── ShaderEnums.h
│ │ └── ToGLSL.h
│ ├── Pipelines
│ │ ├── BasePipeline.cpp
│ │ ├── BasePipeline.h
│ │ ├── BasePipeline_Pass1.cpp
│ │ ├── BasePipeline_Pass2.cpp
│ │ ├── ComputePipeline.cpp
│ │ ├── ComputePipeline.h
│ │ ├── GraphicsPipeline.cpp
│ │ ├── GraphicsPipeline.h
│ │ ├── PipelineManager.cpp
│ │ └── PipelineManager.h
│ ├── README.md
│ ├── Serializers
│ │ ├── AngelScriptSerializer.cpp
│ │ ├── AngelScriptSerializer.h
│ │ ├── CppSerializer.cpp
│ │ ├── CppSerializer.h
│ │ └── ISerializer.h
│ ├── Shaders
│ │ ├── DeserializedShader.cpp
│ │ ├── DeserializedShader.h
│ │ ├── ShaderCompiler.cpp
│ │ ├── ShaderCompiler.h
│ │ ├── ShaderCompiler_CLCompiler.cpp
│ │ ├── ShaderCompiler_CLTranslator.cpp
│ │ ├── ShaderCompiler_CPPTranslator.cpp
│ │ ├── ShaderCompiler_GLCompiler.cpp
│ │ ├── ShaderCompiler_GLParser.cpp
│ │ ├── ShaderCompiler_GLSLTranslator.cpp
│ │ ├── ShaderCompiler_HLSLCompiler.cpp
│ │ ├── ShaderCompiler_HLSLTranslator.cpp
│ │ ├── ShaderCompiler_Includer.cpp
│ │ ├── ShaderCompiler_Includer.h
│ │ ├── ShaderCompiler_NameValidator.cpp
│ │ ├── ShaderCompiler_NameValidator.h
│ │ ├── ShaderCompiler_ReplaceTypes.cpp
│ │ ├── ShaderCompiler_Translator.cpp
│ │ ├── ShaderCompiler_Translator.h
│ │ ├── ShaderCompiler_Utils.h
│ │ ├── ShaderCompiler_VkCompiler.cpp
│ │ └── glslang_Include.h
│ ├── cl
│ │ ├── cl_source_vfs.cpp
│ │ ├── cl_source_vfs.h
│ │ ├── funcs.cpp
│ │ ├── matrix.cpp
│ │ └── vload.cpp
│ ├── glsl
│ │ ├── AABBox.cpp
│ │ ├── Billow.cpp
│ │ ├── BitMath.cpp
│ │ ├── Blur.cpp
│ │ ├── Cellular.cpp
│ │ ├── Cmp.cpp
│ │ ├── Color.cpp
│ │ ├── Colors.cpp
│ │ ├── DHash.cpp
│ │ ├── DefaultSDF.cpp
│ │ ├── Defines.cpp
│ │ ├── Emitters.cpp
│ │ ├── FBM.cpp
│ │ ├── Gabor.cpp
│ │ ├── GlobalIndex.cpp
│ │ ├── Gravity.cpp
│ │ ├── Hash.cpp
│ │ ├── Hash2.cpp
│ │ ├── IHash.cpp
│ │ ├── Line2.cpp
│ │ ├── Line3.cpp
│ │ ├── Magnetism.cpp
│ │ ├── Math.cpp
│ │ ├── MathDef.cpp
│ │ ├── Matrix.cpp
│ │ ├── Perlin.cpp
│ │ ├── Plane.cpp
│ │ ├── Quaternion.cpp
│ │ ├── Ray.cpp
│ │ ├── Rect.cpp
│ │ ├── Simplex.cpp
│ │ ├── Turbulence.cpp
│ │ ├── TypeInfo.cpp
│ │ ├── Utils.cpp
│ │ ├── Voronoi.cpp
│ │ ├── VoronoiLines.cpp
│ │ ├── VoronoiNoise.cpp
│ │ ├── _NoiseUtils.cpp
│ │ ├── glsl_source_vfs.cpp
│ │ └── glsl_source_vfs.h
│ └── hlsl
│ │ ├── hlsl_source_vfs.cpp
│ │ ├── hlsl_source_vfs.h
│ │ └── vload.cpp
├── Platforms
│ ├── Engine.Platforms.h
│ ├── Impl
│ │ ├── Main.cpp
│ │ └── PipelineTemplate.cpp
│ ├── Input
│ │ ├── InputManager.cpp
│ │ ├── InputManager.h
│ │ └── InputThread.cpp
│ ├── OpenCL
│ │ ├── 120
│ │ │ ├── CL1BaseModule.cpp
│ │ │ ├── CL1BaseModule.h
│ │ │ ├── CL1Buffer.cpp
│ │ │ ├── CL1CommandBuffer.cpp
│ │ │ ├── CL1CommandBuilder.cpp
│ │ │ ├── CL1CommandQueue.cpp
│ │ │ ├── CL1Device.cpp
│ │ │ ├── CL1Device.h
│ │ │ ├── CL1Emulator.cpp
│ │ │ ├── CL1Emulator.h
│ │ │ ├── CL1Enums.h
│ │ │ ├── CL1Image.cpp
│ │ │ ├── CL1Messages.h
│ │ │ ├── CL1Pipeline.cpp
│ │ │ ├── CL1PipelineResourceTable.cpp
│ │ │ ├── CL1ResourceCache.h
│ │ │ ├── CL1Sampler.cpp
│ │ │ ├── CL1SamplerCache.h
│ │ │ ├── CL1SyncManager.cpp
│ │ │ ├── cl2.cpp
│ │ │ └── cl2.h
│ │ ├── OpenCLContext.cpp
│ │ ├── OpenCLObjectsConstructor.h
│ │ └── OpenCLThread.cpp
│ ├── OpenGL
│ │ ├── 450
│ │ │ ├── GL4BaseModule.cpp
│ │ │ ├── GL4BaseModule.h
│ │ │ ├── GL4Buffer.cpp
│ │ │ ├── GL4CommandBuffer.cpp
│ │ │ ├── GL4CommandBuilder.cpp
│ │ │ ├── GL4CommandQueue.cpp
│ │ │ ├── GL4Device.cpp
│ │ │ ├── GL4Device.h
│ │ │ ├── GL4Emulator.h
│ │ │ ├── GL4Enums.h
│ │ │ ├── GL4FlippedSystemFramebuffer.h
│ │ │ ├── GL4Framebuffer.cpp
│ │ │ ├── GL4Image.cpp
│ │ │ ├── GL4Memory.cpp
│ │ │ ├── GL4Messages.h
│ │ │ ├── GL4Pipeline.cpp
│ │ │ ├── GL4PipelineResourceTable.cpp
│ │ │ ├── GL4QueryPool.cpp
│ │ │ ├── GL4RenderPass.cpp
│ │ │ ├── GL4ResourceCache.h
│ │ │ ├── GL4Sampler.cpp
│ │ │ ├── GL4SamplerCache.h
│ │ │ ├── GL4SyncManager.cpp
│ │ │ ├── GL4SystemFramebuffer.h
│ │ │ ├── gl4.cpp
│ │ │ └── gl4.h
│ │ ├── 300es
│ │ │ ├── gles3.cpp
│ │ │ └── gles3.h
│ │ ├── EGL
│ │ │ ├── EGLRenderContext.cpp
│ │ │ └── EGLRenderContext.h
│ │ ├── Linux
│ │ │ ├── GLX11Context.cpp
│ │ │ ├── GLX11Context.h
│ │ │ ├── GLX11Library.cpp
│ │ │ └── GLX11Library.h
│ │ ├── OpenGLContext.cpp
│ │ ├── OpenGLObjectsConstructor.h
│ │ ├── OpenGLThread.cpp
│ │ └── Windows
│ │ │ ├── GLWinContext.cpp
│ │ │ ├── GLWinContext.h
│ │ │ ├── GLWinLibrary.cpp
│ │ │ └── GLWinLibrary.h
│ ├── Public
│ │ ├── Common.h
│ │ ├── GPU
│ │ │ ├── Buffer.h
│ │ │ ├── BufferEnums.h
│ │ │ ├── CommandBuffer.h
│ │ │ ├── CommandEnums.h
│ │ │ ├── CommandQueue.h
│ │ │ ├── Context.cpp
│ │ │ ├── Context.h
│ │ │ ├── Enums.ToString.h
│ │ │ ├── FragmentOutputState.h
│ │ │ ├── Framebuffer.cpp
│ │ │ ├── Framebuffer.h
│ │ │ ├── IDs.h
│ │ │ ├── Image.cpp
│ │ │ ├── Image.h
│ │ │ ├── ImageEnums.h
│ │ │ ├── ImageLayer.h
│ │ │ ├── ImageSwizzle.h
│ │ │ ├── Memory.h
│ │ │ ├── MemoryEnums.h
│ │ │ ├── MipmapLevel.h
│ │ │ ├── MultiSamples.h
│ │ │ ├── ObjectEnums.h
│ │ │ ├── Pipeline.cpp
│ │ │ ├── Pipeline.h
│ │ │ ├── PipelineLayout.cpp
│ │ │ ├── PipelineLayout.h
│ │ │ ├── PixelFormatEnums.h
│ │ │ ├── Query.h
│ │ │ ├── QueryEnums.h
│ │ │ ├── RenderPass.cpp
│ │ │ ├── RenderPass.h
│ │ │ ├── RenderPassEnums.h
│ │ │ ├── RenderState.cpp
│ │ │ ├── RenderState.h
│ │ │ ├── RenderStateEnums.h
│ │ │ ├── Sampler.cpp
│ │ │ ├── Sampler.h
│ │ │ ├── SamplerEnums.h
│ │ │ ├── ShaderEnums.h
│ │ │ ├── Sync.h
│ │ │ ├── Thread.h
│ │ │ ├── VR.h
│ │ │ ├── VertexAttribs.h
│ │ │ ├── VertexDescr.h
│ │ │ ├── VertexEnums.h
│ │ │ ├── VertexInputState.cpp
│ │ │ └── VertexInputState.h
│ │ ├── OS
│ │ │ ├── Display.h
│ │ │ ├── IDs.h
│ │ │ ├── Input.h
│ │ │ ├── OSEnums.h
│ │ │ ├── Platform.h
│ │ │ ├── ScreenCoords.h
│ │ │ └── Window.h
│ │ └── Tools
│ │ │ ├── AsyncCommandsEmulator.h
│ │ │ ├── GPUThreadHelper.cpp
│ │ │ ├── GPUThreadHelper.h
│ │ │ ├── ImageUtils.cpp
│ │ │ ├── ImageUtils.h
│ │ │ ├── ImageViewHashMap.h
│ │ │ ├── MemoryMapperHelper.cpp
│ │ │ ├── MemoryMapperHelper.h
│ │ │ ├── SamplerUtils.cpp
│ │ │ ├── SamplerUtils.h
│ │ │ ├── WindowHelper.cpp
│ │ │ └── WindowHelper.h
│ ├── SDL
│ │ ├── SDLDisplay.cpp
│ │ ├── SDLDisplay.h
│ │ ├── SDLKeyInput.cpp
│ │ ├── SDLMessages.h
│ │ ├── SDLMouseInput.cpp
│ │ ├── SDLObjectsConstructor.h
│ │ ├── SDLPlatform.cpp
│ │ └── SDLWindow.cpp
│ ├── Soft
│ │ ├── Android
│ │ │ ├── SwAndSurface.cpp
│ │ │ └── SwAndSurface.h
│ │ ├── Impl
│ │ │ ├── SWBaseModule.cpp
│ │ │ ├── SWBaseModule.h
│ │ │ ├── SWBuffer.cpp
│ │ │ ├── SWCommandBuffer.cpp
│ │ │ ├── SWCommandBuilder.cpp
│ │ │ ├── SWCommandQueue.cpp
│ │ │ ├── SWDevice.cpp
│ │ │ ├── SWDevice.h
│ │ │ ├── SWDeviceProperties.h
│ │ │ ├── SWEnums.h
│ │ │ ├── SWImage.cpp
│ │ │ ├── SWMemory.cpp
│ │ │ ├── SWMessages.h
│ │ │ ├── SWPipeline.cpp
│ │ │ ├── SWPipelineResourceTable.cpp
│ │ │ ├── SWSampler.cpp
│ │ │ ├── SWSamplerCache.h
│ │ │ ├── SWShaderModel.cpp
│ │ │ ├── SWShaderModel.h
│ │ │ ├── SWSyncManager.cpp
│ │ │ └── SWSyncObjects.h
│ │ ├── ShaderLang
│ │ │ ├── SWLang.h
│ │ │ ├── SWLangArray.h
│ │ │ ├── SWLangBarrier.h
│ │ │ ├── SWLangBuffer.h
│ │ │ ├── SWLangCommon.h
│ │ │ ├── SWLangGLM.h
│ │ │ ├── SWLangImage.cpp
│ │ │ ├── SWLangImage.h
│ │ │ ├── SWLangShared.h
│ │ │ ├── SWLangTexture.cpp
│ │ │ ├── SWLangTexture.h
│ │ │ ├── SWLangTexture2D.h
│ │ │ ├── SWShaderHelper.h
│ │ │ ├── gen_Image.h
│ │ │ └── gen_Texture.h
│ │ ├── SoftRendererContext.cpp
│ │ ├── SoftRendererObjectsConstructor.h
│ │ ├── SoftRendererThread.cpp
│ │ └── Windows
│ │ │ ├── SwWinSurface.cpp
│ │ │ └── SwWinSurface.h
│ ├── VR
│ │ ├── Emulator
│ │ │ └── EmulatorVRThread.cpp
│ │ ├── VRObjectsConstructor.cpp
│ │ └── VRObjectsConstructor.h
│ ├── Vulkan
│ │ ├── 110
│ │ │ ├── Vk1BaseModule.cpp
│ │ │ ├── Vk1BaseModule.h
│ │ │ ├── Vk1BaseObject.h
│ │ │ ├── Vk1Buffer.cpp
│ │ │ ├── Vk1CommandBuffer.cpp
│ │ │ ├── Vk1CommandBuilder.cpp
│ │ │ ├── Vk1CommandQueue.cpp
│ │ │ ├── Vk1Device.cpp
│ │ │ ├── Vk1Device.h
│ │ │ ├── Vk1Enums.h
│ │ │ ├── Vk1Framebuffer.cpp
│ │ │ ├── Vk1Image.cpp
│ │ │ ├── Vk1Library.h
│ │ │ ├── Vk1ManagedMemory.cpp
│ │ │ ├── Vk1MemoryManager.cpp
│ │ │ ├── Vk1Messages.h
│ │ │ ├── Vk1Pipeline.cpp
│ │ │ ├── Vk1PipelineCache.cpp
│ │ │ ├── Vk1PipelineCache.h
│ │ │ ├── Vk1PipelineLayout.cpp
│ │ │ ├── Vk1PipelineLayout.h
│ │ │ ├── Vk1PipelineResourceTable.cpp
│ │ │ ├── Vk1QueryPool.cpp
│ │ │ ├── Vk1RenderPass.cpp
│ │ │ ├── Vk1RenderPassCache.h
│ │ │ ├── Vk1ResourceCache.h
│ │ │ ├── Vk1Sampler.cpp
│ │ │ ├── Vk1SamplerCache.h
│ │ │ ├── Vk1SwapchainImage.h
│ │ │ ├── Vk1SyncManager.cpp
│ │ │ ├── vulkan1.cpp
│ │ │ ├── vulkan1.h
│ │ │ ├── vulkan1_platform.cpp
│ │ │ ├── vulkan1_platform.h
│ │ │ └── vulkan1_utils.h
│ │ ├── Android
│ │ │ ├── VkAndSurface.cpp
│ │ │ └── VkAndSurface.h
│ │ ├── Linux
│ │ │ ├── VkLinuxSurface.cpp
│ │ │ └── VkLinuxSurface.h
│ │ ├── VulkanContext.cpp
│ │ ├── VulkanObjectsConstructor.h
│ │ ├── VulkanThread.cpp
│ │ └── Windows
│ │ │ ├── VkWinSurface.cpp
│ │ │ └── VkWinSurface.h
│ └── Windows
│ │ ├── WinDisplay.cpp
│ │ ├── WinDisplay.h
│ │ ├── WinKeyInput.cpp
│ │ ├── WinMessages.h
│ │ ├── WinMouseInput.cpp
│ │ ├── WinObjectsConstructor.h
│ │ ├── WinPlatform.cpp
│ │ └── WinWindow.cpp
├── Profilers
│ ├── Engine.Profilers.h
│ ├── Impl
│ │ ├── FPSCounter.cpp
│ │ ├── Main.cpp
│ │ └── ProfilerObjectsConstructor.h
│ └── Public
│ │ ├── Common.h
│ │ ├── GpuStatistic.h
│ │ └── IDs.h
├── README.md
├── ResourcePacker
│ ├── FilePacker
│ │ ├── BinaryFilePacker.cpp
│ │ ├── BinaryFilePacker.h
│ │ ├── CppFileSystemPacker.cpp
│ │ ├── CppFileSystemPacker.h
│ │ └── IFileSystemPacker.h
│ ├── Images
│ │ ├── DevILConverter.cpp
│ │ ├── ImageConverter.cpp
│ │ └── ImageConverter.h
│ ├── Main.cpp
│ ├── Packer
│ │ ├── Common.h
│ │ ├── ResourcePacker.cpp
│ │ ├── ResourcePacker.h
│ │ └── ScriptHelper.cpp
│ └── Pipelines
│ │ ├── PipelineConverter.cpp
│ │ ├── PipelineConverter.h
│ │ ├── ScriptComputePipeline.cpp
│ │ ├── ScriptComputePipeline.h
│ │ ├── ScriptGraphicsPipeline.cpp
│ │ ├── ScriptGraphicsPipeline.h
│ │ ├── ScriptPipeline.cpp
│ │ └── ScriptPipeline.h
└── Scene
│ ├── Camera
│ ├── FreeCamera.cpp
│ └── FreeVRCamera.cpp
│ ├── Engine.Scene.h
│ ├── Impl
│ ├── BaseSceneModule.cpp
│ ├── BaseSceneModule.h
│ ├── Main.cpp
│ ├── SceneMainThread.cpp
│ ├── SceneManager.cpp
│ └── SceneObjectConstructor.h
│ ├── Logic
│ └── SceneLogicMainThread.cpp
│ ├── Physics
│ └── ScenePhysicsMainThread.cpp
│ ├── Public
│ ├── Camera.h
│ ├── Common.h
│ ├── IDs.h
│ ├── Scene.h
│ └── Surface.h
│ ├── Renderer
│ └── SceneRendererMainThread.cpp
│ └── Surface
│ ├── OffscreenSurface.cpp
│ ├── VRSurface.cpp
│ ├── VideoRecorderSurface.cpp
│ └── WindowSurface.cpp
├── EngineTests
├── Base
│ ├── Common.h
│ ├── Graphics
│ │ ├── GApp.cpp
│ │ ├── GApp.h
│ │ └── Test.GWindow.cpp
│ ├── Main.cpp
│ ├── Pipelines
│ │ ├── Default.ppln
│ │ ├── Default2.ppln
│ │ ├── all_pipelines.h
│ │ ├── default.cpp
│ │ ├── default2.cpp
│ │ ├── resources.as
│ │ └── shared_types.h
│ └── Window
│ │ └── Test.Window.cpp
├── Graphics
│ ├── GApp.cpp
│ ├── GApp.h
│ ├── Main.cpp
│ └── Pipelines
│ │ ├── Default3.ppln
│ │ ├── all_pipelines.h
│ │ ├── default3.cpp
│ │ ├── resources.as
│ │ └── shared_types.h
└── Platforms.GAPI
│ ├── Common.h
│ ├── Compiler
│ ├── PApp.cpp
│ ├── PApp.h
│ ├── PApp_AtomicAdd.cpp
│ ├── PApp_FindLSB.cpp
│ ├── PApp_FindMSB.cpp
│ ├── PApp_GlobalToLocal.cpp
│ ├── PApp_Include.cpp
│ ├── PApp_InlineAll.cpp
│ ├── PApp_UnnamedBuffer.cpp
│ ├── PApp_VecSwizzle.cpp
│ ├── Pipelines
│ │ ├── AtomicAdd.ppln
│ │ ├── FindLSB.ppln
│ │ ├── FindMSB.ppln
│ │ ├── GlobalToLocal.ppln
│ │ ├── Include.ppln
│ │ ├── InlineAll.ppln
│ │ ├── UnnamedBuffer.ppln
│ │ ├── VecSwizzle.ppln
│ │ ├── all_pipelines.h
│ │ ├── atomicadd.cpp
│ │ ├── findlsb.cpp
│ │ ├── findmsb.cpp
│ │ ├── globaltolocal.cpp
│ │ ├── include.cpp
│ │ ├── inlineall.cpp
│ │ ├── shared_types.h
│ │ ├── unnamedbuffer.cpp
│ │ └── vecswizzle.cpp
│ └── Test.PipelineCompiler.cpp
│ ├── Compute
│ ├── CApp.cpp
│ ├── CApp.h
│ ├── CApp_BufferAlign.cpp
│ ├── CApp_BufferRange.cpp
│ ├── CApp_ClearBuffer.cpp
│ ├── CApp_ConvertFloatImage2D.cpp
│ ├── CApp_CopyBuffer.cpp
│ ├── CApp_CopyBufferToImage2D.cpp
│ ├── CApp_CopyImage2D.cpp
│ ├── CApp_CopyImage2DToBuffer.cpp
│ ├── CApp_DynamicBuffer.cpp
│ ├── CApp_ExplicitMemoryObjectSharing.cpp
│ ├── CApp_Image2DBilinearFilter.cpp
│ ├── CApp_Image2DNearestFilter.cpp
│ ├── CApp_ShaderBarrier.cpp
│ ├── CApp_UpdateBuffer.cpp
│ ├── Pipelines
│ │ ├── BufferAlign.ppln
│ │ ├── CopyFloatImage2D.ppln
│ │ ├── DynamicBuffer.ppln
│ │ ├── Image2DBilinearFilter.ppln
│ │ ├── Image2DNearestFilter.ppln
│ │ ├── ShaderBarrier.ppln
│ │ ├── all_pipelines.h
│ │ ├── bufferalign.cpp
│ │ ├── copyfloatimage2d.cpp
│ │ ├── dynamicbuffer.cpp
│ │ ├── image2dbilinearfilter.cpp
│ │ ├── image2dnearestfilter.cpp
│ │ ├── shaderbarrier.cpp
│ │ └── shared_types.h
│ └── Test.ComputeApi.cpp
│ ├── Graphics
│ ├── GApp.cpp
│ ├── GApp.h
│ ├── GApp_Texture2DBilinearFilter.cpp
│ ├── GApp_Texture2DNearestFilter.cpp
│ ├── Pipelines
│ │ ├── Texture2DBilinearFilter.ppln
│ │ ├── Texture2DNearestFilter.ppln
│ │ ├── all_pipelines.h
│ │ ├── shared_types.h
│ │ ├── texture2dbilinearfilter.cpp
│ │ └── texture2dnearestfilter.cpp
│ └── Test.GraphicsApi.cpp
│ ├── Main.cpp
│ ├── MultiGPU
│ └── Test.MultiGPU.cpp
│ ├── Sharing
│ ├── SApp.cpp
│ ├── SApp.h
│ ├── SApp_BufferSharing.cpp
│ ├── SApp_ImageSharing.cpp
│ └── Test.Sharing.cpp
│ ├── Window
│ ├── Test.Window.cpp
│ └── Window1.h
│ └── resources.as
├── External
├── README.md
├── cmake
│ ├── AngelScript
│ │ ├── CMakeLists.txt
│ │ └── build.cmake
│ ├── CMakeLists.txt
│ ├── DevIL
│ │ ├── build.cmake
│ │ └── main.cpp
│ ├── DirectX
│ │ └── dx11.cmake
│ ├── FreeImage
│ │ └── build.cmake
│ ├── SDL2
│ │ └── build.cmake
│ ├── download.cmake
│ ├── glslang
│ │ ├── build.cmake
│ │ └── build_internal.cmake
│ ├── lodepng
│ │ └── build.cmake
│ ├── lz4
│ │ ├── CMakeLists.txt
│ │ └── build.cmake
│ ├── miniz
│ │ ├── CMakeLists.txt
│ │ └── build.cmake
│ └── options.cmake
├── downloaded
│ ├── AngelScript
│ │ └── sdk
│ │ │ └── angelscript
│ │ │ └── projects
│ │ │ └── cmake
│ │ │ └── CMakeLists.txt
│ ├── SDL2
│ │ └── CMakeLists.txt
│ └── glslang
│ │ └── CMakeLists.txt
├── opencl
│ ├── cl_platform.h
│ ├── opencl11_core.h
│ ├── opencl11_gl.h
│ ├── opencl12_core.h
│ ├── opencl12_gl.h
│ ├── opencl20_core.h
│ ├── opencl20_gl.h
│ ├── opencl21_core.h
│ ├── opencl21_gl.h
│ ├── opencl22_core.h
│ ├── opencl22_gl.h
│ └── origin
│ │ ├── opencl10
│ │ └── CL
│ │ │ ├── cl.h
│ │ │ ├── cl_d3d10.h
│ │ │ ├── cl_ext.h
│ │ │ ├── cl_gl.h
│ │ │ ├── cl_gl_ext.h
│ │ │ ├── cl_platform.h
│ │ │ └── opencl.h
│ │ ├── opencl11
│ │ └── CL
│ │ │ ├── cl.h
│ │ │ ├── cl_d3d10.h
│ │ │ ├── cl_ext.h
│ │ │ ├── cl_gl.h
│ │ │ ├── cl_gl_ext.h
│ │ │ ├── cl_platform.h
│ │ │ └── opencl.h
│ │ ├── opencl12
│ │ └── CL
│ │ │ ├── cl.h
│ │ │ ├── cl_d3d10.h
│ │ │ ├── cl_d3d11.h
│ │ │ ├── cl_dx9_media_sharing.h
│ │ │ ├── cl_dx9_media_sharing_intel.h
│ │ │ ├── cl_egl.h
│ │ │ ├── cl_ext.h
│ │ │ ├── cl_ext_intel.h
│ │ │ ├── cl_gl.h
│ │ │ ├── cl_gl_ext.h
│ │ │ ├── cl_platform.h
│ │ │ ├── cl_va_api_media_sharing_intel.h
│ │ │ └── opencl.h
│ │ ├── opencl20
│ │ └── CL
│ │ │ ├── cl.h
│ │ │ ├── cl_d3d10.h
│ │ │ ├── cl_d3d11.h
│ │ │ ├── cl_dx9_media_sharing.h
│ │ │ ├── cl_dx9_media_sharing_intel.h
│ │ │ ├── cl_egl.h
│ │ │ ├── cl_ext.h
│ │ │ ├── cl_ext_intel.h
│ │ │ ├── cl_gl.h
│ │ │ ├── cl_gl_ext.h
│ │ │ ├── cl_platform.h
│ │ │ ├── cl_va_api_media_sharing_intel.h
│ │ │ └── opencl.h
│ │ ├── opencl21
│ │ └── CL
│ │ │ ├── cl.h
│ │ │ ├── cl_d3d10.h
│ │ │ ├── cl_d3d11.h
│ │ │ ├── cl_dx9_media_sharing.h
│ │ │ ├── cl_dx9_media_sharing_intel.h
│ │ │ ├── cl_egl.h
│ │ │ ├── cl_ext.h
│ │ │ ├── cl_ext_intel.h
│ │ │ ├── cl_gl.h
│ │ │ ├── cl_gl_ext.h
│ │ │ ├── cl_platform.h
│ │ │ ├── cl_va_api_media_sharing_intel.h
│ │ │ └── opencl.h
│ │ └── opencl22
│ │ └── CL
│ │ ├── cl.h
│ │ ├── cl_d3d10.h
│ │ ├── cl_d3d11.h
│ │ ├── cl_dx9_media_sharing.h
│ │ ├── cl_dx9_media_sharing_intel.h
│ │ ├── cl_egl.h
│ │ ├── cl_ext.h
│ │ ├── cl_ext_intel.h
│ │ ├── cl_gl.h
│ │ ├── cl_gl_ext.h
│ │ ├── cl_platform.h
│ │ ├── cl_va_api_media_sharing_intel.h
│ │ └── opencl.h
├── opengl
│ ├── glxext.h
│ ├── opengl44_core.h
│ ├── opengl45_core.h
│ ├── opengl46_core.h
│ ├── origin
│ │ ├── glcorearb44.h
│ │ ├── glcorearb45.h
│ │ └── glcorearb46.h
│ └── wglext.h
├── opengles
│ ├── opengles32.h
│ └── origin
│ │ ├── gl32.h
│ │ └── gl3platform.h
└── vulkan
│ ├── gen_vulkan_1.h
│ ├── gen_vulkan_1_and.h
│ ├── gen_vulkan_1_mir.h
│ ├── gen_vulkan_1_wayland.h
│ ├── gen_vulkan_1_win.h
│ ├── gen_vulkan_1_xcb.h
│ ├── gen_vulkan_1_xlib.h
│ ├── origin
│ ├── vk_icd.h
│ ├── vk_layer.h
│ ├── vk_platform.h
│ ├── vk_sdk_platform.h
│ ├── vulkan.h
│ ├── vulkan_android.h
│ ├── vulkan_core.h
│ ├── vulkan_ios.h
│ ├── vulkan_macos.h
│ ├── vulkan_mir.h
│ ├── vulkan_vi.h
│ ├── vulkan_wayland.h
│ ├── vulkan_win32.h
│ ├── vulkan_xcb.h
│ ├── vulkan_xlib.h
│ └── vulkan_xlib_xrandr.h
│ └── vulkan_api_1.h
├── LICENSE
├── Projects
└── ShaderEditor
│ ├── CMakeLists.txt
│ ├── Common.h
│ ├── Pipelines
│ ├── DrawTexturedQuad.ppln
│ ├── Experimental.ppln
│ ├── Glowballs.ppln
│ ├── ShaderToy.tmpl
│ ├── ShaderToyComp.tmpl
│ ├── SirenianDawn1.ppln
│ ├── SirenianDawn2.ppln
│ ├── Skyline.ppln
│ ├── VoronnoiRecursion.ppln
│ ├── all_pipelines.h
│ ├── drawtexturedquad.cpp
│ ├── experimental.cpp
│ ├── glowballs.cpp
│ ├── shared_types.h
│ ├── sireniandawn1.cpp
│ ├── sireniandawn2.cpp
│ ├── skyline.cpp
│ └── voronnoirecursion.cpp
│ ├── README.md
│ ├── Renderer.cpp
│ ├── Renderer.h
│ ├── ShaderEditorApp.cpp
│ ├── ShaderEditorApp.h
│ ├── ShaderEditorApp_Samples.cpp
│ ├── images
│ ├── greynoise.cpp
│ ├── vfs_images_main.cpp
│ └── vfs_images_main.h
│ ├── res
│ ├── greynoise.png
│ └── old
│ │ ├── img.png
│ │ └── img1.png
│ └── resources.as
├── README.md
└── Utils
├── CMake
├── Builder
│ ├── CMakeBuilder.cpp
│ ├── CMakeBuilder.h
│ ├── CMakeBuilder_Compiler.cpp
│ ├── CMakeBuilder_ExternalProjects.cpp
│ ├── CMakeBuilder_Project.cpp
│ ├── ClangConstants.h
│ ├── GccConstants.h
│ └── MSVisualStudioConstants.h
└── Proj
│ ├── GenCompilers.cpp
│ ├── GenCore.cpp
│ ├── GenEngine.cpp
│ ├── GenShaderEditor.cpp
│ ├── GenUtils.cpp
│ ├── Main.cpp
│ └── PipelineBuilding.h
└── CMakeLists.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | *.obj
2 | *.tlog
3 | *.lib
4 | *.ilk
5 | *.log
6 | *.pdb
7 | *.exe
8 | *.db
9 | *.suo
10 | *.html
11 | *.db-wal
12 | *.db-shm
13 | *.opendb
14 | *.ipch
15 | *.idb
16 | *.exp
17 | *.tmp
18 | *.dll
19 | *.iobj
20 | *.ipdb
21 | /build
22 | /Tests/PipelineCompiler/out
23 | /External/FreeImage
24 | /External/glm
25 | /External/OculusSDK
--------------------------------------------------------------------------------
/Android/.gitignore:
--------------------------------------------------------------------------------
1 | *.idea
2 | *.iml
3 | .gradle
4 | /local.properties
5 | /.idea/workspace.xml
6 | /.idea/libraries
7 | .DS_Store
8 | /build
9 | /captures
10 | .externalNativeBuild
11 |
--------------------------------------------------------------------------------
/Android/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/Android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/user/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/Android/app/src/main/java/mgf/android/GXActivity.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) Zhirnov Andrey. For more information see 'LICENSE.txt'
2 | /*
3 | */
4 |
5 | package mgf.android;
6 |
7 | import android.app.NativeActivity;
8 | import android.content.Intent;
9 | import android.os.Bundle;
10 | import android.util.Log;
11 | import android.view.KeyEvent;
12 |
13 | public class GXActivity extends NativeActivity {
14 |
15 | static {
16 | System.loadLibrary( "ModularGraphicsFramework" );
17 | }
18 |
19 |
20 | public GXActivity() {
21 | super();
22 | }
23 |
24 | @Override
25 | public void onCreate(Bundle savedInstanceState) {
26 | super.onCreate(savedInstanceState);
27 | }
28 |
29 | @Override
30 | public void onStart() {
31 | super.onStart();
32 | }
33 |
34 | @Override
35 | public void onDestroy() {
36 | super.onDestroy();
37 | }
38 |
39 | @Override
40 | public boolean dispatchKeyEvent(KeyEvent event) {
41 |
42 | return super.dispatchKeyEvent(event);
43 | }
44 |
45 | @Override
46 | protected void onActivityResult(int requestCode, int resultCode, Intent data) {
47 | super.onActivityResult(requestCode, resultCode, data);
48 | }
49 |
50 | @Override
51 | public void onStop() {
52 | super.onStop();
53 | }
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/Android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azhirnov/ModularGraphicsFramework/348be601f1991f102defa0c99250529f5e44c4d3/Android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azhirnov/ModularGraphicsFramework/348be601f1991f102defa0c99250529f5e44c4d3/Android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azhirnov/ModularGraphicsFramework/348be601f1991f102defa0c99250529f5e44c4d3/Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azhirnov/ModularGraphicsFramework/348be601f1991f102defa0c99250529f5e44c4d3/Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azhirnov/ModularGraphicsFramework/348be601f1991f102defa0c99250529f5e44c4d3/Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ModularGraphicsFramework Android Sample
3 |
4 |
--------------------------------------------------------------------------------
/Android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | google()
7 | }
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.1.0'
10 |
11 | // NOTE: Do not place your application dependencies here; they belong
12 | // in the individual module build.gradle files
13 | }
14 | }
15 |
16 | allprojects {
17 | repositories {
18 | jcenter()
19 | flatDir {
20 | dirs 'libs'
21 | }
22 | google()
23 | }
24 | }
25 |
26 | task clean(type: Delete) {
27 | delete rootProject.buildDir
28 | }
29 |
--------------------------------------------------------------------------------
/Android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/Android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
--------------------------------------------------------------------------------
/Core/Config/Engine.Version.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) Zhirnov Andrey. For more information see 'LICENSE.txt'
2 |
3 | #pragma once
4 |
5 | namespace Engine
6 | {
7 | static const char ENGINE_NAME[] = "ModularGraphicsFramework";
8 | static const char ENGINE_BUILD_DATE[] = __DATE__ " " __TIME__;
9 | static const int _ENGINE_VERSION_MAJ = 0;
10 | static const int _ENGINE_VERSION_MIN = 300;
11 | static const int ENGINE_VERSION = _ENGINE_VERSION_MAJ * 1000 + _ENGINE_VERSION_MIN;
12 |
13 |
14 | } // Engine
--------------------------------------------------------------------------------
/Core/Config/Main.cpp:
--------------------------------------------------------------------------------
1 | // empty file to create lib
--------------------------------------------------------------------------------
/Core/Physics/Algorithms/AcceleratedMotion.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) Zhirnov Andrey. For more information see 'LICENSE.txt'
2 |
3 | #pragma once
4 |
5 | #include "Core/Physics/Dimensions/PhysicsValueMath.h"
6 | #include "Core/Physics/CompileTime/PhysTypeInfo.h"
7 | #include "Core/Physics/CompileTime/GenType.h"
8 |
9 | namespace GXPhysics
10 | {
11 |
12 | /*
13 | =================================================
14 | UniformlyAcceleratedMotion
15 | =================================================
16 | */
17 | template
18 | inline void UniformlyAcceleratedMotion (INOUT Pos &pos, INOUT Vel &vel, const Accel accel, const Time dt)
19 | {
20 | STATIC_ASSERT( IsTimeUnits