├── .editorconfig
├── .github
└── workflows
│ ├── ci_android.yml
│ ├── ci_ios.yml
│ ├── ci_linux.yml
│ ├── ci_macos.yml
│ ├── ci_unity.yml
│ ├── ci_uwp.yml
│ ├── ci_wasm.yml
│ └── ci_windows.yml
├── .gitignore
├── .gitmodules
├── BuildAndroid.sh
├── BuildIOS.command
├── BuildLinux.sh
├── BuildMacOS.command
├── BuildMsys2.sh
├── BuildWasm.sh
├── BuildWin64.bat
├── CMakeLists.txt
├── LICENSE.txt
├── LLGL.natvis
├── README.md
├── RunExamplesLinux.sh
├── RunExamplesMacOS.command
├── RunExamplesWin64.bat
├── appveyor.yml
├── cmake
├── Config.cmake.in
├── FindGaussianLib.cmake
├── FindLLGL.cmake
├── FindMetal.cmake
├── FindMetalKit.cmake
├── FindOpenGLES3.cmake
└── Toolchains
│ ├── Toolchain.UWP-10_0.cmake
│ ├── Toolchain.UWP-8_0.cmake
│ ├── Toolchain.UWP-8_1.cmake
│ └── Toolchain.iOS.cmake
├── docu
├── ChangeLog
│ ├── ChangeLog-v0.02.md
│ ├── ChangeLog-v0.03.md
│ ├── ChangeLog-v0.04.md
│ └── README.md
├── CodingConventions
│ ├── .gitignore
│ ├── Coding Conventions for LLGL.pdf
│ └── Coding Conventions for LLGL.tex
├── GettingStarted
│ ├── .gitignore
│ ├── Getting Started with LLGL.pdf
│ ├── Getting Started with LLGL.tex
│ ├── cmake_mask1.png
│ ├── tut01_mask1a.png
│ └── tut01_mask1b.png
├── Icons
│ ├── Go-Logo_Blue.svg
│ ├── Go-Logo_Blue.svg.copyright.txt
│ ├── android.svg
│ ├── android.svg.license.txt
│ ├── cmake.svg
│ ├── cmake.svg.license.txt
│ ├── ios.svg
│ ├── ios.svg.license.txt
│ ├── linux.svg
│ ├── linux.svg.license.txt
│ ├── macos.svg
│ ├── macos.svg.license.txt
│ ├── uwp.svg
│ ├── uwp.svg.license.txt
│ ├── wasm.svg
│ ├── wasm.svg.license.txt
│ ├── windows.svg
│ └── windows.svg.license.txt
├── LLGL_Logo.pdf
├── LLGL_Logo.png
├── README.md
├── Showcase
│ ├── Showcase_Build_AndroidStudio.png
│ └── Showcase_Build_Wasm.png
├── Tutorials
│ ├── ImGui
│ │ ├── LLGL_ImGui_Example.cpp
│ │ ├── LLGL_ImGui_Example.png
│ │ ├── LLGL_ImGui_Thumbnail.png
│ │ └── README.md
│ └── README.md
├── WebPage
│ ├── .gitattributes
│ ├── Example_Animation
│ │ ├── Example_Animation.data
│ │ ├── Example_Animation.data.js
│ │ ├── Example_Animation.js
│ │ ├── Example_Animation.wasm
│ │ └── index.html
│ ├── Example_Fonts
│ │ ├── Example_Fonts.data
│ │ ├── Example_Fonts.data.js
│ │ ├── Example_Fonts.js
│ │ ├── Example_Fonts.wasm
│ │ └── index.html
│ ├── Example_HelloGame
│ │ ├── Example_HelloGame.data
│ │ ├── Example_HelloGame.data.js
│ │ ├── Example_HelloGame.js
│ │ ├── Example_HelloGame.wasm
│ │ └── index.html
│ ├── Example_PostProcessing
│ │ ├── Example_PostProcessing.data
│ │ ├── Example_PostProcessing.data.js
│ │ ├── Example_PostProcessing.js
│ │ ├── Example_PostProcessing.wasm
│ │ └── index.html
│ ├── Example_RenderTarget
│ │ ├── Example_RenderTarget.data
│ │ ├── Example_RenderTarget.data.js
│ │ ├── Example_RenderTarget.js
│ │ ├── Example_RenderTarget.wasm
│ │ └── index.html
│ ├── Example_ShadowMapping
│ │ ├── Example_ShadowMapping.data
│ │ ├── Example_ShadowMapping.data.js
│ │ ├── Example_ShadowMapping.js
│ │ ├── Example_ShadowMapping.wasm
│ │ └── index.html
│ ├── Example_StencilBuffer
│ │ ├── Example_StencilBuffer.data
│ │ ├── Example_StencilBuffer.data.js
│ │ ├── Example_StencilBuffer.js
│ │ ├── Example_StencilBuffer.wasm
│ │ └── index.html
│ ├── Example_Texturing
│ │ ├── Example_Texturing.data
│ │ ├── Example_Texturing.data.js
│ │ ├── Example_Texturing.js
│ │ ├── Example_Texturing.wasm
│ │ └── index.html
│ └── index.html
├── Wrappers
│ └── README.md
└── refman.pdf
├── examples
├── C99
│ ├── CMakeLists.txt
│ ├── ExampleBase
│ │ ├── ExampleBase.c
│ │ ├── ExampleBase.h
│ │ ├── FileUtils.c
│ │ └── FileUtils.h
│ ├── HelloTriangle
│ │ ├── HelloTriangle.c
│ │ ├── HelloTriangle.frag
│ │ ├── HelloTriangle.png
│ │ └── HelloTriangle.vert
│ ├── Offscreen
│ │ ├── Offscreen.c
│ │ ├── Offscreen.frag
│ │ ├── Offscreen.png
│ │ └── Offscreen.vert
│ ├── README.md
│ └── Texturing
│ │ ├── Texturing.assets.txt
│ │ ├── Texturing.c
│ │ ├── Texturing.frag
│ │ ├── Texturing.png
│ │ └── Texturing.vert
├── CMakeLists.txt
├── CSharp
│ ├── CMakeLists.txt
│ ├── ExampleBase
│ │ └── ExampleBase.cs
│ ├── HelloTriangle
│ │ ├── HelloTriangle.cs
│ │ └── HelloTriangle.png
│ └── Texturing
│ │ ├── Texturing.cs
│ │ └── Texturing.png
├── Cpp
│ ├── Animation
│ │ ├── Animation.assets.txt
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.gif
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ └── Example.vert
│ ├── CMakeLists.txt
│ ├── ClothPhysics
│ │ ├── ClothPhysics.assets.txt
│ │ ├── Example.CSForces.450core.comp
│ │ ├── Example.CSForces.450core.comp.spv
│ │ ├── Example.CSForces.comp
│ │ ├── Example.CSRelaxation.450core.comp
│ │ ├── Example.CSRelaxation.450core.comp.spv
│ │ ├── Example.CSRelaxation.comp
│ │ ├── Example.CSStretchConstraints.450core.comp
│ │ ├── Example.CSStretchConstraints.450core.comp.spv
│ │ ├── Example.CSStretchConstraints.comp
│ │ ├── Example.PS.450core.frag
│ │ ├── Example.PS.450core.frag.spv
│ │ ├── Example.PS.frag
│ │ ├── Example.VS.450core.vert
│ │ ├── Example.VS.450core.vert.spv
│ │ ├── Example.VS.vert
│ │ ├── Example.cpp
│ │ ├── Example.gif
│ │ ├── Example.hlsl
│ │ ├── Example.iOS.png
│ │ └── Example.metal
│ ├── CompileAllGlslExamplesToSpirv.bat
│ ├── ExampleBase
│ │ ├── DDSImageReader.cpp
│ │ ├── DDSImageReader.h
│ │ ├── ExampleBase.cpp
│ │ ├── ExampleBase.h
│ │ ├── FileUtils.cpp
│ │ ├── FileUtils.h
│ │ ├── GeometryUtils.cpp
│ │ ├── GeometryUtils.h
│ │ ├── ImageReader.cpp
│ │ ├── ImageReader.h
│ │ ├── PerlinNoise.cpp
│ │ ├── PerlinNoise.h
│ │ ├── Stopwatch.cpp
│ │ └── Stopwatch.h
│ ├── Fonts
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.iOS.png
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── Fonts.assets.txt
│ ├── HelloGame
│ │ ├── HelloGame.Android.png
│ │ ├── HelloGame.PSGround.300es.frag
│ │ ├── HelloGame.PSGround.450core.frag
│ │ ├── HelloGame.PSGround.450core.frag.spv
│ │ ├── HelloGame.PSInstance.300es.frag
│ │ ├── HelloGame.PSInstance.450core.frag
│ │ ├── HelloGame.PSInstance.450core.frag.spv
│ │ ├── HelloGame.VSGround.300es.vert
│ │ ├── HelloGame.VSGround.450core.vert
│ │ ├── HelloGame.VSGround.450core.vert.spv
│ │ ├── HelloGame.VSInstance.300es.vert
│ │ ├── HelloGame.VSInstance.450core.vert
│ │ ├── HelloGame.VSInstance.450core.vert.spv
│ │ ├── HelloGame.assets.txt
│ │ ├── HelloGame.cpp
│ │ ├── HelloGame.gif
│ │ ├── HelloGame.hlsl
│ │ ├── HelloGame.levels.txt
│ │ ├── HelloGame.metal
│ │ └── HelloGame.png
│ ├── HelloTriangle
│ │ ├── Example.120.frag
│ │ ├── Example.120.vert
│ │ ├── Example.140core.frag
│ │ ├── Example.140core.vert
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.Android.png
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── README.md
│ ├── HelloUWP
│ │ ├── HelloUWP.Example.PS.dxbc
│ │ ├── HelloUWP.Example.VS.dxbc
│ │ ├── HelloUWP.Example.cpp
│ │ └── HelloUWP.Example.hlsl
│ ├── IndirectDraw
│ │ ├── Example.comp
│ │ ├── Example.comp.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.frag.spv
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── Example.vert.spv
│ ├── Instancing
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── Instancing.assets.txt
│ ├── MultiContext
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.geom
│ │ ├── Example.450core.geom.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.geom
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ └── Example.vert
│ ├── MultiRenderer
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── MultiRenderer.assets.txt
│ ├── MultiThreading
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ └── Example.vert
│ ├── PBR
│ │ ├── Example.Mesh.450core.frag
│ │ ├── Example.Mesh.450core.frag.spv
│ │ ├── Example.Mesh.450core.vert
│ │ ├── Example.Mesh.450core.vert.spv
│ │ ├── Example.Mesh.frag
│ │ ├── Example.Mesh.vert
│ │ ├── Example.Sky.450core.frag
│ │ ├── Example.Sky.450core.frag.spv
│ │ ├── Example.Sky.450core.vert
│ │ ├── Example.Sky.450core.vert.spv
│ │ ├── Example.Sky.frag
│ │ ├── Example.Sky.vert
│ │ ├── Example.cpp
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ └── PBR.assets.txt
│ ├── PostProcessing
│ │ ├── Blur.450core.frag
│ │ ├── Blur.450core.frag.spv
│ │ ├── Blur.frag
│ │ ├── Example.cpp
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Final.450core.frag
│ │ ├── Final.450core.frag.spv
│ │ ├── Final.frag
│ │ ├── PostProcess.450core.vert
│ │ ├── PostProcess.450core.vert.spv
│ │ ├── PostProcess.vert
│ │ ├── PostProcessing.assets.txt
│ │ ├── Scene.450core.frag
│ │ ├── Scene.450core.frag.spv
│ │ ├── Scene.450core.vert
│ │ ├── Scene.450core.vert.spv
│ │ ├── Scene.frag
│ │ └── Scene.vert
│ ├── Queries
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── Queries.assets.txt
│ ├── README.md
│ ├── RenderTarget
│ │ ├── .gitignore
│ │ ├── Example.410core.frag
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── RenderTarget.assets.txt
│ ├── ResourceBinding
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.vert
│ │ └── ResourceBinding.assets.txt
│ ├── ShadowMapping
│ │ ├── Example.cpp
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Scene.450core.frag
│ │ ├── Scene.450core.frag.spv
│ │ ├── Scene.450core.vert
│ │ ├── Scene.450core.vert.spv
│ │ ├── Scene.frag
│ │ ├── Scene.vert
│ │ ├── ShadowMap.450core.vert
│ │ ├── ShadowMap.450core.vert.spv
│ │ ├── ShadowMap.vert
│ │ └── ShadowMapping.assets.txt
│ ├── StencilBuffer
│ │ ├── Example.cpp
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Scene.450core.frag
│ │ ├── Scene.450core.frag.spv
│ │ ├── Scene.450core.vert
│ │ ├── Scene.450core.vert.spv
│ │ ├── Scene.frag
│ │ ├── Scene.vert
│ │ ├── Stencil.450core.vert
│ │ ├── Stencil.450core.vert.spv
│ │ ├── Stencil.vert
│ │ └── StencilBuffer.assets.txt
│ ├── Tessellation
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.tesc
│ │ ├── Example.450core.tesc.spv
│ │ ├── Example.450core.tese
│ │ ├── Example.450core.tese.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.tesc
│ │ ├── Example.tese
│ │ ├── Example.vert
│ │ ├── README.md
│ │ └── Tessellation.assets.txt
│ ├── Texturing
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── Texturing.assets.txt
│ └── VolumeRendering
│ │ ├── Example.450core.frag
│ │ ├── Example.450core.frag.spv
│ │ ├── Example.450core.vert
│ │ ├── Example.450core.vert.spv
│ │ ├── Example.cpp
│ │ ├── Example.frag
│ │ ├── Example.hlsl
│ │ ├── Example.metal
│ │ ├── Example.png
│ │ ├── Example.vert
│ │ └── VolumeRendering.assets.txt
├── Go
│ ├── HelloTriangle
│ │ └── HelloTriangle.go
│ └── README.md
└── Shared
│ ├── Assets
│ ├── Fonts
│ │ ├── Black.LICENSE.txt
│ │ ├── Black.atlas-23.map
│ │ ├── Black.atlas-23.png
│ │ ├── Black.atlas-50.map
│ │ ├── Black.atlas-50.png
│ │ ├── Tuffy.LICENSE.txt
│ │ ├── Tuffy.atlas-12.map
│ │ ├── Tuffy.atlas-12.png
│ │ ├── Tuffy.atlas-23.map
│ │ └── Tuffy.atlas-23.png
│ ├── Models
│ │ ├── HelloGame_Block.obj
│ │ ├── HelloGame_Ground.obj
│ │ ├── HelloGame_Player.obj
│ │ ├── HelloGame_Tree.obj
│ │ ├── IcoSphere.obj
│ │ ├── PenroseStairs-Bottom.obj
│ │ ├── PenroseStairs-Top.obj
│ │ ├── Portal-Scene.obj
│ │ ├── Portal-Stencil.obj
│ │ ├── Pyramid.obj
│ │ ├── SimpleRoom.obj
│ │ ├── Suzanne.obj
│ │ ├── UVCube2x.obj
│ │ ├── UVSphere.obj
│ │ └── WiredBox.obj
│ └── Textures
│ │ ├── Crate-DXT1-MipMapped.dds
│ │ ├── Crate-DXT1-NoMipMaps.dds
│ │ ├── Crate.jpg
│ │ ├── Grass.jpg
│ │ ├── Logo_Direct3D11.png
│ │ ├── Logo_Direct3D12.png
│ │ ├── Logo_LLGL.png
│ │ ├── Logo_Metal.png
│ │ ├── Logo_OpenGL.png
│ │ ├── Logo_Vulkan.png
│ │ ├── PBR
│ │ ├── Metal04
│ │ │ ├── LICENSE.txt
│ │ │ ├── Metal04_col.jpg
│ │ │ ├── Metal04_met.jpg
│ │ │ ├── Metal04_nrm.jpg
│ │ │ └── Metal04_rgh.jpg
│ │ ├── Tiles22
│ │ │ ├── LICENSE.txt
│ │ │ ├── Tiles22_col.jpg
│ │ │ ├── Tiles22_nrm.jpg
│ │ │ └── Tiles22_rgh.jpg
│ │ ├── Tiles26
│ │ │ ├── LICENSE.txt
│ │ │ ├── Tiles26_col.jpg
│ │ │ ├── Tiles26_nrm.jpg
│ │ │ └── Tiles26_rgh.jpg
│ │ ├── Wood13
│ │ │ ├── LICENSE.txt
│ │ │ ├── Wood13_col.jpg
│ │ │ ├── Wood13_nrm.jpg
│ │ │ └── Wood13_rgh.jpg
│ │ ├── mp_alpha
│ │ │ ├── alpha-island_bk.tga
│ │ │ ├── alpha-island_dn.tga
│ │ │ ├── alpha-island_ft.tga
│ │ │ ├── alpha-island_lf.tga
│ │ │ ├── alpha-island_rt.tga
│ │ │ ├── alpha-island_up.tga
│ │ │ └── license.txt
│ │ ├── mp_hanging
│ │ │ ├── hangingstone_bk.tga
│ │ │ ├── hangingstone_dn.tga
│ │ │ ├── hangingstone_ft.tga
│ │ │ ├── hangingstone_lf.tga
│ │ │ ├── hangingstone_rt.tga
│ │ │ ├── hangingstone_up.tga
│ │ │ └── license.txt
│ │ ├── mp_vr
│ │ │ ├── license.txt
│ │ │ ├── vr_bk.tga
│ │ │ ├── vr_dn.tga
│ │ │ ├── vr_ft.tga
│ │ │ ├── vr_lf.tga
│ │ │ ├── vr_rt.tga
│ │ │ └── vr_up.tga
│ │ └── rocks
│ │ │ ├── gray_rocks.license.txt
│ │ │ ├── gray_rocks_diff_1k.jpg
│ │ │ ├── gray_rocks_disp_1k.png
│ │ │ ├── gray_rocks_nor_gl_1k.png
│ │ │ └── gray_rocks_spec_1k.jpg
│ │ ├── Plants_0.png
│ │ ├── Plants_1.png
│ │ ├── Plants_2.png
│ │ ├── Plants_3.png
│ │ ├── Plants_4.png
│ │ ├── Plants_5.png
│ │ ├── Plants_6.png
│ │ ├── Plants_7.png
│ │ ├── Plants_8.png
│ │ ├── Plants_9.png
│ │ ├── TEXTURES-LICENSE.txt
│ │ ├── TilesBlue512.jpg
│ │ └── TilesGray512.jpg
│ └── Platform
│ ├── Android
│ ├── AppUtils.c
│ ├── AppUtils.h
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── 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
│ │ │ └── strings.xml
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
│ ├── Wasm
│ └── index.html
│ ├── iOS
│ ├── AppDelegate.h
│ ├── AppDelegate.mm
│ ├── AppIcon.png
│ ├── AppMain.m
│ ├── AppUtils.h
│ ├── AppUtils.mm
│ ├── IOSBundleInfo.plist.in
│ └── LaunchScreen.storyboard
│ └── macOS
│ ├── AppIcon.icns
│ ├── AppUtils.h
│ ├── AppUtils.mm
│ └── MacOSXBundleInfo.plist.in
├── external
├── OpenGL
│ └── include
│ │ └── GL
│ │ ├── glext.h
│ │ └── wglext.h
├── README.md
└── stb
│ ├── stb_image.h
│ └── stb_image_write.h
├── include
├── LLGL-C
│ ├── Buffer.h
│ ├── BufferArray.h
│ ├── Canvas.h
│ ├── CommandBuffer.h
│ ├── CommandQueue.h
│ ├── Display.h
│ ├── Export.h
│ ├── FlagsAndDescriptors.h
│ ├── LLGL.h
│ ├── LLGLWrapper.h
│ ├── Log.h
│ ├── PipelineCache.h
│ ├── PipelineLayout.h
│ ├── PipelineState.h
│ ├── QueryHeap.h
│ ├── RenderSystem.h
│ ├── RenderSystemChild.h
│ ├── RenderTarget.h
│ ├── RenderingDebugger.h
│ ├── Report.h
│ ├── Resource.h
│ ├── ResourceHeap.h
│ ├── Shader.h
│ ├── Surface.h
│ ├── SwapChain.h
│ ├── Texture.h
│ ├── Timer.h
│ ├── TypeNames.h
│ ├── Types.h
│ └── Window.h
├── LLGL
│ ├── Backend
│ │ ├── Buffer.inl
│ │ ├── Canvas.inl
│ │ ├── CommandBuffer.Blitting.inl
│ │ ├── CommandBuffer.Compute.inl
│ │ ├── CommandBuffer.Debugging.inl
│ │ ├── CommandBuffer.Drawing.inl
│ │ ├── CommandBuffer.Encoding.inl
│ │ ├── CommandBuffer.Extensions.inl
│ │ ├── CommandBuffer.InputAssembly.inl
│ │ ├── CommandBuffer.PipelineStates.inl
│ │ ├── CommandBuffer.Queries.inl
│ │ ├── CommandBuffer.RenderPasses.inl
│ │ ├── CommandBuffer.Resources.inl
│ │ ├── CommandBuffer.StreamOutput.inl
│ │ ├── CommandBuffer.ViewportsAndScissors.inl
│ │ ├── CommandBuffer.inl
│ │ ├── CommandQueue.inl
│ │ ├── Direct3D11
│ │ │ └── NativeHandle.h
│ │ ├── Direct3D12
│ │ │ └── NativeHandle.h
│ │ ├── Metal
│ │ │ ├── NativeCommand.h
│ │ │ └── NativeHandle.h
│ │ ├── OpenGL
│ │ │ ├── Android
│ │ │ │ └── AndroidNativeHandle.h
│ │ │ ├── IOS
│ │ │ │ └── IOSNativeHandle.h
│ │ │ ├── Linux
│ │ │ │ └── LinuxNativeHandle.h
│ │ │ ├── MacOS
│ │ │ │ └── MacOSNativeHandle.h
│ │ │ ├── NativeCommand.h
│ │ │ ├── NativeHandle.h
│ │ │ ├── Wasm
│ │ │ │ └── WasmNativeHandle.h
│ │ │ └── Win32
│ │ │ │ └── Win32NativeHandle.h
│ │ ├── PipelineLayout.inl
│ │ ├── README.md
│ │ ├── RenderSystem.Buffer.inl
│ │ ├── RenderSystem.CommandBuffer.inl
│ │ ├── RenderSystem.CommandQueue.inl
│ │ ├── RenderSystem.Extensions.inl
│ │ ├── RenderSystem.Fence.inl
│ │ ├── RenderSystem.Internal.inl
│ │ ├── RenderSystem.PipelineCache.inl
│ │ ├── RenderSystem.PipelineLayout.inl
│ │ ├── RenderSystem.PipelineState.inl
│ │ ├── RenderSystem.QueryHeap.inl
│ │ ├── RenderSystem.RenderPass.inl
│ │ ├── RenderSystem.RenderTarget.inl
│ │ ├── RenderSystem.ResourceHeap.inl
│ │ ├── RenderSystem.Sampler.inl
│ │ ├── RenderSystem.Shader.inl
│ │ ├── RenderSystem.SwapChain.inl
│ │ ├── RenderSystem.Texture.inl
│ │ ├── RenderSystem.inl
│ │ ├── RenderTarget.inl
│ │ ├── Sampler.inl
│ │ ├── Shader.inl
│ │ ├── SwapChain.inl
│ │ ├── Texture.inl
│ │ ├── Vulkan
│ │ │ └── NativeHandle.h
│ │ └── Window.inl
│ ├── Blob.h
│ ├── Buffer.h
│ ├── BufferArray.h
│ ├── BufferFlags.h
│ ├── Canvas.h
│ ├── CanvasFlags.h
│ ├── CommandBuffer.h
│ ├── CommandBufferFlags.h
│ ├── CommandQueue.h
│ ├── Constants.h
│ ├── Container
│ │ ├── AlignedArray.h
│ │ ├── ArrayView.h
│ │ ├── DynamicArray.h
│ │ ├── DynamicVector.h
│ │ ├── Memory.h
│ │ ├── SmallVector.h
│ │ ├── StringLiteral.h
│ │ ├── StringView.h
│ │ ├── Strings.h
│ │ └── UTF8String.h
│ ├── Deprecated.h
│ ├── Display.h
│ ├── DisplayFlags.h
│ ├── Export.h
│ ├── Fence.h
│ ├── Format.h
│ ├── ForwardDecls.h
│ ├── FragmentAttribute.h
│ ├── ImageFlags.h
│ ├── IndirectArguments.h
│ ├── Interface.h
│ ├── InterfaceID.h
│ ├── Key.h
│ ├── LLGL.h
│ ├── Log.h
│ ├── NonCopyable.h
│ ├── PipelineCache.h
│ ├── PipelineLayout.h
│ ├── PipelineLayoutFlags.h
│ ├── PipelineState.h
│ ├── PipelineStateFlags.h
│ ├── Platform
│ │ ├── Android
│ │ │ └── AndroidNativeHandle.h
│ │ ├── IOS
│ │ │ └── IOSNativeHandle.h
│ │ ├── Linux
│ │ │ └── LinuxNativeHandle.h
│ │ ├── MacOS
│ │ │ └── MacOSNativeHandle.h
│ │ ├── NativeHandle.h
│ │ ├── Platform.h
│ │ ├── UWP
│ │ │ └── UWPNativeHandle.h
│ │ ├── Wasm
│ │ │ └── WasmNativeHandle.h
│ │ └── Win32
│ │ │ └── Win32NativeHandle.h
│ ├── QueryHeap.h
│ ├── QueryHeapFlags.h
│ ├── RenderPass.h
│ ├── RenderPassFlags.h
│ ├── RenderSystem.h
│ ├── RenderSystemChild.h
│ ├── RenderSystemFlags.h
│ ├── RenderTarget.h
│ ├── RenderTargetFlags.h
│ ├── RendererConfiguration.h
│ ├── RenderingDebugger.h
│ ├── RenderingDebuggerFlags.h
│ ├── RenderingProfiler.h
│ ├── Report.h
│ ├── Resource.h
│ ├── ResourceFlags.h
│ ├── ResourceHeap.h
│ ├── ResourceHeapFlags.h
│ ├── Sampler.h
│ ├── SamplerFlags.h
│ ├── Shader.h
│ ├── ShaderFlags.h
│ ├── ShaderReflection.h
│ ├── StaticLimits.h
│ ├── Surface.h
│ ├── SwapChain.h
│ ├── SwapChainFlags.h
│ ├── SystemValue.h
│ ├── Tags.h
│ ├── Texture.h
│ ├── TextureFlags.h
│ ├── Timer.h
│ ├── Trap.h
│ ├── TypeInfo.h
│ ├── Types.h
│ ├── Utils
│ │ ├── Color.h
│ │ ├── ColorRGB.h
│ │ ├── ColorRGBA.h
│ │ ├── ForRange.h
│ │ ├── Image.h
│ │ ├── Input.h
│ │ ├── Parse.h
│ │ ├── TypeNames.h
│ │ ├── Utility.h
│ │ └── VertexFormat.h
│ ├── Version.h
│ ├── VertexAttribute.h
│ ├── VideoAdapter.h
│ ├── Window.h
│ └── WindowFlags.h
└── README.md
├── index.html
├── scripts
├── .gitignore
├── CompileGlslToSpirv.bat
├── CompileMetalToMetallib.sh
├── GenerateFontAtlas.py
├── GenerateHTML5Examples.sh
├── GenerateWrappers.bat
├── ListMissingPackages.sh
├── ReadFileAsHexString.py
├── ReadFileAsHexStringDecl.bat
├── ReadFileAsHexStringDecl.sh
└── WrapperGen
│ ├── __main__.py
│ ├── llgl_module.py
│ ├── llgl_parser.py
│ ├── llgl_translator.py
│ ├── llgl_translator_c99.py
│ ├── llgl_translator_csharp.py
│ └── llgl_translator_golang.py
├── sources
├── Core
│ ├── Assertion.h
│ ├── BCDecompressor.cpp
│ ├── BCDecompressor.h
│ ├── Barrier.cpp
│ ├── Barrier.h
│ ├── Blob.cpp
│ ├── ByteBufferIterator.h
│ ├── CompilerExtensions.h
│ ├── CoreUtils.h
│ ├── Exception.cpp
│ ├── Exception.h
│ ├── FieldIterator.h
│ ├── Float16Compressor.cpp
│ ├── Float16Compressor.h
│ ├── Image.cpp
│ ├── ImageFlags.cpp
│ ├── ImageUtils.cpp
│ ├── ImageUtils.h
│ ├── Input.cpp
│ ├── Interface.cpp
│ ├── LinearStringContainer.h
│ ├── Log.cpp
│ ├── MacroUtils.h
│ ├── PackStructPop.inl
│ ├── PackStructPush.inl
│ ├── PackedPermutation.h
│ ├── Parse.cpp
│ ├── PrintfUtils.h
│ ├── Report.cpp
│ ├── ReportUtils.h
│ ├── SparseForwardIterator.h
│ ├── StringUtils.cpp
│ ├── StringUtils.h
│ ├── Threading.cpp
│ ├── Threading.h
│ ├── TypeNames.cpp
│ ├── Types.cpp
│ ├── UTF8String.cpp
│ ├── Utility.cpp
│ ├── Vendor.cpp
│ ├── Vendor.h
│ ├── Version.cpp
│ └── VersionMacros.h
├── Platform
│ ├── Android
│ │ ├── AndroidApp.cpp
│ │ ├── AndroidApp.h
│ │ ├── AndroidCanvas.cpp
│ │ ├── AndroidCanvas.h
│ │ ├── AndroidConsoleManip.cpp
│ │ ├── AndroidDebug.cpp
│ │ ├── AndroidDebug.h
│ │ ├── AndroidDisplay.cpp
│ │ ├── AndroidDisplay.h
│ │ ├── AndroidInputEventHandler.cpp
│ │ ├── AndroidInputEventHandler.h
│ │ ├── AndroidKeyCodes.cpp
│ │ ├── AndroidKeyCodes.h
│ │ ├── AndroidModule.cpp
│ │ ├── AndroidModule.h
│ │ ├── AndroidPath.cpp
│ │ └── AndroidTimer.cpp
│ ├── Canvas.cpp
│ ├── ConsoleManip.cpp
│ ├── ConsoleManip.h
│ ├── Debug.cpp
│ ├── Debug.h
│ ├── DebugBreakOnError.cpp
│ ├── Display.cpp
│ ├── DisplayFlags.cpp
│ ├── IOS
│ │ ├── IOSCanvas.h
│ │ ├── IOSCanvas.mm
│ │ ├── IOSDebug.h
│ │ ├── IOSDebug.mm
│ │ ├── IOSDisplay.h
│ │ ├── IOSDisplay.mm
│ │ ├── IOSModule.cpp
│ │ ├── IOSModule.h
│ │ ├── IOSPath.mm
│ │ └── IOSTimer.mm
│ ├── Linux
│ │ ├── LinuxDebug.cpp
│ │ ├── LinuxDebug.h
│ │ ├── LinuxDisplay.cpp
│ │ ├── LinuxDisplay.h
│ │ ├── LinuxModule.cpp
│ │ ├── LinuxModule.h
│ │ ├── LinuxPath.cpp
│ │ ├── LinuxTimer.cpp
│ │ ├── LinuxWindow.cpp
│ │ ├── LinuxWindow.h
│ │ ├── MapKey.cpp
│ │ └── MapKey.h
│ ├── MacOS
│ │ ├── MacOSAppDelegate.h
│ │ ├── MacOSAppDelegate.mm
│ │ ├── MacOSCompatibility.h
│ │ ├── MacOSDebug.h
│ │ ├── MacOSDebug.mm
│ │ ├── MacOSDisplay.h
│ │ ├── MacOSDisplay.mm
│ │ ├── MacOSModule.cpp
│ │ ├── MacOSModule.h
│ │ ├── MacOSPath.mm
│ │ ├── MacOSSubviewWindow.h
│ │ ├── MacOSSubviewWindow.mm
│ │ ├── MacOSTimer.mm
│ │ ├── MacOSWindow.h
│ │ ├── MacOSWindow.mm
│ │ ├── MacOSWindowDelegate.h
│ │ ├── MacOSWindowDelegate.mm
│ │ ├── MapKey.cpp
│ │ └── MapKey.h
│ ├── Module.h
│ ├── POSIX
│ │ ├── POSIXConsoleManip.cpp
│ │ └── POSIXDebug.cpp
│ ├── Path.cpp
│ ├── Path.h
│ ├── UWP
│ │ ├── UWPConsoleManip.cpp
│ │ ├── UWPDebug.cpp
│ │ ├── UWPDebug.h
│ │ ├── UWPDisplay.cpp
│ │ ├── UWPDisplay.h
│ │ ├── UWPModule.cpp
│ │ ├── UWPModule.h
│ │ ├── UWPPath.cpp
│ │ ├── UWPTimer.cpp
│ │ ├── UWPWindow.cpp
│ │ └── UWPWindow.h
│ ├── Wasm
│ │ ├── WasmCanvas.cpp
│ │ ├── WasmCanvas.h
│ │ ├── WasmConsoleManip.cpp
│ │ ├── WasmDebug.cpp
│ │ ├── WasmDebug.h
│ │ ├── WasmDisplay.cpp
│ │ ├── WasmDisplay.h
│ │ ├── WasmKeyCodes.cpp
│ │ ├── WasmKeyCodes.h
│ │ ├── WasmModule.cpp
│ │ ├── WasmModule.h
│ │ ├── WasmPath.cpp
│ │ └── WasmTimer.cpp
│ ├── Win32
│ │ ├── MapKey.cpp
│ │ ├── MapKey.h
│ │ ├── Win32ConsoleManip.cpp
│ │ ├── Win32ConsoleState.cpp
│ │ ├── Win32ConsoleState.h
│ │ ├── Win32Debug.cpp
│ │ ├── Win32Debug.h
│ │ ├── Win32Display.cpp
│ │ ├── Win32Display.h
│ │ ├── Win32LeanAndMean.h
│ │ ├── Win32Module.cpp
│ │ ├── Win32Module.h
│ │ ├── Win32Path.cpp
│ │ ├── Win32RawInputRegistry.cpp
│ │ ├── Win32RawInputRegistry.h
│ │ ├── Win32Timer.cpp
│ │ ├── Win32Window.cpp
│ │ ├── Win32Window.h
│ │ ├── Win32WindowCallback.cpp
│ │ ├── Win32WindowCallback.h
│ │ ├── Win32WindowClass.cpp
│ │ └── Win32WindowClass.h
│ └── Window.cpp
└── Renderer
│ ├── BindingIterator.cpp
│ ├── BindingIterator.h
│ ├── Buffer.cpp
│ ├── BufferArray.cpp
│ ├── BufferFlags.cpp
│ ├── BufferUtils.cpp
│ ├── BufferUtils.h
│ ├── BuildID.h
│ ├── CheckedCast.h
│ ├── ContainerTypes.h
│ ├── DXCommon
│ ├── CMakeLists.txt
│ ├── ComPtr.h
│ ├── DXC
│ │ ├── DXCInstance.cpp
│ │ └── DXCInstance.h
│ ├── DXCore.cpp
│ ├── DXCore.h
│ ├── DXManagedComPtrArray.h
│ ├── DXShaderReflection.cpp
│ ├── DXShaderReflection.h
│ ├── DXTypes.cpp
│ └── DXTypes.h
│ ├── DebugLayer
│ ├── Buffer
│ │ ├── DbgBuffer.cpp
│ │ ├── DbgBuffer.h
│ │ ├── DbgBufferArray.cpp
│ │ └── DbgBufferArray.h
│ ├── DbgCommandBuffer.cpp
│ ├── DbgCommandBuffer.h
│ ├── DbgCommandQueue.cpp
│ ├── DbgCommandQueue.h
│ ├── DbgCore.h
│ ├── DbgQueryTimerPool.cpp
│ ├── DbgQueryTimerPool.h
│ ├── DbgRenderSystem.cpp
│ ├── DbgRenderSystem.h
│ ├── DbgReportUtils.h
│ ├── DbgSwapChain.cpp
│ ├── DbgSwapChain.h
│ ├── RenderState
│ │ ├── DbgPipelineLayout.cpp
│ │ ├── DbgPipelineLayout.h
│ │ ├── DbgPipelineState.cpp
│ │ ├── DbgPipelineState.h
│ │ ├── DbgQueryHeap.cpp
│ │ ├── DbgQueryHeap.h
│ │ ├── DbgRenderPass.cpp
│ │ ├── DbgRenderPass.h
│ │ ├── DbgResourceHeap.cpp
│ │ └── DbgResourceHeap.h
│ ├── Shader
│ │ ├── DbgShader.cpp
│ │ └── DbgShader.h
│ └── Texture
│ │ ├── DbgRenderTarget.cpp
│ │ ├── DbgRenderTarget.h
│ │ ├── DbgTexture.cpp
│ │ └── DbgTexture.h
│ ├── Direct3D11
│ ├── Buffer
│ │ ├── D3D11Buffer.cpp
│ │ ├── D3D11Buffer.h
│ │ ├── D3D11BufferArray.cpp
│ │ ├── D3D11BufferArray.h
│ │ ├── D3D11BufferWithRV.cpp
│ │ ├── D3D11BufferWithRV.h
│ │ ├── D3D11StagingBuffer.cpp
│ │ ├── D3D11StagingBuffer.h
│ │ ├── D3D11StagingBufferPool.cpp
│ │ └── D3D11StagingBufferPool.h
│ ├── CMakeLists.txt
│ ├── Command
│ │ ├── D3D11Command.h
│ │ ├── D3D11CommandBuffer.cpp
│ │ ├── D3D11CommandBuffer.h
│ │ ├── D3D11CommandContext.cpp
│ │ ├── D3D11CommandContext.h
│ │ ├── D3D11CommandExecutor.cpp
│ │ ├── D3D11CommandExecutor.h
│ │ ├── D3D11CommandOpcode.h
│ │ ├── D3D11CommandQueue.cpp
│ │ ├── D3D11CommandQueue.h
│ │ ├── D3D11PrimaryCommandBuffer.cpp
│ │ ├── D3D11PrimaryCommandBuffer.h
│ │ ├── D3D11SecondaryCommandBuffer.cpp
│ │ └── D3D11SecondaryCommandBuffer.h
│ ├── D3D11ModuleInterface.cpp
│ ├── D3D11ObjectUtils.cpp
│ ├── D3D11ObjectUtils.h
│ ├── D3D11RenderSystem.cpp
│ ├── D3D11RenderSystem.h
│ ├── D3D11ResourceFlags.cpp
│ ├── D3D11ResourceFlags.h
│ ├── D3D11StaticAssertions.cpp
│ ├── D3D11SwapChain.cpp
│ ├── D3D11SwapChain.h
│ ├── D3D11Types.cpp
│ ├── D3D11Types.h
│ ├── Direct3D11.h
│ ├── RenderState
│ │ ├── D3D11BindingLocator.cpp
│ │ ├── D3D11BindingLocator.h
│ │ ├── D3D11BindingTable.cpp
│ │ ├── D3D11BindingTable.h
│ │ ├── D3D11ComputePSO.cpp
│ │ ├── D3D11ComputePSO.h
│ │ ├── D3D11ConstantsCache.cpp
│ │ ├── D3D11ConstantsCache.h
│ │ ├── D3D11Fence.cpp
│ │ ├── D3D11Fence.h
│ │ ├── D3D11GraphicsPSO.cpp
│ │ ├── D3D11GraphicsPSO.h
│ │ ├── D3D11GraphicsPSO1.cpp
│ │ ├── D3D11GraphicsPSO1.h
│ │ ├── D3D11GraphicsPSO3.cpp
│ │ ├── D3D11GraphicsPSO3.h
│ │ ├── D3D11GraphicsPSOBase.cpp
│ │ ├── D3D11GraphicsPSOBase.h
│ │ ├── D3D11PipelineLayout.cpp
│ │ ├── D3D11PipelineLayout.h
│ │ ├── D3D11PipelineState.cpp
│ │ ├── D3D11PipelineState.h
│ │ ├── D3D11QueryHeap.cpp
│ │ ├── D3D11QueryHeap.h
│ │ ├── D3D11RenderPass.cpp
│ │ ├── D3D11RenderPass.h
│ │ ├── D3D11ResourceHeap.cpp
│ │ ├── D3D11ResourceHeap.h
│ │ ├── D3D11ResourceType.h
│ │ ├── D3D11StateManager.cpp
│ │ └── D3D11StateManager.h
│ ├── Shader
│ │ ├── Builtin
│ │ │ ├── Compile.bat
│ │ │ ├── CopyBufferFromTexture.hlsl
│ │ │ ├── CopyBufferFromTextureCS.Dim1D.cso.inl
│ │ │ ├── CopyBufferFromTextureCS.Dim2D.cso.inl
│ │ │ ├── CopyBufferFromTextureCS.Dim3D.cso.inl
│ │ │ ├── CopyTextureBuffer.hlsli
│ │ │ ├── CopyTextureFromBuffer.hlsl
│ │ │ ├── CopyTextureFromBufferCS.Dim1D.cso.inl
│ │ │ ├── CopyTextureFromBufferCS.Dim2D.cso.inl
│ │ │ ├── CopyTextureFromBufferCS.Dim3D.cso.inl
│ │ │ └── D3D11Builtin.h
│ │ ├── D3D11BuiltinShaderFactory.cpp
│ │ ├── D3D11BuiltinShaderFactory.h
│ │ ├── D3D11CommonShader.cpp
│ │ ├── D3D11CommonShader.h
│ │ ├── D3D11DomainShader.cpp
│ │ ├── D3D11DomainShader.h
│ │ ├── D3D11Shader.cpp
│ │ ├── D3D11Shader.h
│ │ ├── D3D11VertexShader.cpp
│ │ └── D3D11VertexShader.h
│ └── Texture
│ │ ├── D3D11MipGenerator.cpp
│ │ ├── D3D11MipGenerator.h
│ │ ├── D3D11RenderTarget.cpp
│ │ ├── D3D11RenderTarget.h
│ │ ├── D3D11RenderTargetHandles.cpp
│ │ ├── D3D11RenderTargetHandles.h
│ │ ├── D3D11Sampler.cpp
│ │ ├── D3D11Sampler.h
│ │ ├── D3D11Texture.cpp
│ │ └── D3D11Texture.h
│ ├── Direct3D12
│ ├── Buffer
│ │ ├── D3D12Buffer.cpp
│ │ ├── D3D12Buffer.h
│ │ ├── D3D12BufferArray.cpp
│ │ ├── D3D12BufferArray.h
│ │ ├── D3D12BufferConstantsPool.cpp
│ │ ├── D3D12BufferConstantsPool.h
│ │ ├── D3D12CPUAccessBuffer.cpp
│ │ ├── D3D12CPUAccessBuffer.h
│ │ ├── D3D12IntermediateBufferPool.cpp
│ │ ├── D3D12IntermediateBufferPool.h
│ │ ├── D3D12StagingBuffer.cpp
│ │ ├── D3D12StagingBuffer.h
│ │ ├── D3D12StagingBufferPool.cpp
│ │ └── D3D12StagingBufferPool.h
│ ├── CMakeLists.txt
│ ├── Command
│ │ ├── D3D12CommandBuffer.cpp
│ │ ├── D3D12CommandBuffer.h
│ │ ├── D3D12CommandContext.cpp
│ │ ├── D3D12CommandContext.h
│ │ ├── D3D12CommandQueue.cpp
│ │ ├── D3D12CommandQueue.h
│ │ ├── D3D12SignatureFactory.cpp
│ │ └── D3D12SignatureFactory.h
│ ├── D3D12Device.cpp
│ ├── D3D12Device.h
│ ├── D3D12ModuleInterface.cpp
│ ├── D3D12ObjectUtils.cpp
│ ├── D3D12ObjectUtils.h
│ ├── D3D12RenderSystem.cpp
│ ├── D3D12RenderSystem.h
│ ├── D3D12Resource.h
│ ├── D3D12SubresourceContext.cpp
│ ├── D3D12SubresourceContext.h
│ ├── D3D12SwapChain.cpp
│ ├── D3D12SwapChain.h
│ ├── D3D12Types.cpp
│ ├── D3D12Types.h
│ ├── D3DX12
│ │ └── d3dx12.h
│ ├── RenderState
│ │ ├── D3D12ComputePSO.cpp
│ │ ├── D3D12ComputePSO.h
│ │ ├── D3D12DescriptorCache.cpp
│ │ ├── D3D12DescriptorCache.h
│ │ ├── D3D12DescriptorHeap.cpp
│ │ ├── D3D12DescriptorHeap.h
│ │ ├── D3D12Fence.cpp
│ │ ├── D3D12Fence.h
│ │ ├── D3D12GraphicsPSO.cpp
│ │ ├── D3D12GraphicsPSO.h
│ │ ├── D3D12PipelineCache.cpp
│ │ ├── D3D12PipelineCache.h
│ │ ├── D3D12PipelineLayout.cpp
│ │ ├── D3D12PipelineLayout.h
│ │ ├── D3D12PipelineState.cpp
│ │ ├── D3D12PipelineState.h
│ │ ├── D3D12QueryHeap.cpp
│ │ ├── D3D12QueryHeap.h
│ │ ├── D3D12RenderPass.cpp
│ │ ├── D3D12RenderPass.h
│ │ ├── D3D12ResourceHeap.cpp
│ │ ├── D3D12ResourceHeap.h
│ │ ├── D3D12StagingDescriptorHeap.cpp
│ │ ├── D3D12StagingDescriptorHeap.h
│ │ ├── D3D12StagingDescriptorHeapPool.cpp
│ │ └── D3D12StagingDescriptorHeapPool.h
│ ├── Shader
│ │ ├── Builtin
│ │ │ ├── Compile.bat
│ │ │ ├── D3D12Builtin.h
│ │ │ ├── GenerateMips.hlsli
│ │ │ ├── GenerateMips1D.hlsl
│ │ │ ├── GenerateMips1DCS.OddX.cso.inl
│ │ │ ├── GenerateMips1DCS.cso.inl
│ │ │ ├── GenerateMips1DCS.sRGB.OddX.cso.inl
│ │ │ ├── GenerateMips1DCS.sRGB.cso.inl
│ │ │ ├── GenerateMips2D.hlsl
│ │ │ ├── GenerateMips2DCS.OddX.cso.inl
│ │ │ ├── GenerateMips2DCS.OddXY.cso.inl
│ │ │ ├── GenerateMips2DCS.OddY.cso.inl
│ │ │ ├── GenerateMips2DCS.cso.inl
│ │ │ ├── GenerateMips2DCS.sRGB.OddX.cso.inl
│ │ │ ├── GenerateMips2DCS.sRGB.OddXY.cso.inl
│ │ │ ├── GenerateMips2DCS.sRGB.OddY.cso.inl
│ │ │ ├── GenerateMips2DCS.sRGB.cso.inl
│ │ │ ├── GenerateMips3D.hlsl
│ │ │ ├── GenerateMips3DCS.OddX.cso.inl
│ │ │ ├── GenerateMips3DCS.OddXY.cso.inl
│ │ │ ├── GenerateMips3DCS.OddXYZ.cso.inl
│ │ │ ├── GenerateMips3DCS.OddXZ.cso.inl
│ │ │ ├── GenerateMips3DCS.OddY.cso.inl
│ │ │ ├── GenerateMips3DCS.OddYZ.cso.inl
│ │ │ ├── GenerateMips3DCS.OddZ.cso.inl
│ │ │ ├── GenerateMips3DCS.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddX.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddXY.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddXYZ.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddXZ.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddY.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddYZ.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.OddZ.cso.inl
│ │ │ ├── GenerateMips3DCS.sRGB.cso.inl
│ │ │ ├── StreamOutputDrawArgs.dxil.inl
│ │ │ └── StreamOutputDrawArgs.hlsl
│ │ ├── D3D12BuiltinShaderFactory.cpp
│ │ ├── D3D12BuiltinShaderFactory.h
│ │ ├── D3D12RootParameter.cpp
│ │ ├── D3D12RootParameter.h
│ │ ├── D3D12RootSignature.cpp
│ │ ├── D3D12RootSignature.h
│ │ ├── D3D12Shader.cpp
│ │ └── D3D12Shader.h
│ └── Texture
│ │ ├── D3D12MipGenerator.cpp
│ │ ├── D3D12MipGenerator.h
│ │ ├── D3D12RenderTarget.cpp
│ │ ├── D3D12RenderTarget.h
│ │ ├── D3D12Sampler.cpp
│ │ ├── D3D12Sampler.h
│ │ ├── D3D12Texture.cpp
│ │ └── D3D12Texture.h
│ ├── DynamicModuleInterface.h
│ ├── Format.cpp
│ ├── Metal
│ ├── Buffer
│ │ ├── MTBuffer.h
│ │ ├── MTBuffer.mm
│ │ ├── MTBufferArray.h
│ │ ├── MTBufferArray.mm
│ │ ├── MTIntermediateBuffer.h
│ │ ├── MTIntermediateBuffer.mm
│ │ ├── MTStagingBuffer.h
│ │ ├── MTStagingBuffer.mm
│ │ ├── MTStagingBufferPool.h
│ │ └── MTStagingBufferPool.mm
│ ├── CMakeLists.txt
│ ├── Command
│ │ ├── MTCommand.h
│ │ ├── MTCommandBuffer.h
│ │ ├── MTCommandBuffer.mm
│ │ ├── MTCommandContext.h
│ │ ├── MTCommandContext.mm
│ │ ├── MTCommandExecutor.h
│ │ ├── MTCommandExecutor.mm
│ │ ├── MTCommandOpcode.h
│ │ ├── MTCommandQueue.h
│ │ ├── MTCommandQueue.mm
│ │ ├── MTDirectCommandBuffer.h
│ │ ├── MTDirectCommandBuffer.mm
│ │ ├── MTMultiSubmitCommandBuffer.h
│ │ └── MTMultiSubmitCommandBuffer.mm
│ ├── MTCore.h
│ ├── MTCore.mm
│ ├── MTDevice.h
│ ├── MTDevice.mm
│ ├── MTFeatureSet.h
│ ├── MTFeatureSet.mm
│ ├── MTModuleInterface.mm
│ ├── MTRenderSystem.h
│ ├── MTRenderSystem.mm
│ ├── MTSwapChain.h
│ ├── MTSwapChain.mm
│ ├── MTTypes.h
│ ├── MTTypes.mm
│ ├── OSXAvailability.h
│ ├── RenderState
│ │ ├── MTBuiltinPSOFactory.h
│ │ ├── MTBuiltinPSOFactory.mm
│ │ ├── MTComputePSO.h
│ │ ├── MTComputePSO.mm
│ │ ├── MTConstantsCache.h
│ │ ├── MTConstantsCache.mm
│ │ ├── MTConstantsCacheLayout.h
│ │ ├── MTConstantsCacheLayout.mm
│ │ ├── MTDescriptorCache.h
│ │ ├── MTDescriptorCache.mm
│ │ ├── MTFence.h
│ │ ├── MTFence.mm
│ │ ├── MTGraphicsPSO.h
│ │ ├── MTGraphicsPSO.mm
│ │ ├── MTPipelineLayout.h
│ │ ├── MTPipelineLayout.mm
│ │ ├── MTPipelineState.h
│ │ ├── MTPipelineState.mm
│ │ ├── MTQueryHeap.h
│ │ ├── MTQueryHeap.mm
│ │ ├── MTRenderPass.h
│ │ ├── MTRenderPass.mm
│ │ ├── MTResourceHeap.h
│ │ └── MTResourceHeap.mm
│ ├── Shader
│ │ ├── Builtin
│ │ │ ├── .gitignore
│ │ │ ├── Compile.command
│ │ │ ├── FillBufferByte4.iphoneos.metallib.bin.inl
│ │ │ ├── FillBufferByte4.iphoneos.metallib.len.inl
│ │ │ ├── FillBufferByte4.iphonesimulator.metallib.bin.inl
│ │ │ ├── FillBufferByte4.iphonesimulator.metallib.len.inl
│ │ │ ├── FillBufferByte4.macosx.metallib.bin.inl
│ │ │ ├── FillBufferByte4.macosx.metallib.len.inl
│ │ │ ├── FillBufferByte4.metal
│ │ │ ├── MTBuiltin.h
│ │ │ └── MTBuiltin.mm
│ │ ├── MTShader.h
│ │ ├── MTShader.mm
│ │ └── MTShaderStage.h
│ └── Texture
│ │ ├── MTRenderTarget.h
│ │ ├── MTRenderTarget.mm
│ │ ├── MTSampler.h
│ │ ├── MTSampler.mm
│ │ ├── MTTexture.h
│ │ └── MTTexture.mm
│ ├── ModuleInterface.h
│ ├── Null
│ ├── Buffer
│ │ ├── NullBuffer.cpp
│ │ ├── NullBuffer.h
│ │ ├── NullBufferArray.cpp
│ │ └── NullBufferArray.h
│ ├── CMakeLists.txt
│ ├── Command
│ │ ├── NullCommand.h
│ │ ├── NullCommandBuffer.cpp
│ │ ├── NullCommandBuffer.h
│ │ ├── NullCommandExecutor.cpp
│ │ ├── NullCommandExecutor.h
│ │ ├── NullCommandOpcode.h
│ │ ├── NullCommandQueue.cpp
│ │ └── NullCommandQueue.h
│ ├── NullModuleInterface.cpp
│ ├── NullRenderSystem.cpp
│ ├── NullRenderSystem.h
│ ├── NullSwapChain.cpp
│ ├── NullSwapChain.h
│ ├── RenderState
│ │ ├── NullFence.cpp
│ │ ├── NullFence.h
│ │ ├── NullPipelineLayout.cpp
│ │ ├── NullPipelineLayout.h
│ │ ├── NullPipelineState.cpp
│ │ ├── NullPipelineState.h
│ │ ├── NullQueryHeap.cpp
│ │ ├── NullQueryHeap.h
│ │ ├── NullRenderPass.cpp
│ │ ├── NullRenderPass.h
│ │ ├── NullResourceHeap.cpp
│ │ └── NullResourceHeap.h
│ ├── Shader
│ │ ├── NullShader.cpp
│ │ └── NullShader.h
│ └── Texture
│ │ ├── NullRenderTarget.cpp
│ │ ├── NullRenderTarget.h
│ │ ├── NullSampler.cpp
│ │ ├── NullSampler.h
│ │ ├── NullTexture.cpp
│ │ └── NullTexture.h
│ ├── OpenGL
│ ├── Buffer
│ │ ├── GL2XSharedContextVertexArray.cpp
│ │ ├── GL2XSharedContextVertexArray.h
│ │ ├── GL3PlusSharedContextVertexArray.cpp
│ │ ├── GL3PlusSharedContextVertexArray.h
│ │ ├── GLBuffer.cpp
│ │ ├── GLBuffer.h
│ │ ├── GLBufferArray.cpp
│ │ ├── GLBufferArray.h
│ │ ├── GLBufferArrayWithVAO.cpp
│ │ ├── GLBufferArrayWithVAO.h
│ │ ├── GLBufferWithVAO.cpp
│ │ ├── GLBufferWithVAO.h
│ │ ├── GLBufferWithXFB.cpp
│ │ ├── GLBufferWithXFB.h
│ │ ├── GLSharedContextVertexArray.h
│ │ ├── GLVertexArrayObject.cpp
│ │ ├── GLVertexArrayObject.h
│ │ ├── GLVertexAttribute.cpp
│ │ └── GLVertexAttribute.h
│ ├── CMakeLists.txt
│ ├── Command
│ │ ├── GLCommand.h
│ │ ├── GLCommandBuffer.cpp
│ │ ├── GLCommandBuffer.h
│ │ ├── GLCommandBuffer.inl
│ │ ├── GLCommandExecutor.cpp
│ │ ├── GLCommandExecutor.h
│ │ ├── GLCommandOpcode.h
│ │ ├── GLCommandQueue.cpp
│ │ ├── GLCommandQueue.h
│ │ ├── GLDeferredCommandBuffer.cpp
│ │ ├── GLDeferredCommandBuffer.h
│ │ ├── GLImmediateCommandBuffer.cpp
│ │ └── GLImmediateCommandBuffer.h
│ ├── Ext
│ │ ├── GLExtensionLoader.h
│ │ ├── GLExtensionRegistry.cpp
│ │ ├── GLExtensionRegistry.h
│ │ └── GLExtensions.h
│ ├── GLCore.cpp
│ ├── GLCore.h
│ ├── GLModuleInterface.cpp
│ ├── GLObjectUtils.cpp
│ ├── GLObjectUtils.h
│ ├── GLRenderSystem.cpp
│ ├── GLRenderSystem.h
│ ├── GLRenderingCaps.h
│ ├── GLStaticAssertions.cpp
│ ├── GLSwapChain.cpp
│ ├── GLSwapChain.h
│ ├── GLTypes.cpp
│ ├── GLTypes.h
│ ├── OpenGL.h
│ ├── Platform
│ │ ├── Android
│ │ │ ├── AndroidGLContext.cpp
│ │ │ ├── AndroidGLContext.h
│ │ │ ├── AndroidGLCore.cpp
│ │ │ ├── AndroidGLCore.h
│ │ │ ├── AndroidGLSwapChainContext.cpp
│ │ │ ├── AndroidGLSwapChainContext.h
│ │ │ ├── AndroidSharedEGLSurface.cpp
│ │ │ └── AndroidSharedEGLSurface.h
│ │ ├── GLContext.cpp
│ │ ├── GLContext.h
│ │ ├── GLContextManager.cpp
│ │ ├── GLContextManager.h
│ │ ├── GLSwapChainContext.cpp
│ │ ├── GLSwapChainContext.h
│ │ ├── IOS
│ │ │ ├── IOSGLContext.h
│ │ │ ├── IOSGLContext.mm
│ │ │ ├── IOSGLSwapChainContext.h
│ │ │ └── IOSGLSwapChainContext.mm
│ │ ├── Linux
│ │ │ ├── LinuxGLContext.cpp
│ │ │ ├── LinuxGLContext.h
│ │ │ ├── LinuxGLContextWayland.cpp
│ │ │ ├── LinuxGLContextWayland.h
│ │ │ ├── LinuxGLContextX11.cpp
│ │ │ ├── LinuxGLContextX11.h
│ │ │ ├── LinuxGLSwapChain.cpp
│ │ │ ├── LinuxGLSwapChainContext.cpp
│ │ │ ├── LinuxGLSwapChainContext.h
│ │ │ ├── LinuxGLSwapChainContextWayland.cpp
│ │ │ ├── LinuxGLSwapChainContextWayland.h
│ │ │ ├── LinuxGLSwapChainContextX11.cpp
│ │ │ └── LinuxGLSwapChainContextX11.h
│ │ ├── MacOS
│ │ │ ├── MacOSGLContext.h
│ │ │ ├── MacOSGLContext.mm
│ │ │ ├── MacOSGLExt.h
│ │ │ ├── MacOSGLSwapChainContext.h
│ │ │ └── MacOSGLSwapChainContext.mm
│ │ ├── Wasm
│ │ │ ├── WasmGLContext.cpp
│ │ │ ├── WasmGLContext.h
│ │ │ ├── WasmGLSwapChainContext.cpp
│ │ │ └── WasmGLSwapChainContext.h
│ │ └── Win32
│ │ │ ├── Win32GLContext.cpp
│ │ │ ├── Win32GLContext.h
│ │ │ ├── Win32GLSwapChainContext.cpp
│ │ │ └── Win32GLSwapChainContext.h
│ ├── Profile
│ │ ├── GLCompat
│ │ │ ├── GLCompatExtensionLoader.cpp
│ │ │ ├── GLCompatExtensionMapping.h
│ │ │ ├── GLCompatExtensions.cpp
│ │ │ ├── GLCompatExtensions.h
│ │ │ ├── GLCompatExtensionsDecl.inl
│ │ │ ├── GLCompatProfile.cpp
│ │ │ ├── GLCompatProfileCaps.cpp
│ │ │ ├── GLCompatProfileTypes.h
│ │ │ └── OpenGLCompat.h
│ │ ├── GLCore
│ │ │ ├── GLCoreExtensionLoader.cpp
│ │ │ ├── GLCoreExtensions.cpp
│ │ │ ├── GLCoreExtensions.h
│ │ │ ├── GLCoreExtensionsDecl.inl
│ │ │ ├── GLCoreProfile.cpp
│ │ │ ├── GLCoreProfileCaps.cpp
│ │ │ ├── GLCoreProfileTypes.h
│ │ │ └── OpenGLCore.h
│ │ ├── GLES
│ │ │ ├── GLESExtensionLoader.cpp
│ │ │ ├── GLESExtensions.cpp
│ │ │ ├── GLESExtensions.h
│ │ │ ├── GLESExtensionsDecl.inl
│ │ │ ├── GLESProfile.cpp
│ │ │ ├── GLESProfileCaps.cpp
│ │ │ ├── GLESProfileTypes.h
│ │ │ └── OpenGLES.h
│ │ ├── GLProfile.h
│ │ └── WebGL
│ │ │ ├── WebGL.h
│ │ │ ├── WebGLExtensionLoader.cpp
│ │ │ ├── WebGLProfile.cpp
│ │ │ ├── WebGLProfileCaps.cpp
│ │ │ └── WebGLProfileTypes.h
│ ├── RenderState
│ │ ├── GLBlendState.cpp
│ │ ├── GLBlendState.h
│ │ ├── GLComputePSO.cpp
│ │ ├── GLComputePSO.h
│ │ ├── GLContextState.cpp
│ │ ├── GLContextState.h
│ │ ├── GLDepthStencilState.cpp
│ │ ├── GLDepthStencilState.h
│ │ ├── GLFence.cpp
│ │ ├── GLFence.h
│ │ ├── GLGraphicsPSO.cpp
│ │ ├── GLGraphicsPSO.h
│ │ ├── GLPipelineCache.cpp
│ │ ├── GLPipelineCache.h
│ │ ├── GLPipelineLayout.cpp
│ │ ├── GLPipelineLayout.h
│ │ ├── GLPipelineState.cpp
│ │ ├── GLPipelineState.h
│ │ ├── GLQueryHeap.cpp
│ │ ├── GLQueryHeap.h
│ │ ├── GLRasterizerState.cpp
│ │ ├── GLRasterizerState.h
│ │ ├── GLRenderPass.cpp
│ │ ├── GLRenderPass.h
│ │ ├── GLResourceHeap.cpp
│ │ ├── GLResourceHeap.h
│ │ ├── GLResourceType.h
│ │ ├── GLState.h
│ │ ├── GLStateManager.cpp
│ │ ├── GLStateManager.h
│ │ ├── GLStatePool.cpp
│ │ └── GLStatePool.h
│ ├── Shader
│ │ ├── GLLegacyShader.cpp
│ │ ├── GLLegacyShader.h
│ │ ├── GLPipelineSignature.cpp
│ │ ├── GLPipelineSignature.h
│ │ ├── GLProgramPipeline.cpp
│ │ ├── GLProgramPipeline.h
│ │ ├── GLSeparableShader.cpp
│ │ ├── GLSeparableShader.h
│ │ ├── GLShader.cpp
│ │ ├── GLShader.h
│ │ ├── GLShaderBindingLayout.cpp
│ │ ├── GLShaderBindingLayout.h
│ │ ├── GLShaderBufferInterfaceMap.cpp
│ │ ├── GLShaderBufferInterfaceMap.h
│ │ ├── GLShaderPipeline.cpp
│ │ ├── GLShaderPipeline.h
│ │ ├── GLShaderProgram.cpp
│ │ ├── GLShaderProgram.h
│ │ ├── GLShaderSourcePatcher.cpp
│ │ ├── GLShaderSourcePatcher.h
│ │ ├── GLShaderUniform.cpp
│ │ └── GLShaderUniform.h
│ └── Texture
│ │ ├── GLEmulatedSampler.cpp
│ │ ├── GLEmulatedSampler.h
│ │ ├── GLFramebuffer.cpp
│ │ ├── GLFramebuffer.h
│ │ ├── GLFramebufferCapture.cpp
│ │ ├── GLFramebufferCapture.h
│ │ ├── GLMipGenerator.cpp
│ │ ├── GLMipGenerator.h
│ │ ├── GLRenderTarget.cpp
│ │ ├── GLRenderTarget.h
│ │ ├── GLRenderbuffer.cpp
│ │ ├── GLRenderbuffer.h
│ │ ├── GLSampler.cpp
│ │ ├── GLSampler.h
│ │ ├── GLTexImage.cpp
│ │ ├── GLTexImage.h
│ │ ├── GLTexSubImage.cpp
│ │ ├── GLTexSubImage.h
│ │ ├── GLTexture.cpp
│ │ ├── GLTexture.h
│ │ ├── GLTextureSubImage.cpp
│ │ ├── GLTextureSubImage.h
│ │ ├── GLTextureViewPool.cpp
│ │ └── GLTextureViewPool.h
│ ├── PipelineStateFlags.cpp
│ ├── PipelineStateUtils.cpp
│ ├── PipelineStateUtils.h
│ ├── ProxyPipelineCache.cpp
│ ├── ProxyPipelineCache.h
│ ├── QueryHeap.cpp
│ ├── RenderPassUtils.cpp
│ ├── RenderPassUtils.h
│ ├── RenderSystem.cpp
│ ├── RenderSystemFlags.cpp
│ ├── RenderSystemModule.cpp
│ ├── RenderSystemModule.h
│ ├── RenderSystemRegistry.cpp
│ ├── RenderSystemRegistry.h
│ ├── RenderSystemUtils.h
│ ├── RenderTarget.cpp
│ ├── RenderTargetUtils.cpp
│ ├── RenderTargetUtils.h
│ ├── RenderingDebugger.cpp
│ ├── ResourceUtils.cpp
│ ├── ResourceUtils.h
│ ├── SPIRV
│ ├── SpirvInstruction.cpp
│ ├── SpirvInstruction.h
│ ├── SpirvInstructionInfo.cpp
│ ├── SpirvInstructionInfo.h
│ ├── SpirvIterator.h
│ ├── SpirvModule.cpp
│ ├── SpirvModule.h
│ ├── SpirvReflect.cpp
│ └── SpirvReflect.h
│ ├── Sampler.cpp
│ ├── SegmentedBuffer.h
│ ├── Shader.cpp
│ ├── ShaderFlags.cpp
│ ├── StaticAssertions.cpp
│ ├── StaticAssertions.h
│ ├── StaticModuleInterface.cpp
│ ├── StaticModuleInterface.h
│ ├── SwapChain.cpp
│ ├── Texture.cpp
│ ├── TextureFlags.cpp
│ ├── TextureUtils.cpp
│ ├── TextureUtils.h
│ ├── VertexAttribute.cpp
│ ├── VideoAdapter.h
│ ├── VirtualCommandBuffer.h
│ └── Vulkan
│ ├── Buffer
│ ├── VKBuffer.cpp
│ ├── VKBuffer.h
│ ├── VKBufferArray.cpp
│ ├── VKBufferArray.h
│ ├── VKDeviceBuffer.cpp
│ ├── VKDeviceBuffer.h
│ ├── VKStagingBuffer.cpp
│ ├── VKStagingBuffer.h
│ ├── VKStagingBufferPool.cpp
│ └── VKStagingBufferPool.h
│ ├── CMakeLists.txt
│ ├── Command
│ ├── VKCommandBuffer.cpp
│ ├── VKCommandBuffer.h
│ ├── VKCommandContext.cpp
│ ├── VKCommandContext.h
│ ├── VKCommandQueue.cpp
│ └── VKCommandQueue.h
│ ├── Ext
│ ├── VKExtensionLoader.cpp
│ ├── VKExtensionLoader.h
│ ├── VKExtensionRegistry.cpp
│ ├── VKExtensionRegistry.h
│ ├── VKExtensions.cpp
│ ├── VKExtensions.h
│ └── VKExtensionsDecl.inl
│ ├── Memory
│ ├── VKDeviceMemory.cpp
│ ├── VKDeviceMemory.h
│ ├── VKDeviceMemoryManager.cpp
│ ├── VKDeviceMemoryManager.h
│ ├── VKDeviceMemoryRegion.cpp
│ └── VKDeviceMemoryRegion.h
│ ├── Platform
│ └── Apple
│ │ ├── CAMetalLayerBridge.h
│ │ └── CAMetalLayerBridge.mm
│ ├── RenderState
│ ├── VKComputePSO.cpp
│ ├── VKComputePSO.h
│ ├── VKDescriptorCache.cpp
│ ├── VKDescriptorCache.h
│ ├── VKDescriptorSetLayout.cpp
│ ├── VKDescriptorSetLayout.h
│ ├── VKDescriptorSetWriter.cpp
│ ├── VKDescriptorSetWriter.h
│ ├── VKFence.cpp
│ ├── VKFence.h
│ ├── VKGraphicsPSO.cpp
│ ├── VKGraphicsPSO.h
│ ├── VKPipelineBarrier.cpp
│ ├── VKPipelineBarrier.h
│ ├── VKPipelineCache.cpp
│ ├── VKPipelineCache.h
│ ├── VKPipelineLayout.cpp
│ ├── VKPipelineLayout.h
│ ├── VKPipelineLayoutPermutation.cpp
│ ├── VKPipelineLayoutPermutation.h
│ ├── VKPipelineLayoutPermutationPool.cpp
│ ├── VKPipelineLayoutPermutationPool.h
│ ├── VKPipelineState.cpp
│ ├── VKPipelineState.h
│ ├── VKPoolSizeAccumulator.cpp
│ ├── VKPoolSizeAccumulator.h
│ ├── VKPredicateQueryHeap.cpp
│ ├── VKPredicateQueryHeap.h
│ ├── VKQueryHeap.cpp
│ ├── VKQueryHeap.h
│ ├── VKRenderPass.cpp
│ ├── VKRenderPass.h
│ ├── VKResourceHeap.cpp
│ ├── VKResourceHeap.h
│ ├── VKStagingDescriptorPool.cpp
│ ├── VKStagingDescriptorPool.h
│ ├── VKStagingDescriptorSetPool.cpp
│ └── VKStagingDescriptorSetPool.h
│ ├── Shader
│ ├── VKShader.cpp
│ ├── VKShader.h
│ ├── VKShaderBindingLayout.cpp
│ ├── VKShaderBindingLayout.h
│ ├── VKShaderModulePool.cpp
│ └── VKShaderModulePool.h
│ ├── Texture
│ ├── VKColorBuffer.cpp
│ ├── VKColorBuffer.h
│ ├── VKDepthStencilBuffer.cpp
│ ├── VKDepthStencilBuffer.h
│ ├── VKDeviceImage.cpp
│ ├── VKDeviceImage.h
│ ├── VKImageUtils.cpp
│ ├── VKImageUtils.h
│ ├── VKRenderBuffer.cpp
│ ├── VKRenderBuffer.h
│ ├── VKRenderTarget.cpp
│ ├── VKRenderTarget.h
│ ├── VKSampler.cpp
│ ├── VKSampler.h
│ ├── VKTexture.cpp
│ └── VKTexture.h
│ ├── VKCore.cpp
│ ├── VKCore.h
│ ├── VKDevice.cpp
│ ├── VKDevice.h
│ ├── VKInitializers.cpp
│ ├── VKInitializers.h
│ ├── VKModuleInterface.cpp
│ ├── VKPhysicalDevice.cpp
│ ├── VKPhysicalDevice.h
│ ├── VKPtr.h
│ ├── VKRenderSystem.cpp
│ ├── VKRenderSystem.h
│ ├── VKStaticLimits.h
│ ├── VKSwapChain.cpp
│ ├── VKSwapChain.h
│ ├── VKTypes.cpp
│ ├── VKTypes.h
│ └── Vulkan.h
├── tests
├── CMakeLists.txt
├── Media
│ └── Textures
│ │ ├── DetailMap.png
│ │ ├── Gradient.png
│ │ ├── Grid10x10.png
│ │ ├── HeatmapLUT.png
│ │ ├── JohannesVermeer-girl_with_a_pearl_earring.jpg
│ │ └── VanGogh-starry_night.jpg
├── Shaders
│ ├── BlendTest.frag
│ ├── BlendTest.vert
│ ├── CompileSpirv.bat
│ ├── ComputeShader.glsl
│ ├── SeparateShaderTest.frag
│ ├── SeparateShaderTest.vert
│ ├── SpirvReflectTest.comp
│ ├── SpirvReflectTest.comp.spv
│ ├── SpirvReflectTest.comp.spv.txt
│ ├── TestShader.hlsl
│ ├── TestShader.metal
│ ├── Triangle.frag
│ ├── Triangle.frag.spv
│ ├── Triangle.vert
│ └── Triangle.vert.spv
├── Test_Compute.cpp
├── Test_D3D12.cpp
├── Test_Display.cpp
├── Test_Image.cpp
├── Test_Metal.cpp
├── Test_OpenGL.cpp
├── Test_Performance.cpp
├── Test_SeparateShaders.cpp
├── Test_ShaderReflect.cpp
├── Test_Vulkan.cpp
├── Test_Window.cpp
└── Testbed
│ ├── CMakeLists.txt
│ ├── HeatMapLUT.inl
│ ├── Output
│ ├── .gitignore
│ ├── Direct3D11
│ │ └── .dummy.txt
│ ├── Direct3D12
│ │ └── .dummy.txt
│ ├── Metal
│ │ └── .dummy.txt
│ ├── OpenGL
│ │ └── .dummy.txt
│ └── Vulkan
│ │ └── .dummy.txt
│ ├── Reference
│ ├── BlendStates.Ref.png
│ ├── CombinedSamplers.Ref.png
│ ├── DepthBuffer.Ref.png
│ ├── DualSourceBlend.Ref.png
│ ├── Gradient_Mip1.Ref.png
│ ├── Gradient_Mip2.Ref.png
│ ├── Gradient_Mip3.Ref.png
│ ├── Gradient_Mip4.Ref.png
│ ├── Gradient_Mip5.Ref.png
│ ├── Gradient_Mip6.Ref.png
│ ├── Gradient_Mip7.Ref.png
│ ├── Gradient_Mip8.Ref.png
│ ├── Grid10x10_Mip1.Ref.png
│ ├── Grid10x10_Mip2.Ref.png
│ ├── Grid10x10_Mip3.Ref.png
│ ├── Grid10x10_Mip4.Ref.png
│ ├── Grid10x10_Mip5.Ref.png
│ ├── Grid10x10_Mip6.Ref.png
│ ├── Grid10x10_Mip7.Ref.png
│ ├── Grid10x10_Mip8.Ref.png
│ ├── Grid10x10_Mip9.Ref.png
│ ├── MultiThreading_Worker0.Ref.png
│ ├── MultiThreading_Worker1.Ref.png
│ ├── MultiThreading_Worker10.Ref.png
│ ├── MultiThreading_Worker11.Ref.png
│ ├── MultiThreading_Worker12.Ref.png
│ ├── MultiThreading_Worker13.Ref.png
│ ├── MultiThreading_Worker14.Ref.png
│ ├── MultiThreading_Worker15.Ref.png
│ ├── MultiThreading_Worker2.Ref.png
│ ├── MultiThreading_Worker3.Ref.png
│ ├── MultiThreading_Worker4.Ref.png
│ ├── MultiThreading_Worker5.Ref.png
│ ├── MultiThreading_Worker6.Ref.png
│ ├── MultiThreading_Worker7.Ref.png
│ ├── MultiThreading_Worker8.Ref.png
│ ├── MultiThreading_Worker9.Ref.png
│ ├── OffscreenC99.Ref.png
│ ├── PaintingA_Mip1.Ref.png
│ ├── PaintingA_Mip2.Ref.png
│ ├── PaintingA_Mip3.Ref.png
│ ├── PaintingA_Mip4.Ref.png
│ ├── PaintingA_Mip5.Ref.png
│ ├── PaintingA_Mip6.Ref.png
│ ├── PaintingA_Mip7.Ref.png
│ ├── PaintingA_Mip8.Ref.png
│ ├── PaintingA_Mip9.Ref.png
│ ├── ResourceArrays.Ref.png
│ ├── ResourceCopy_Frame0.Ref.png
│ ├── ResourceCopy_Frame1.Ref.png
│ ├── ResourceCopy_Frame2.Ref.png
│ ├── ResourceCopy_Frame3.Ref.png
│ ├── ResourceCopy_Frame4.Ref.png
│ ├── ResourceCopy_Frame5.Ref.png
│ ├── ResourceCopy_Frame6.Ref.png
│ ├── ResourceCopy_Frame7.Ref.png
│ ├── ResourceCopy_Frame8.Ref.png
│ ├── ResourceCopy_Frame9.Ref.png
│ ├── SceneUpdate_Frame0.Ref.png
│ ├── SceneUpdate_Frame1.Ref.png
│ ├── SceneUpdate_Frame2.Ref.png
│ ├── SceneUpdate_Frame3.Ref.png
│ ├── SceneUpdate_Frame4.Ref.png
│ ├── SceneUpdate_Frame5.Ref.png
│ ├── SceneUpdate_Frame6.Ref.png
│ ├── SceneUpdate_Frame7.Ref.png
│ ├── SceneUpdate_Frame8.Ref.png
│ ├── SceneUpdate_Frame9.Ref.png
│ ├── SecondaryCommandBuffer.Ref.png
│ ├── ShadowMapping_D16UNorm_256x256.Ref.png
│ ├── ShadowMapping_D16UNorm_300x280.Ref.png
│ ├── ShadowMapping_D24UNormS8UInt_1024x1024.Ref.png
│ ├── ShadowMapping_D24UNormS8UInt_256x256.Ref.png
│ ├── ShadowMapping_D32FloatS8X24UInt_256x256.Ref.png
│ ├── ShadowMapping_D32Float_128x128.Ref.png
│ ├── ShadowMapping_D32Float_256x256.Ref.png
│ ├── ShadowMapping_D32Float_512x512.Ref.png
│ ├── StencilBuffer_Set50.Ref.png
│ ├── StreamOutput_Frame0.Ref.png
│ ├── StreamOutput_Frame1.Ref.png
│ ├── StreamOutput_Frame2.Ref.png
│ ├── StreamOutput_Frame3.Ref.png
│ ├── StreamOutput_Frame4.Ref.png
│ ├── StreamOutput_Frame5.Ref.png
│ ├── StreamOutput_Frame6.Ref.png
│ ├── StreamOutput_Frame7.Ref.png
│ ├── StreamOutput_Frame8.Ref.png
│ ├── StreamOutput_Frame9.Ref.png
│ ├── TextureStrides_Frame0.Ref.png
│ ├── TextureStrides_Frame1.Ref.png
│ ├── TextureViews.Ref.png
│ ├── TextureViews_Limited.Ref.png
│ ├── TriangleStrip_FixedFormat.Ref.png
│ ├── TriangleStrip_UndefinedFormat.Ref.png
│ ├── Uniforms_Frame0.Ref.png
│ ├── Uniforms_Frame1.Ref.png
│ ├── Uniforms_Frame2.Ref.png
│ ├── Uniforms_Frame3.Ref.png
│ ├── Uniforms_Frame4.Ref.png
│ ├── Uniforms_Frame5.Ref.png
│ ├── Uniforms_Frame6.Ref.png
│ ├── Uniforms_Frame7.Ref.png
│ ├── Uniforms_Frame8.Ref.png
│ ├── Uniforms_Frame9.Ref.png
│ ├── ViewportAndScissor_0_Default.Ref.png
│ ├── ViewportAndScissor_1_Static.Ref.png
│ ├── ViewportAndScissor_2_Default.Ref.png
│ ├── ViewportAndScissor_3_Dynamic.Ref.png
│ └── ViewportAndScissor_4_Default.Ref.png
│ ├── Shaders
│ ├── ClearScreen
│ │ ├── ClearScreen.330core.frag
│ │ ├── ClearScreen.330core.vert
│ │ ├── ClearScreen.450core.frag
│ │ ├── ClearScreen.450core.frag.spv
│ │ ├── ClearScreen.450core.vert
│ │ ├── ClearScreen.450core.vert.spv
│ │ ├── ClearScreen.hlsl
│ │ └── ClearScreen.metal
│ ├── CombinedSamplers
│ │ ├── CombinedSamplers.330core.frag
│ │ ├── CombinedSamplers.330core.vert
│ │ └── CombinedSamplers.hlsl
│ ├── CompileAllGlslShadersToSpirv.bat
│ ├── DualSourceBlending
│ │ ├── DualSourceBlending.420core.frag
│ │ ├── DualSourceBlending.420core.vert
│ │ ├── DualSourceBlending.450core.frag
│ │ ├── DualSourceBlending.450core.frag.spv
│ │ ├── DualSourceBlending.450core.vert
│ │ ├── DualSourceBlending.450core.vert.spv
│ │ ├── DualSourceBlending.hlsl
│ │ └── DualSourceBlending.metal
│ ├── DynamicTriangleMesh
│ │ ├── DynamicTriangleMesh.330core.frag
│ │ ├── DynamicTriangleMesh.330core.vert
│ │ ├── DynamicTriangleMesh.450core.frag
│ │ ├── DynamicTriangleMesh.450core.frag.spv
│ │ ├── DynamicTriangleMesh.450core.vert
│ │ ├── DynamicTriangleMesh.450core.vert.spv
│ │ ├── DynamicTriangleMesh.hlsl
│ │ └── DynamicTriangleMesh.metal
│ ├── ReadAfterWrite
│ │ ├── ReadAfterWrite.450core.comp
│ │ ├── ReadAfterWrite.450core.comp.spv
│ │ ├── ReadAfterWrite.hlsl
│ │ └── ReadAfterWrite.metal
│ ├── ResourceArrays
│ │ ├── ResourceArrays.450core.frag
│ │ ├── ResourceArrays.450core.frag.spv
│ │ ├── ResourceArrays.450core.vert
│ │ ├── ResourceArrays.450core.vert.spv
│ │ └── ResourceArrays.hlsl
│ ├── ResourceBinding
│ │ ├── ResourceBinding.450core.comp
│ │ ├── ResourceBinding.450core.comp.spv
│ │ ├── ResourceBinding.450core.frag
│ │ ├── ResourceBinding.450core.frag.spv
│ │ ├── ResourceBinding.450core.vert
│ │ ├── ResourceBinding.450core.vert.spv
│ │ └── ResourceBinding.hlsl
│ ├── SamplerBuffer
│ │ ├── SamplerBuffer.450core.comp
│ │ ├── SamplerBuffer.450core.comp.spv
│ │ └── SamplerBuffer.hlsl
│ ├── SemanticErrors
│ │ ├── SemanticErrors.CSMain.450core.comp
│ │ ├── SemanticErrors.CSMain.hlsl
│ │ ├── SemanticErrors.CSMain.metal
│ │ ├── SemanticErrors.PSMain.450core.frag
│ │ ├── SemanticErrors.PSMain.450core.frag.spv
│ │ ├── SemanticErrors.PSMain.hlsl
│ │ ├── SemanticErrors.PSMain.metal
│ │ ├── SemanticErrors.VSMain.450core.vert
│ │ ├── SemanticErrors.VSMain.hlsl
│ │ └── SemanticErrors.VSMain.metal
│ ├── ShadowMapping
│ │ ├── ShadowMapping.PScene.330core.frag
│ │ ├── ShadowMapping.PScene.450core.frag
│ │ ├── ShadowMapping.PScene.450core.frag.spv
│ │ ├── ShadowMapping.VScene.330core.vert
│ │ ├── ShadowMapping.VScene.450core.vert
│ │ ├── ShadowMapping.VScene.450core.vert.spv
│ │ ├── ShadowMapping.VShadow.330core.vert
│ │ ├── ShadowMapping.VShadow.450core.vert
│ │ ├── ShadowMapping.VShadow.450core.vert.spv
│ │ ├── ShadowMapping.hlsl
│ │ └── ShadowMapping.metal
│ ├── StreamOutput
│ │ ├── StreamOutput.410core.frag
│ │ ├── StreamOutput.410core.geom
│ │ ├── StreamOutput.410core.tesc
│ │ ├── StreamOutput.410core.tese
│ │ ├── StreamOutput.410core.vert
│ │ ├── StreamOutput.450core.frag
│ │ ├── StreamOutput.450core.frag.spv
│ │ ├── StreamOutput.450core.geom
│ │ ├── StreamOutput.450core.geom.xfb.spv
│ │ ├── StreamOutput.450core.tesc
│ │ ├── StreamOutput.450core.tesc.spv
│ │ ├── StreamOutput.450core.tese
│ │ ├── StreamOutput.450core.tese.spv
│ │ ├── StreamOutput.450core.tese.xfb.spv
│ │ ├── StreamOutput.450core.vert
│ │ ├── StreamOutput.450core.vert.spv
│ │ ├── StreamOutput.450core.vert.xfb.spv
│ │ └── StreamOutput.hlsl
│ ├── TriangleMesh
│ │ ├── TriangleMesh.330core.frag
│ │ ├── TriangleMesh.330core.vert
│ │ ├── TriangleMesh.450core.frag
│ │ ├── TriangleMesh.450core.frag.spv
│ │ ├── TriangleMesh.450core.vert
│ │ ├── TriangleMesh.450core.vert.spv
│ │ ├── TriangleMesh.Textured.450core.frag.spv
│ │ ├── TriangleMesh.Textured.450core.vert.spv
│ │ ├── TriangleMesh.hlsl
│ │ └── TriangleMesh.metal
│ └── UnprojectedMesh
│ │ ├── UnprojectedMesh.330core.frag
│ │ ├── UnprojectedMesh.330core.vert
│ │ ├── UnprojectedMesh.450core.frag
│ │ ├── UnprojectedMesh.450core.frag.spv
│ │ ├── UnprojectedMesh.450core.vert
│ │ ├── UnprojectedMesh.450core.vert.spv
│ │ ├── UnprojectedMesh.hlsl
│ │ └── UnprojectedMesh.metal
│ ├── Testbed.h
│ ├── TestbedContext.cpp
│ ├── TestbedContext.h
│ ├── TestbedMain.cpp
│ ├── TestbedUtils.cpp
│ ├── TestbedUtils.h
│ ├── Testset.cpp
│ ├── Testset.h
│ └── UnitTests
│ ├── DeclTests.inl
│ ├── TestBarrierReadAfterWrite.cpp
│ ├── TestBlendStates.cpp
│ ├── TestBufferCopy.cpp
│ ├── TestBufferFill.cpp
│ ├── TestBufferMap.cpp
│ ├── TestBufferToTextureCopy.cpp
│ ├── TestBufferUpdate.cpp
│ ├── TestBufferWriteAndRead.cpp
│ ├── TestCombinedTexSamplers.cpp
│ ├── TestCommandBufferEncode.cpp
│ ├── TestCommandBufferMultiThreading.cpp
│ ├── TestCommandBufferSecondary.cpp
│ ├── TestCommandBufferSubmit.cpp
│ ├── TestContainers.cpp
│ ├── TestDepthBuffer.cpp
│ ├── TestDualSourceBlending.cpp
│ ├── TestImageConversions.cpp
│ ├── TestImageStrides.cpp
│ ├── TestMipMaps.cpp
│ ├── TestNativeHandle.cpp
│ ├── TestOffscreenC99.cpp
│ ├── TestParse.cpp
│ ├── TestPipelineCaching.cpp
│ ├── TestRenderTarget1Attachment.cpp
│ ├── TestRenderTargetNAttachments.cpp
│ ├── TestRenderTargetNoAttachments.cpp
│ ├── TestResourceArrays.cpp
│ ├── TestResourceBinding.cpp
│ ├── TestResourceCopy.cpp
│ ├── TestSamplerBuffer.cpp
│ ├── TestSceneUpdate.cpp
│ ├── TestShaderErrors.cpp
│ ├── TestShadowMapping.cpp
│ ├── TestStencilBuffer.cpp
│ ├── TestStreamOutput.cpp
│ ├── TestTextureCopy.cpp
│ ├── TestTextureStrides.cpp
│ ├── TestTextureToBufferCopy.cpp
│ ├── TestTextureTypes.cpp
│ ├── TestTextureViews.cpp
│ ├── TestTextureWriteAndRead.cpp
│ ├── TestTriangleStripCutOff.cpp
│ ├── TestUniforms.cpp
│ └── TestViewportAndScissor.cpp
└── wrapper
├── C99
├── C99Buffer.cpp
├── C99BufferArray.cpp
├── C99Canvas.cpp
├── C99CommandBuffer.cpp
├── C99CommandQueue.cpp
├── C99Display.cpp
├── C99EventListenerContainer.h
├── C99FlagsAndDescriptors.cpp
├── C99Internal.h
├── C99Log.cpp
├── C99PipelineCache.cpp
├── C99PipelineLayout.cpp
├── C99PipelineState.cpp
├── C99QueryHeap.cpp
├── C99RenderSystem.cpp
├── C99RenderSystemChild.cpp
├── C99RenderTarget.cpp
├── C99RenderingDebugger.cpp
├── C99Report.cpp
├── C99Resource.cpp
├── C99ResourceHeap.cpp
├── C99Shader.cpp
├── C99Surface.cpp
├── C99SwapChain.cpp
├── C99Texture.cpp
├── C99Timer.cpp
├── C99TypeAssertions.cpp
├── C99TypeNames.cpp
└── C99Window.cpp
├── CSharp
├── AnsiString.cs
├── AttachmentDescriptorArray.cs
├── AttachmentFormatDescriptorArray.cs
├── BlendDescriptor.cs
├── BlendTargetDescriptorArray.cs
├── Buffer.cs
├── BufferArray.cs
├── CMakeLists.txt
├── ClearValue.cs
├── Color.cs
├── CommandBuffer.cs
├── CommandQueue.cs
├── Display.cs
├── Fence.cs
├── ImageView.cs
├── Interop.cs
├── LLGLWrapper.cs
├── MutableImageView.cs
├── PipelineCache.cs
├── PipelineLayout.cs
├── PipelineState.cs
├── QueryHeap.cs
├── RenderPass.cs
├── RenderPassDescriptor.cs
├── RenderSystem.cs
├── RenderSystemChild.cs
├── RenderSystemDescriptor.cs
├── RenderTarget.cs
├── RenderTargetDescriptor.cs
├── RendererInfo.cs
├── RenderingDebugger.cs
├── Report.cs
├── Resource.cs
├── ResourceHeap.cs
├── Sampler.cs
├── Shader.cs
├── ShaderDescriptor.cs
├── Surface.cs
├── SwapChain.cs
├── TDescriptorArray.cs
├── Texture.cs
├── Timer.cs
├── Window.cs
└── WindowDescriptor.cs
└── Go
├── .gitignore
├── Buffer.go
├── BufferArray.go
├── CommandBuffer.go
├── Display.go
├── Fence.go
├── LLGLBridge.go
├── LLGLWrapper.go
├── PipelineCache.go
├── PipelineLayout.go
├── PipelineState.go
├── QueryHeap.go
├── RenderPass.go
├── RenderSystem.go
├── RenderSystemChild.go
├── RenderTarget.go
├── RenderingDebugger.go
├── Report.go
├── Resource.go
├── ResourceHeap.go
├── Sampler.go
├── Shader.go
├── Surface.go
├── SwapChain.go
├── Texture.go
└── UnsafeUtils.go
/.editorconfig:
--------------------------------------------------------------------------------
1 | root=true
2 | [*]
3 | indent_style = space
4 | indent_size = 4
5 | trim_trailing_whitespace = true
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # macOS Finder file .DS_Store
2 | .DS_Store
3 |
4 | # Intermediate build system files
5 | Makefile
6 | CMakeFiles
7 | build*/
8 | *.aps
9 | *.cache
10 | *.spvasm
11 |
12 | # Runtime output files for testing
13 | Screenshot.*
14 | Capture.*
15 | *.Results.png
16 | LLGL.trace.json
17 | default.metallib
18 |
19 | # Output files from individual tests (Testbed is handled separately)
20 | tests/Output
21 |
22 | # Binary files for Go wrapper (libLLGL.dll, libLLGL.dll.a)
23 | *.exe
24 | *.dll
25 | *.dll.a
26 |
27 | # RenderDoc .cap capture files
28 | *.cap
29 |
30 | # VS Code folder
31 | .vscode
32 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "external/SPIRV-Headers"]
2 | path = external/SPIRV-Headers
3 | url = https://github.com/LukasBanana/SPIRV-Headers.git
4 | branch = master
5 | [submodule "external/GaussianLib"]
6 | path = external/GaussianLib
7 | url = https://github.com/LukasBanana/GaussianLib.git
8 |
--------------------------------------------------------------------------------
/BuildMsys2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./$(dirname $0)/BuildLinux.sh -msys $@
--------------------------------------------------------------------------------
/cmake/Config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 | include("${CMAKE_CURRENT_LIST_DIR}/LLGLTargets.cmake")
4 |
5 | check_required_components(@PROJECT_NAME@)
6 |
--------------------------------------------------------------------------------
/cmake/FindMetal.cmake:
--------------------------------------------------------------------------------
1 | # Find Metal
2 | #
3 | # METAL_INCLUDE_DIR
4 | # METAL_LIBRARY
5 | # METAL_LIBRARY_DIR
6 | # METAL_FOUND
7 |
8 | if(APPLE)
9 | find_path(METAL_INCLUDE_DIR NAMES metal/metal.h PATHS ${CMAKE_FIND_ROOT_PATH})
10 | find_library(METAL_LIBRARY NAMES metal PATHS ${CMAKE_FIND_ROOT_PATH})
11 | get_filename_component(METAL_LIBRARY_DIR ${METAL_LIBRARY} DIRECTORY)
12 |
13 | include(FindPackageHandleStandardArgs)
14 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Metal DEFAULT_MSG METAL_LIBRARY METAL_INCLUDE_DIR)
15 |
16 | mark_as_advanced(METAL_INCLUDE_DIR METAL_LIBRARY)
17 | endif()
18 |
19 |
--------------------------------------------------------------------------------
/cmake/FindMetalKit.cmake:
--------------------------------------------------------------------------------
1 | # Find Metal
2 | #
3 | # METALKIT_INCLUDE_DIR
4 | # METALKIT_LIBRARY
5 | # METALKIT_LIBRARY_DIR
6 | # METALKIT_FOUND
7 |
8 | if(APPLE)
9 | find_path(METALKIT_INCLUDE_DIR NAMES metalkit/metalkit.h PATHS ${CMAKE_FIND_ROOT_PATH})
10 | find_library(METALKIT_LIBRARY NAMES metalkit PATHS ${CMAKE_FIND_ROOT_PATH})
11 | get_filename_component(METALKIT_LIBRARY_DIR ${METALKIT_LIBRARY} DIRECTORY)
12 |
13 | include(FindPackageHandleStandardArgs)
14 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(MetalKit DEFAULT_MSG METALKIT_LIBRARY METALKIT_INCLUDE_DIR)
15 |
16 | mark_as_advanced(METALKIT_INCLUDE_DIR METALKIT_LIBRARY)
17 | endif()
18 |
19 |
--------------------------------------------------------------------------------
/cmake/Toolchains/Toolchain.UWP-10_0.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_SYSTEM_NAME WindowsStore CACHE INTERNAL "")
2 | set(CMAKE_SYSTEM_VERSION 10.0 CACHE INTERNAL "")
3 |
--------------------------------------------------------------------------------
/cmake/Toolchains/Toolchain.UWP-8_0.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_SYSTEM_NAME WindowsStore CACHE INTERNAL "")
2 | set(CMAKE_SYSTEM_VERSION 8.0 CACHE INTERNAL "")
3 |
--------------------------------------------------------------------------------
/cmake/Toolchains/Toolchain.UWP-8_1.cmake:
--------------------------------------------------------------------------------
1 | set(CMAKE_SYSTEM_NAME WindowsStore CACHE INTERNAL "")
2 | set(CMAKE_SYSTEM_VERSION 8.1 CACHE INTERNAL "")
3 |
--------------------------------------------------------------------------------
/docu/ChangeLog/README.md:
--------------------------------------------------------------------------------
1 | ChangeLog History
2 | =================
3 |
4 | - [ChangeLog-v0.02](ChangeLog-v0.02.md)
5 | - [ChangeLog-v0.03](ChangeLog-v0.03.md)
6 | - [ChangeLog-v0.04](ChangeLog-v0.04.md)
7 |
--------------------------------------------------------------------------------
/docu/CodingConventions/.gitignore:
--------------------------------------------------------------------------------
1 | *.synctex.gz
2 |
--------------------------------------------------------------------------------
/docu/CodingConventions/Coding Conventions for LLGL.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/CodingConventions/Coding Conventions for LLGL.pdf
--------------------------------------------------------------------------------
/docu/GettingStarted/.gitignore:
--------------------------------------------------------------------------------
1 | *.synctex.gz
2 |
--------------------------------------------------------------------------------
/docu/GettingStarted/Getting Started with LLGL.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/GettingStarted/Getting Started with LLGL.pdf
--------------------------------------------------------------------------------
/docu/GettingStarted/cmake_mask1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/GettingStarted/cmake_mask1.png
--------------------------------------------------------------------------------
/docu/GettingStarted/tut01_mask1a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/GettingStarted/tut01_mask1a.png
--------------------------------------------------------------------------------
/docu/GettingStarted/tut01_mask1b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/GettingStarted/tut01_mask1b.png
--------------------------------------------------------------------------------
/docu/Icons/Go-Logo_Blue.svg.copyright.txt:
--------------------------------------------------------------------------------
1 | All content within this zip file is Copyright 2018 The Go Authors. All rights reserved.
2 |
3 | https://go.dev/blog/go-brand
--------------------------------------------------------------------------------
/docu/Icons/android.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | Flaticon Free License (https://file000.flaticon.com/downloads/license/license.pdf)
3 |
4 | Attribution:
5 | Icon created by [Freepik] from www.flaticon.com
6 |
7 | Weblink:
8 | https://www.flaticon.com/authors/freepik
9 | https://www.flaticon.com/free-icon/android-logo_38002
--------------------------------------------------------------------------------
/docu/Icons/cmake.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docu/Icons/cmake.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | Logo License (https://www.svgrepo.com/page/licensing/#Logo)
3 |
4 | Weblink:
5 | https://www.svgrepo.com/svg/305873/cmake
6 |
--------------------------------------------------------------------------------
/docu/Icons/ios.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | Flaticon Free License (https://file000.flaticon.com/downloads/license/license.pdf)
3 |
4 | Attribution:
5 | Icon created by [Freepik] from www.flaticon.com
6 |
7 | Weblink:
8 | https://www.flaticon.com/authors/freepik
9 | https://www.flaticon.com/free-icon/mac-os-logo_2235
--------------------------------------------------------------------------------
/docu/Icons/linux.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | Flaticon Free License (https://file000.flaticon.com/downloads/license/license.pdf)
3 |
4 | Attribution:
5 | Icon created by [Freepik] from www.flaticon.com
6 |
7 | Weblink:
8 | https://www.flaticon.com/authors/freepik
9 | https://www.flaticon.com/free-icon/linux-penguin_37737
--------------------------------------------------------------------------------
/docu/Icons/macos.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | Flaticon Free License (https://file000.flaticon.com/downloads/license/license.pdf)
3 |
4 | Attribution:
5 | Icon created by [Swifticons] from www.flaticon.com
6 |
7 | Weblink:
8 | https://www.flaticon.com/authors/swifticons
9 | https://www.flaticon.com/free-icon/finder_160156
--------------------------------------------------------------------------------
/docu/Icons/uwp.svg:
--------------------------------------------------------------------------------
1 |
2 |
22 |
--------------------------------------------------------------------------------
/docu/Icons/uwp.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/)
3 |
4 | Attribution:
5 | Icon created by [ViconsDesign] from https://www.iconfinder.com/ViconsDesign
6 |
7 | Weblink:
8 | https://www.iconfinder.com/ViconsDesign
9 | https://www.iconfinder.com/icons/7422390/microsoft_office_windows_window_icon
--------------------------------------------------------------------------------
/docu/Icons/wasm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docu/Icons/wasm.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | CC0-1.0 license
3 |
4 | Weblink:
5 | https://github.com/carlosbaraza/web-assembly-logo/blob/master/dist/icon/web-assembly-icon-black.svg
--------------------------------------------------------------------------------
/docu/Icons/windows.svg.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | Flaticon Free License (https://file000.flaticon.com/downloads/license/license.pdf)
3 |
4 | Attribution:
5 | Icon created by [Dave Gandy] from www.flaticon.com
6 |
7 | Weblink:
8 | https://www.flaticon.com/authors/dave-gandy
9 | https://www.flaticon.com/free-icon/windows-logo-silhouette_25412
--------------------------------------------------------------------------------
/docu/LLGL_Logo.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/LLGL_Logo.pdf
--------------------------------------------------------------------------------
/docu/LLGL_Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/LLGL_Logo.png
--------------------------------------------------------------------------------
/docu/Showcase/Showcase_Build_AndroidStudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/Showcase/Showcase_Build_AndroidStudio.png
--------------------------------------------------------------------------------
/docu/Showcase/Showcase_Build_Wasm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/Showcase/Showcase_Build_Wasm.png
--------------------------------------------------------------------------------
/docu/Tutorials/ImGui/LLGL_ImGui_Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/Tutorials/ImGui/LLGL_ImGui_Example.png
--------------------------------------------------------------------------------
/docu/Tutorials/ImGui/LLGL_ImGui_Thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/Tutorials/ImGui/LLGL_ImGui_Thumbnail.png
--------------------------------------------------------------------------------
/docu/Tutorials/README.md:
--------------------------------------------------------------------------------
1 | # Tutorials
2 |
3 | This is the tutorial section with examples and documentation how to integrate other third-party libs with LLGL.
4 | * [Dear ImGui](ImGui) - How to integrate **ImGui** for UI rendering and event handling into an LLGL project.
5 |
6 |
--------------------------------------------------------------------------------
/docu/WebPage/.gitattributes:
--------------------------------------------------------------------------------
1 | *.data binary
--------------------------------------------------------------------------------
/docu/WebPage/Example_Animation/Example_Animation.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_Animation/Example_Animation.data
--------------------------------------------------------------------------------
/docu/WebPage/Example_Animation/Example_Animation.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_Animation/Example_Animation.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_Fonts/Example_Fonts.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_Fonts/Example_Fonts.data
--------------------------------------------------------------------------------
/docu/WebPage/Example_Fonts/Example_Fonts.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_Fonts/Example_Fonts.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_HelloGame/Example_HelloGame.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_HelloGame/Example_HelloGame.data
--------------------------------------------------------------------------------
/docu/WebPage/Example_HelloGame/Example_HelloGame.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_HelloGame/Example_HelloGame.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_PostProcessing/Example_PostProcessing.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_PostProcessing/Example_PostProcessing.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_RenderTarget/Example_RenderTarget.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_RenderTarget/Example_RenderTarget.data
--------------------------------------------------------------------------------
/docu/WebPage/Example_RenderTarget/Example_RenderTarget.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_RenderTarget/Example_RenderTarget.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_ShadowMapping/Example_ShadowMapping.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_ShadowMapping/Example_ShadowMapping.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_StencilBuffer/Example_StencilBuffer.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_StencilBuffer/Example_StencilBuffer.wasm
--------------------------------------------------------------------------------
/docu/WebPage/Example_Texturing/Example_Texturing.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_Texturing/Example_Texturing.data
--------------------------------------------------------------------------------
/docu/WebPage/Example_Texturing/Example_Texturing.wasm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/WebPage/Example_Texturing/Example_Texturing.wasm
--------------------------------------------------------------------------------
/docu/refman.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/docu/refman.pdf
--------------------------------------------------------------------------------
/examples/C99/HelloTriangle/HelloTriangle.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 3.30 (for OpenGL 3.3)
2 | #version 330
3 |
4 | in vec4 vColor;
5 |
6 | out vec4 outColor;
7 |
8 | void main()
9 | {
10 | outColor = vColor;
11 | }
12 |
--------------------------------------------------------------------------------
/examples/C99/HelloTriangle/HelloTriangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/C99/HelloTriangle/HelloTriangle.png
--------------------------------------------------------------------------------
/examples/C99/HelloTriangle/HelloTriangle.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 3.30 (for OpenGL 3.3)
2 | #version 330
3 |
4 | in vec2 position;
5 | in vec4 color;
6 |
7 | out vec4 vColor;
8 |
9 | void main()
10 | {
11 | gl_Position = vec4(position, 0, 1);
12 | vColor = color;
13 | }
14 |
--------------------------------------------------------------------------------
/examples/C99/Offscreen/Offscreen.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 3.30 (for OpenGL 3.3)
2 | #version 330
3 |
4 | #ifdef GL_ES
5 | precision mediump float;
6 | #endif
7 |
8 | in vec4 vColor;
9 |
10 | out vec4 outColor;
11 |
12 | void main()
13 | {
14 | outColor = vColor;
15 | }
16 |
--------------------------------------------------------------------------------
/examples/C99/Offscreen/Offscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/C99/Offscreen/Offscreen.png
--------------------------------------------------------------------------------
/examples/C99/Offscreen/Offscreen.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 3.30 (for OpenGL 3.3)
2 | #version 330
3 |
4 | #ifdef GL_ES
5 | precision mediump float;
6 | #endif
7 |
8 | in vec2 position;
9 | in vec3 color;
10 |
11 | out vec4 vColor;
12 |
13 | void main()
14 | {
15 | gl_Position = vec4(position, 0, 1);
16 | vColor = vec4(color, 1);
17 | }
18 |
--------------------------------------------------------------------------------
/examples/C99/Texturing/Texturing.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/Crate.jpg
--------------------------------------------------------------------------------
/examples/C99/Texturing/Texturing.frag:
--------------------------------------------------------------------------------
1 | // GLSL texturing fragment shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | uniform sampler2D colorMap;
10 |
11 | in vec3 vNormal;
12 | in vec2 vTexCoord;
13 |
14 | out vec4 fragColor;
15 |
16 | void main()
17 | {
18 | vec4 color = texture(colorMap, vTexCoord);
19 |
20 | // Apply lambert factor for simple shading
21 | const vec3 lightVec = vec3(0, 0, -1);
22 | float NdotL = dot(lightVec, normalize(vNormal));
23 | color.rgb *= mix(0.2, 1.0, NdotL);
24 |
25 | fragColor = color;
26 | }
27 |
--------------------------------------------------------------------------------
/examples/C99/Texturing/Texturing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/C99/Texturing/Texturing.png
--------------------------------------------------------------------------------
/examples/C99/Texturing/Texturing.vert:
--------------------------------------------------------------------------------
1 | // GLSL texturing vertex shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform Scene
10 | {
11 | mat4 wvpMatrix;
12 | mat4 wMatrix;
13 | };
14 |
15 | in vec3 position;
16 | in vec3 normal;
17 | in vec2 texCoord;
18 |
19 | out vec3 vNormal;
20 | out vec2 vTexCoord;
21 |
22 | void main()
23 | {
24 | gl_Position = wvpMatrix * vec4(position, 1);
25 | vNormal = normalize((wMatrix * vec4(normal, 0)).xyz);
26 | vTexCoord = texCoord;
27 | }
28 |
--------------------------------------------------------------------------------
/examples/CSharp/HelloTriangle/HelloTriangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/CSharp/HelloTriangle/HelloTriangle.png
--------------------------------------------------------------------------------
/examples/CSharp/Texturing/Texturing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/CSharp/Texturing/Texturing.png
--------------------------------------------------------------------------------
/examples/Cpp/Animation/Animation.assets.txt:
--------------------------------------------------------------------------------
1 | Models/PenroseStairs-Bottom.obj
2 | Models/PenroseStairs-Top.obj
3 | Models/IcoSphere.obj
4 | Textures/TilesGray512.jpg
--------------------------------------------------------------------------------
/examples/Cpp/Animation/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Animation/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/Animation/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Animation/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Animation/Example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Animation/Example.gif
--------------------------------------------------------------------------------
/examples/Cpp/Animation/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Animation/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/ClothPhysics.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/Logo_LLGL.png
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.CSForces.450core.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.CSForces.450core.comp.spv
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.CSRelaxation.450core.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.CSRelaxation.450core.comp.spv
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.CSStretchConstraints.450core.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.CSStretchConstraints.450core.comp.spv
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.PS.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.PS.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.VS.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.VS.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.gif
--------------------------------------------------------------------------------
/examples/Cpp/ClothPhysics/Example.iOS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ClothPhysics/Example.iOS.png
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Example.450core.frag:
--------------------------------------------------------------------------------
1 | // GLSL model fragment shader
2 |
3 | #version 450 core
4 |
5 | layout(location = 0) in vec2 vTexCoord;
6 | layout(location = 1) in vec4 vColor;
7 |
8 | layout(location = 0) out vec4 fragColor;
9 |
10 | layout(binding = 2) uniform texture2D glyphTexture;
11 | layout(binding = 3) uniform sampler linearSampler;
12 |
13 | void main()
14 | {
15 | fragColor = vec4(vColor.rgb, vColor.a * texture(sampler2D(glyphTexture, linearSampler), vTexCoord).a);
16 | }
17 |
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Fonts/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Fonts/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL model fragment shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | in vec2 vTexCoord;
10 | in vec4 vColor;
11 |
12 | out vec4 fragColor;
13 |
14 | uniform sampler2D glyphTexture;
15 |
16 | void main()
17 | {
18 | fragColor = vec4(vColor.rgb, vColor.a * texture(glyphTexture, vTexCoord).a);
19 | }
20 |
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Example.iOS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Fonts/Example.iOS.png
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Fonts/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/Fonts/Fonts.assets.txt:
--------------------------------------------------------------------------------
1 | Fonts/Tuffy.atlas-*.png
2 | Fonts/Tuffy.atlas-*.map
3 | Fonts/Black.atlas-*.map
4 | Fonts/Black.atlas-*.png
5 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.Android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.Android.png
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.PSGround.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.PSGround.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.PSInstance.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.PSInstance.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.VSGround.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.VSGround.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.VSInstance.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.VSInstance.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.assets.txt:
--------------------------------------------------------------------------------
1 | Models/HelloGame_*.obj
2 | Textures/Grass.jpg
3 | HelloGame.levels.txt
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.gif
--------------------------------------------------------------------------------
/examples/Cpp/HelloGame/HelloGame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloGame/HelloGame.png
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.120.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.20 (for OpenGL 2.x)
2 | #version 120
3 |
4 | // Fragment input from the vertex shader
5 | varying vec4 vertexColor;
6 |
7 | // Fragment shader main function
8 | void main()
9 | {
10 | gl_FragColor = vertexColor;
11 | }
12 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.120.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.20 compatibility (for OpenGL 2.x)
2 | #version 120
3 |
4 | // Vertex attributes (these names must match our vertex format attributes)
5 | attribute vec2 position;
6 | attribute vec4 color;
7 |
8 | // Vertex output to the fragment shader
9 | varying vec4 vertexColor;
10 |
11 | // Vertex shader main function
12 | void main()
13 | {
14 | gl_Position = vec4(position, 0, 1);
15 | vertexColor = color;
16 | }
17 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.140core.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.40 (for OpenGL 3.1 Core Profile)
2 | #version 140
3 |
4 | // Fragment input from the vertex shader
5 | in vec4 vertexColor;
6 |
7 | // Fragment output color
8 | out vec4 fragColor;
9 |
10 | // Fragment shader main function
11 | void main()
12 | {
13 | fragColor = vertexColor;
14 | }
15 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.140core.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.40 core (for OpenGL 3.1 Core Profile)
2 | #version 140
3 |
4 | // Vertex attributes (these names must match our vertex format attributes)
5 | in vec2 position;
6 | in vec4 color;
7 |
8 | // Vertex output to the fragment shader
9 | out vec4 vertexColor;
10 |
11 | // Vertex shader main function
12 | void main()
13 | {
14 | gl_Position = vec4(position, 0, 1);
15 | vertexColor = color;
16 | }
17 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.450core.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 4.50 (for Vulkan)
2 | #version 450 core
3 |
4 | // Fragment input from the vertex shader
5 | layout(location = 0) in vec3 vertexColor;
6 |
7 | // Fragment output color
8 | layout(location = 0) out vec4 fragColor;
9 |
10 | // Fragment shader main function
11 | void main()
12 | {
13 | fragColor = vec4(vertexColor, 1);
14 | }
15 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloTriangle/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 4.50 (for Vulkan)
2 | #version 450 core
3 |
4 | // Vertex attributes (these names must match our vertex format attributes)
5 | layout(location = 0) in vec2 position;
6 | layout(location = 1) in vec3 color;
7 |
8 | // Vertex output to the fragment shader
9 | layout(location = 0) out vec3 vertexColor;
10 |
11 | out gl_PerVertex
12 | {
13 | vec4 gl_Position;
14 | };
15 |
16 | // Vertex shader main function
17 | void main()
18 | {
19 | gl_Position = vec4(position, 0, 1);
20 | vertexColor = color;
21 | }
22 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloTriangle/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.Android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloTriangle/Example.Android.png
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.30 (for OpenGL 3.1)
2 | #version 130
3 |
4 | #ifdef GL_ES
5 | precision mediump float;
6 | #endif
7 |
8 | // Fragment input from the vertex shader
9 | in vec3 vertexColor;
10 |
11 | // Fragment output color
12 | out vec4 fragColor;
13 |
14 | // Fragment shader main function
15 | void main()
16 | {
17 | fragColor = vec4(vertexColor, 1);
18 | }
19 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.hlsl:
--------------------------------------------------------------------------------
1 | // HLSL shader version 4.0 (for Direct3D 11/ 12)
2 |
3 | struct InputVS
4 | {
5 | float2 position : POSITION;
6 | float3 color : COLOR;
7 | };
8 |
9 | struct OutputVS
10 | {
11 | float4 position : SV_Position;
12 | float3 color : COLOR;
13 | };
14 |
15 | // Vertex shader main function
16 | OutputVS VS(InputVS inp)
17 | {
18 | OutputVS outp;
19 | outp.position = float4(inp.position, 0, 1);
20 | outp.color = inp.color;
21 | return outp;
22 | }
23 |
24 | // Pixel shader main function
25 | float4 PS(OutputVS inp) : SV_Target
26 | {
27 | return float4(inp.color, 1);
28 | };
29 |
30 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloTriangle/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/HelloTriangle/Example.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.30 (for OpenGL 3.1)
2 | #version 130
3 |
4 | #ifdef GL_ES
5 | precision mediump float;
6 | #endif
7 |
8 | // Vertex attributes (these names must match our vertex format attributes)
9 | in vec2 position;
10 | in vec3 color;
11 |
12 | // Vertex output to the fragment shader
13 | out vec3 vertexColor;
14 |
15 | // Vertex shader main function
16 | void main()
17 | {
18 | gl_Position = vec4(position, 0, 1);
19 | vertexColor = color;
20 | }
21 |
--------------------------------------------------------------------------------
/examples/Cpp/HelloUWP/HelloUWP.Example.PS.dxbc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloUWP/HelloUWP.Example.PS.dxbc
--------------------------------------------------------------------------------
/examples/Cpp/HelloUWP/HelloUWP.Example.VS.dxbc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/HelloUWP/HelloUWP.Example.VS.dxbc
--------------------------------------------------------------------------------
/examples/Cpp/HelloUWP/HelloUWP.Example.hlsl:
--------------------------------------------------------------------------------
1 | struct InputVS {
2 | float2 position : POSITION;
3 | float4 color : COLOR;
4 | };
5 | struct OutputVS {
6 | float4 position : SV_Position;
7 | float4 color : COLOR;
8 | };
9 | void VS(InputVS inp, out OutputVS outp) {
10 | outp.position = float4(inp.position, 0, 1);
11 | outp.color = inp.color;
12 | }
13 | float4 PS(OutputVS inp) : SV_Target {
14 | return inp.color;
15 | };
16 |
17 |
--------------------------------------------------------------------------------
/examples/Cpp/IndirectDraw/Example.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/IndirectDraw/Example.comp.spv
--------------------------------------------------------------------------------
/examples/Cpp/IndirectDraw/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL fragment shader
2 |
3 | #version 450 core
4 |
5 | layout(location = 0) in vec4 vColor;
6 |
7 | layout(location = 0) out vec4 fColor;
8 |
9 | void main()
10 | {
11 | fColor = vColor;
12 | }
13 |
14 |
15 |
--------------------------------------------------------------------------------
/examples/Cpp/IndirectDraw/Example.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/IndirectDraw/Example.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/IndirectDraw/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/IndirectDraw/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/IndirectDraw/Example.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/IndirectDraw/Example.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Instancing/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Instancing/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/Instancing/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Instancing/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Instancing/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Instancing/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/Instancing/Instancing.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/Grass.jpg
2 | Textures/Plants_*.png
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.450core.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 4.50 (for Vulkan)
2 | #version 450
3 |
4 | // Fragment input from the geometry shader
5 | layout(location = 0) in vec3 geometryColor;
6 |
7 | // Fragment output color
8 | layout(location = 0) out vec4 fragColor;
9 |
10 | // Fragment shader main function
11 | void main()
12 | {
13 | fragColor = vec4(geometryColor, 1);
14 | }
15 |
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiContext/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.450core.geom.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiContext/Example.450core.geom.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 4.50 (for Vulkan)
2 | #version 450
3 |
4 | // Vertex attributes (these names must match our vertex format attributes)
5 | layout(location = 0) in vec2 position;
6 | layout(location = 1) in vec3 color;
7 |
8 | // Vertex output to the fragment shader
9 | layout(location = 0) out vec3 vertexColor;
10 |
11 | out gl_PerVertex
12 | {
13 | vec4 gl_Position;
14 | };
15 |
16 | // Vertex shader main function
17 | void main()
18 | {
19 | gl_Position = vec4(position, 0, 1);
20 | vertexColor = color;
21 | }
22 |
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiContext/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.50 (for OpenGL 3.2)
2 | #version 150
3 |
4 | // Fragment input from the geometry shader
5 | in vec3 geometryColor;
6 |
7 | // Fragment output color
8 | out vec4 fragColor;
9 |
10 | // Fragment shader main function
11 | void main()
12 | {
13 | fragColor = vec4(geometryColor, 1);
14 | }
15 |
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiContext/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/MultiContext/Example.vert:
--------------------------------------------------------------------------------
1 | // GLSL shader version 1.50 (for OpenGL 3.2)
2 | #version 150
3 |
4 | // Vertex attributes (these names must match our vertex format attributes)
5 | in vec2 position;
6 | in vec3 color;
7 |
8 | // Vertex output to the fragment shader
9 | out vec3 vertexColor;
10 |
11 | // Vertex shader main function
12 | void main()
13 | {
14 | gl_Position = vec4(position, 0, 1);
15 | vertexColor = color;
16 | }
17 |
--------------------------------------------------------------------------------
/examples/Cpp/MultiRenderer/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiRenderer/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiRenderer/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiRenderer/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiRenderer/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiRenderer/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/MultiRenderer/MultiRenderer.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/Logo_Metal.png
2 | Textures/Logo_OpenGL.png
--------------------------------------------------------------------------------
/examples/Cpp/MultiThreading/Example.450core.frag:
--------------------------------------------------------------------------------
1 | // GLSL fragment shader
2 | #version 450 core
3 |
4 | // Fragment input from the vertex shader
5 | layout(location = 0) in vec3 vNormal;
6 | layout(location = 1) in vec3 vColor;
7 |
8 | // Fragment output color
9 | layout(location = 0) out vec4 fragColor;
10 |
11 | // Fragment shader main function
12 | void main()
13 | {
14 | vec4 color = vec4(vColor, 1);
15 |
16 | // Apply lambert factor for simple shading
17 | const vec3 lightVec = vec3(0, 0, -1);
18 | float NdotL = dot(lightVec, normalize(vNormal));
19 | color.rgb *= mix(0.2, 1.0, NdotL);
20 |
21 | fragColor = color;
22 | }
23 |
--------------------------------------------------------------------------------
/examples/Cpp/MultiThreading/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiThreading/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiThreading/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/MultiThreading/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/MultiThreading/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL fragment shader
2 | #version 410
3 |
4 | // Fragment input from the vertex shader
5 | in vec3 vNormal;
6 | in vec3 vColor;
7 |
8 | // Fragment output color
9 | out vec4 fragColor;
10 |
11 | // Fragment shader main function
12 | void main()
13 | {
14 | vec4 color = vec4(vColor, 1);
15 |
16 | // Apply lambert factor for simple shading
17 | const vec3 lightVec = vec3(0, 0, -1);
18 | float NdotL = dot(lightVec, normalize(vNormal));
19 | color.rgb *= mix(0.2, 1.0, NdotL);
20 |
21 | fragColor = color;
22 | }
23 |
--------------------------------------------------------------------------------
/examples/Cpp/MultiThreading/Example.vert:
--------------------------------------------------------------------------------
1 | // GLSL vertex shader
2 | #version 410
3 |
4 | // Vertex attributes (these names must match our vertex format attributes)
5 | in vec3 position;
6 | in vec3 normal;
7 | in vec2 texCoord;
8 |
9 | // Vertex output to the fragment shader
10 | out vec3 vNormal;
11 | out vec3 vColor;
12 |
13 | // Scene settings
14 | layout(std140) uniform Scene
15 | {
16 | mat4 wvpMatrix;
17 | mat4 wMatrix;
18 | };
19 |
20 | // Vertex shader main function
21 | void main()
22 | {
23 | gl_Position = wvpMatrix * vec4(position, 1);
24 | vNormal = normalize((wMatrix * vec4(normal, 0)).xyz);
25 | vColor = vec3(texCoord.x, texCoord.y, 1);
26 | }
27 |
--------------------------------------------------------------------------------
/examples/Cpp/PBR/Example.Mesh.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PBR/Example.Mesh.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/PBR/Example.Mesh.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PBR/Example.Mesh.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/PBR/Example.Sky.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PBR/Example.Sky.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/PBR/Example.Sky.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PBR/Example.Sky.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/PBR/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PBR/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/PBR/PBR.assets.txt:
--------------------------------------------------------------------------------
1 | Models/UVSphere.obj
2 | Models/WiredBox.obj
3 | Textures/PBR/mp_alpha/alpha-island_*.tga
4 | Textures/PBR/Metal04/Metal04_*.jpg
5 | Textures/PBR/Tiles22/Tiles22_*.jpg
6 | Textures/PBR/Tiles26/Tiles26_*.jpg
7 | Textures/PBR/Wood13/Wood13_*.jpg
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Blur.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PostProcessing/Blur.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PostProcessing/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Final.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PostProcessing/Final.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/PostProcess.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PostProcessing/PostProcess.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/PostProcessing.assets.txt:
--------------------------------------------------------------------------------
1 | Models/WiredBox.obj
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Scene.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PostProcessing/Scene.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Scene.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL scene vertex shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform SceneSettings
6 | {
7 | mat4 wvpMatrix;
8 | mat4 wMatrix;
9 | vec4 diffuse;
10 | vec4 glossiness;
11 | float intensity;
12 | };
13 |
14 | layout(location = 0) in vec3 position;
15 | layout(location = 1) in vec3 normal;
16 |
17 | layout(location = 0) out vec3 vNormal;
18 |
19 | out gl_PerVertex
20 | {
21 | vec4 gl_Position;
22 | };
23 |
24 | void main()
25 | {
26 | gl_Position = wvpMatrix * vec4(position, 1);
27 | vNormal = (wMatrix * vec4(normal, 0)).xyz;
28 | }
29 |
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Scene.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/PostProcessing/Scene.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/PostProcessing/Scene.vert:
--------------------------------------------------------------------------------
1 | // GLSL scene vertex shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform SceneSettings
10 | {
11 | mat4 wvpMatrix;
12 | mat4 wMatrix;
13 | vec4 diffuse;
14 | vec4 glossiness;
15 | float intensity;
16 | };
17 |
18 | in vec3 position;
19 | in vec3 normal;
20 |
21 | out vec3 vNormal;
22 |
23 | void main()
24 | {
25 | gl_Position = wvpMatrix * vec4(position, 1);
26 | vNormal = (wMatrix * vec4(normal, 0)).xyz;
27 | }
28 |
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.450core.frag:
--------------------------------------------------------------------------------
1 | // GLSL model fragment shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wvpMatrix;
8 | mat4 wMatrix;
9 | vec4 color;
10 | };
11 |
12 | layout(location = 0) in vec3 vNormal;
13 |
14 | layout(location = 0) out vec4 fragColor;
15 |
16 | void main()
17 | {
18 | vec3 lightDir = vec3(0, 0, -1);
19 | float NdotL = dot(lightDir, normalize(vNormal));
20 | float intensity = max(0.2, NdotL);
21 | fragColor = color * vec4(vec3(intensity), 1);
22 | }
23 |
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Queries/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL model vertex shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wvpMatrix;
8 | mat4 wMatrix;
9 | vec4 color;
10 | };
11 |
12 | layout(location = 0) in vec3 position;
13 | layout(location = 1) in vec3 normal;
14 |
15 | layout(location = 0) out vec3 vNormal;
16 |
17 | out gl_PerVertex
18 | {
19 | vec4 gl_Position;
20 | };
21 |
22 | void main()
23 | {
24 | gl_Position = wvpMatrix * vec4(position, 1);
25 | vNormal = (wMatrix * vec4(normal, 0)).xyz;
26 | }
27 |
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Queries/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL model fragment shader
2 |
3 | #version 140
4 |
5 | layout(std140) uniform Settings
6 | {
7 | mat4 wvpMatrix;
8 | mat4 wMatrix;
9 | vec4 color;
10 | };
11 |
12 | in vec3 vNormal;
13 |
14 | out vec4 fragColor;
15 |
16 | void main()
17 | {
18 | vec3 lightDir = vec3(0, 0, -1);
19 | float NdotL = dot(lightDir, normalize(vNormal));
20 | float intensity = max(0.2, NdotL);
21 | fragColor = color * vec4(vec3(intensity), 1);
22 | }
23 |
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Queries/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Example.vert:
--------------------------------------------------------------------------------
1 | // GLSL model vertex shader
2 |
3 | #version 140
4 |
5 | layout(std140) uniform Settings
6 | {
7 | mat4 wvpMatrix;
8 | mat4 wMatrix;
9 | vec4 color;
10 | };
11 |
12 | in vec3 position;
13 | in vec3 normal;
14 |
15 | out vec3 vNormal;
16 |
17 | void main()
18 | {
19 | gl_Position = wvpMatrix * vec4(position, 1);
20 | vNormal = (wMatrix * vec4(normal, 0)).xyz;
21 | }
22 |
--------------------------------------------------------------------------------
/examples/Cpp/Queries/Queries.assets.txt:
--------------------------------------------------------------------------------
1 | Models/Pyramid.obj
--------------------------------------------------------------------------------
/examples/Cpp/RenderTarget/.gitignore:
--------------------------------------------------------------------------------
1 | /RenderTargetTexture.png
2 |
--------------------------------------------------------------------------------
/examples/Cpp/RenderTarget/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/RenderTarget/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/RenderTarget/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/RenderTarget/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/RenderTarget/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/RenderTarget/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/RenderTarget/Example.vert:
--------------------------------------------------------------------------------
1 | // GLSL model vertex shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | precision mediump int;
8 | #endif
9 |
10 | layout(std140) uniform Settings
11 | {
12 | mat4 wvpMatrix;
13 | mat4 wMatrix;
14 | int useTexture2DMS;
15 | };
16 |
17 | in vec3 position;
18 | in vec3 normal;
19 | in vec2 texCoord;
20 |
21 | out vec3 vNormal;
22 | out vec2 vTexCoord;
23 |
24 | void main()
25 | {
26 | gl_Position = wvpMatrix * vec4(position, 1);
27 | vNormal = normalize((wMatrix * vec4(normal, 0)).xyz);
28 | vTexCoord = texCoord;
29 | }
30 |
--------------------------------------------------------------------------------
/examples/Cpp/RenderTarget/RenderTarget.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/Crate.jpg
--------------------------------------------------------------------------------
/examples/Cpp/ResourceBinding/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ResourceBinding/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/ResourceBinding/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ResourceBinding/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/ResourceBinding/ResourceBinding.assets.txt:
--------------------------------------------------------------------------------
1 | Models/UVSphere.obj
2 | Textures/Crate.jpg
3 | Textures/TilesGray512.jpg
4 | Textures/TilesBlue512.jpg
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ShadowMapping/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/Scene.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ShadowMapping/Scene.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/Scene.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL scene vertex shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wMatrix;
8 | mat4 vpMatrix;
9 | mat4 vpShadowMatrix;
10 | vec4 lightDir;
11 | vec4 diffuse;
12 | };
13 |
14 | layout(location = 0) in vec3 position;
15 | layout(location = 1) in vec3 normal;
16 |
17 | layout(location = 0) out vec4 vWorldPos;
18 | layout(location = 1) out vec4 vNormal;
19 |
20 | void main()
21 | {
22 | vWorldPos = wMatrix * vec4(position, 1);
23 | gl_Position = vpMatrix * vWorldPos;
24 | vNormal = normalize(wMatrix * vec4(normal, 0));
25 | }
26 |
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/Scene.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ShadowMapping/Scene.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/Scene.vert:
--------------------------------------------------------------------------------
1 | // GLSL scene vertex shader
2 |
3 | #version 140
4 |
5 | #if GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform Settings
10 | {
11 | mat4 wMatrix;
12 | mat4 vpMatrix;
13 | mat4 vpShadowMatrix;
14 | vec4 lightDir;
15 | vec4 diffuse;
16 | };
17 |
18 | in vec3 position;
19 | in vec3 normal;
20 |
21 | out vec4 vWorldPos;
22 | out vec4 vNormal;
23 |
24 | void main()
25 | {
26 | vWorldPos = wMatrix * vec4(position, 1);
27 | gl_Position = vpMatrix * vWorldPos;
28 | vNormal = normalize(wMatrix * vec4(normal, 0));
29 | }
30 |
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/ShadowMap.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL shadow-map vertex shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wMatrix;
8 | mat4 vpMatrix;
9 | mat4 vpShadowMatrix;
10 | vec4 lightDir;
11 | vec4 diffuse;
12 | };
13 |
14 | layout(location = 0) in vec3 position;
15 |
16 | void main()
17 | {
18 | gl_Position = vpShadowMatrix * (wMatrix * vec4(position, 1));
19 | }
20 |
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/ShadowMap.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/ShadowMapping/ShadowMap.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/ShadowMap.vert:
--------------------------------------------------------------------------------
1 | // GLSL shadow-map vertex shader
2 |
3 | #version 140
4 |
5 | #if GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform Settings
10 | {
11 | mat4 wMatrix;
12 | mat4 vpMatrix;
13 | mat4 vpShadowMatrix;
14 | vec4 lightDir;
15 | vec4 diffuse;
16 | };
17 |
18 | in vec3 position;
19 |
20 | void main()
21 | {
22 | gl_Position = vpShadowMatrix * (wMatrix * vec4(position, 1));
23 | }
24 |
--------------------------------------------------------------------------------
/examples/Cpp/ShadowMapping/ShadowMapping.assets.txt:
--------------------------------------------------------------------------------
1 | Models/SimpleRoom.obj
2 | Models/WiredBox.obj
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/StencilBuffer/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Scene.450core.frag:
--------------------------------------------------------------------------------
1 | // GLSL stencil fragment shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wMatrix;
8 | mat4 vpMatrix;
9 | vec4 lightDir;
10 | vec4 diffuse;
11 | };
12 |
13 | layout(location = 0) in vec4 vNormal;
14 |
15 | layout(location = 0) out vec4 fColor;
16 |
17 | void main()
18 | {
19 | // Compute lighting
20 | vec3 normal = normalize(vNormal.xyz);
21 | float NdotL = max(0.2, dot(normal, -lightDir.xyz));
22 |
23 | // Set final output color
24 | fColor = vec4(diffuse.rgb * NdotL, 1.0);
25 | }
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Scene.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/StencilBuffer/Scene.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Scene.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL stencil vertex shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wMatrix;
8 | mat4 vpMatrix;
9 | vec4 lightDir;
10 | vec4 diffuse;
11 | };
12 |
13 | layout(location = 0) in vec3 position;
14 | layout(location = 1) in vec3 normal;
15 |
16 | layout(location = 0) out vec4 vNormal;
17 |
18 | void main()
19 | {
20 | gl_Position = vpMatrix * (wMatrix * vec4(position, 1));
21 | vNormal = wMatrix * vec4(normal, 0);
22 | }
23 |
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Scene.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/StencilBuffer/Scene.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Scene.frag:
--------------------------------------------------------------------------------
1 | // GLSL stencil fragment shader
2 |
3 | #version 330 core
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform Settings
10 | {
11 | mat4 wMatrix;
12 | mat4 vpMatrix;
13 | vec4 lightDir;
14 | vec4 diffuse;
15 | };
16 |
17 | in vec4 vNormal;
18 |
19 | out vec4 fColor;
20 |
21 | void main()
22 | {
23 | // Compute lighting
24 | vec3 normal = normalize(vNormal.xyz);
25 | float NdotL = max(0.2, dot(normal, -lightDir.xyz));
26 |
27 | // Set final output color
28 | fColor = vec4(diffuse.rgb * NdotL, 1.0);
29 | }
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Scene.vert:
--------------------------------------------------------------------------------
1 | // GLSL stencil vertex shader
2 |
3 | #version 330 core
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform Settings
10 | {
11 | mat4 wMatrix;
12 | mat4 vpMatrix;
13 | vec4 lightDir;
14 | vec4 diffuse;
15 | };
16 |
17 | in vec3 position;
18 | in vec3 normal;
19 |
20 | out vec4 vNormal;
21 |
22 | void main()
23 | {
24 | gl_Position = vpMatrix * (wMatrix * vec4(position, 1));
25 | vNormal = wMatrix * vec4(normal, 0);
26 | }
27 |
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Stencil.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL stencil vertex shader
2 |
3 | #version 450 core
4 |
5 | layout(std140, binding = 1) uniform Settings
6 | {
7 | mat4 wMatrix;
8 | mat4 vpMatrix;
9 | vec4 lightDir;
10 | vec4 diffuse;
11 | };
12 |
13 | layout(location = 0) in vec3 position;
14 |
15 | void main()
16 | {
17 | gl_Position = vpMatrix * (wMatrix * vec4(position, 1));
18 | }
19 |
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Stencil.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/StencilBuffer/Stencil.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/Stencil.vert:
--------------------------------------------------------------------------------
1 | // GLSL stencil vertex shader
2 |
3 | #version 330 core
4 |
5 | layout(std140) uniform Settings
6 | {
7 | mat4 wMatrix;
8 | mat4 vpMatrix;
9 | vec4 lightDir;
10 | vec4 diffuse;
11 | };
12 |
13 | in vec3 position;
14 |
15 | void main()
16 | {
17 | gl_Position = vpMatrix * (wMatrix * vec4(position, 1));
18 | }
19 |
--------------------------------------------------------------------------------
/examples/Cpp/StencilBuffer/StencilBuffer.assets.txt:
--------------------------------------------------------------------------------
1 | Models/Portal-*.obj
2 | Models/WiredBox.obj
3 | Models/Pyramid.obj
--------------------------------------------------------------------------------
/examples/Cpp/Tessellation/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Tessellation/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/Tessellation/Example.450core.tesc.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Tessellation/Example.450core.tesc.spv
--------------------------------------------------------------------------------
/examples/Cpp/Tessellation/Example.450core.tese.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Tessellation/Example.450core.tese.spv
--------------------------------------------------------------------------------
/examples/Cpp/Tessellation/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Tessellation/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Tessellation/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Tessellation/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/Tessellation/Tessellation.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/PBR/rocks/*.jpg
2 | Textures/PBR/rocks/*.png
3 | Models/UVCube2x.obj
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Texturing/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Example.450core.vert:
--------------------------------------------------------------------------------
1 | // GLSL texturing vertex shader
2 |
3 | #version 450
4 |
5 | layout(std140, binding = 1) uniform Scene
6 | {
7 | mat4 wvpMatrix;
8 | mat4 wMatrix;
9 | };
10 |
11 | layout(location = 0) in vec3 position;
12 | layout(location = 1) in vec3 normal;
13 | layout(location = 2) in vec2 texCoord;
14 |
15 | layout(location = 0) out vec3 vNormal;
16 | layout(location = 1) out vec2 vTexCoord;
17 |
18 | out gl_PerVertex
19 | {
20 | vec4 gl_Position;
21 | };
22 |
23 | void main()
24 | {
25 | gl_Position = wvpMatrix * vec4(position, 1);
26 | vNormal = normalize((wMatrix * vec4(normal, 0)).xyz);
27 | vTexCoord = texCoord;
28 | }
29 |
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Texturing/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Example.frag:
--------------------------------------------------------------------------------
1 | // GLSL texturing fragment shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | uniform sampler2D colorMap;
10 |
11 | in vec3 vNormal;
12 | in vec2 vTexCoord;
13 |
14 | out vec4 fragColor;
15 |
16 | void main()
17 | {
18 | vec4 color = texture(colorMap, vTexCoord);
19 |
20 | // Apply lambert factor for simple shading
21 | const vec3 lightVec = vec3(0, 0, -1);
22 | float NdotL = dot(lightVec, normalize(vNormal));
23 | color.rgb *= mix(0.2, 1.0, NdotL);
24 |
25 | fragColor = color;
26 | }
27 |
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/Texturing/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Example.vert:
--------------------------------------------------------------------------------
1 | // GLSL texturing vertex shader
2 |
3 | #version 140
4 |
5 | #ifdef GL_ES
6 | precision mediump float;
7 | #endif
8 |
9 | layout(std140) uniform Scene
10 | {
11 | mat4 wvpMatrix;
12 | mat4 wMatrix;
13 | };
14 |
15 | in vec3 position;
16 | in vec3 normal;
17 | in vec2 texCoord;
18 |
19 | out vec3 vNormal;
20 | out vec2 vTexCoord;
21 |
22 | void main()
23 | {
24 | gl_Position = wvpMatrix * vec4(position, 1);
25 | vNormal = normalize((wMatrix * vec4(normal, 0)).xyz);
26 | vTexCoord = texCoord;
27 | }
28 |
--------------------------------------------------------------------------------
/examples/Cpp/Texturing/Texturing.assets.txt:
--------------------------------------------------------------------------------
1 | Textures/Crate-DXT1-MipMapped.dds
2 | Textures/Crate.jpg
--------------------------------------------------------------------------------
/examples/Cpp/VolumeRendering/Example.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/VolumeRendering/Example.450core.frag.spv
--------------------------------------------------------------------------------
/examples/Cpp/VolumeRendering/Example.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/VolumeRendering/Example.450core.vert.spv
--------------------------------------------------------------------------------
/examples/Cpp/VolumeRendering/Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Cpp/VolumeRendering/Example.png
--------------------------------------------------------------------------------
/examples/Cpp/VolumeRendering/VolumeRendering.assets.txt:
--------------------------------------------------------------------------------
1 | Models/Suzanne.obj
--------------------------------------------------------------------------------
/examples/Go/README.md:
--------------------------------------------------------------------------------
1 | # Go examples
2 |
3 |

4 |
5 | ## Build and run examples with Go wrapper
6 |
7 | On Windows, the LLGL Go wrapper can be build via MSYS2/CLANG64 environment (see https://www.msys2.org/docs/environments/).
8 | Use the `BuildMsys2.sh` script from the root directory of this repository to build the library that is compatible with **cgo**.
9 |
10 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Fonts/Black.LICENSE.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Fonts/Black.LICENSE.txt
--------------------------------------------------------------------------------
/examples/Shared/Assets/Fonts/Black.atlas-23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Fonts/Black.atlas-23.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Fonts/Black.atlas-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Fonts/Black.atlas-50.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Fonts/Tuffy.LICENSE.txt:
--------------------------------------------------------------------------------
1 | We, the copyright holders of this work, hereby release it into the
2 | public domain. This applies worldwide.
3 |
4 | In case this is not legally possible,
5 |
6 | We grant any entity the right to use this work for any purpose, without
7 | any conditions, unless such conditions are required by law.
8 |
9 | Thatcher Ulrich http://tulrich.com
10 | Karoly Barta bartakarcsi@gmail.com
11 | Michael Evans http://www.evertype.com
12 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Fonts/Tuffy.atlas-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Fonts/Tuffy.atlas-12.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Fonts/Tuffy.atlas-23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Fonts/Tuffy.atlas-23.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Models/HelloGame_Ground.obj:
--------------------------------------------------------------------------------
1 | # Blender 4.0.2
2 | # www.blender.org
3 | o Plane
4 | v -200.000000 -1.000000 200.000000
5 | v 200.000000 -1.000000 200.000000
6 | v -200.000000 -1.000000 -200.000000
7 | v 200.000000 -1.000000 -200.000000
8 | vn -0.0000 1.0000 -0.0000
9 | vt 0.999900 0.000100
10 | vt 0.000100 0.999900
11 | vt 0.000100 0.000100
12 | vt 0.999900 0.999900
13 | s 0
14 | f 2/1/1 3/2/1 1/3/1
15 | f 2/1/1 4/4/1 3/2/1
16 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Models/Portal-Stencil.obj:
--------------------------------------------------------------------------------
1 | # Blender v2.77 (sub 0) OBJ File: 'Portal.blend'
2 | # www.blender.org
3 | o Portal_Cylinder.001
4 | v 0.800000 -1.866724 0.000000
5 | v 0.800000 1.760000 0.000000
6 | v -0.800000 -1.866724 -0.000000
7 | v -0.800000 1.760000 -0.000000
8 | vn 0.0000 0.0000 -1.0000
9 | s off
10 | f 2//1 3//1 4//1
11 | f 2//1 1//1 3//1
12 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Crate-DXT1-MipMapped.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Crate-DXT1-MipMapped.dds
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Crate-DXT1-NoMipMaps.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Crate-DXT1-NoMipMaps.dds
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Crate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Crate.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Grass.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Grass.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Logo_Direct3D11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Logo_Direct3D11.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Logo_Direct3D12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Logo_Direct3D12.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Logo_LLGL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Logo_LLGL.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Logo_Metal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Logo_Metal.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Logo_OpenGL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Logo_OpenGL.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Logo_Vulkan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Logo_Vulkan.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Metal04/LICENSE.txt:
--------------------------------------------------------------------------------
1 | PBR textures are from https://www.cc0textures.com and licensed under the public domain.
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_col.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_col.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_met.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_met.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_nrm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_nrm.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_rgh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Metal04/Metal04_rgh.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles22/LICENSE.txt:
--------------------------------------------------------------------------------
1 | PBR textures are from https://www.cc0textures.com and licensed under the public domain.
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles22/Tiles22_col.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Tiles22/Tiles22_col.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles22/Tiles22_nrm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Tiles22/Tiles22_nrm.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles22/Tiles22_rgh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Tiles22/Tiles22_rgh.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles26/LICENSE.txt:
--------------------------------------------------------------------------------
1 | PBR textures are from https://www.cc0textures.com and licensed under the public domain.
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles26/Tiles26_col.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Tiles26/Tiles26_col.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles26/Tiles26_nrm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Tiles26/Tiles26_nrm.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Tiles26/Tiles26_rgh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Tiles26/Tiles26_rgh.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Wood13/LICENSE.txt:
--------------------------------------------------------------------------------
1 | PBR textures are from https://www.cc0textures.com and licensed under the public domain.
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Wood13/Wood13_col.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Wood13/Wood13_col.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Wood13/Wood13_nrm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Wood13/Wood13_nrm.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/Wood13/Wood13_rgh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/Wood13/Wood13_rgh.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_bk.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_bk.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_dn.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_dn.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_ft.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_ft.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_lf.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_lf.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_rt.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_rt.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_up.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_alpha/alpha-island_up.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_alpha/license.txt:
--------------------------------------------------------------------------------
1 | This skybox has been created by 'The Mighty Pete'. He can be reached
2 | at the following WEB site:
3 |
4 | http://www.petesoasis.com
5 |
6 | The author grants you the right to freely use this sky box in your projects
7 | and distribute it under the GNU General Public License version 2.
8 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_bk.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_bk.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_dn.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_dn.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_ft.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_ft.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_lf.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_lf.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_rt.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_rt.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_up.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_hanging/hangingstone_up.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_hanging/license.txt:
--------------------------------------------------------------------------------
1 | This skybox has been created by 'The Mighty Pete'. He can be reached
2 | at the following WEB site:
3 |
4 | http://www.petesoasis.com
5 |
6 | The author grants you the right to freely use this sky box in your projects
7 | and distribute it under the GNU General Public License version 2.
8 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/license.txt:
--------------------------------------------------------------------------------
1 | This skybox has been created by 'The Mighty Pete'. He can be reached
2 | at the following WEB site:
3 |
4 | http://www.petesoasis.com
5 |
6 | The author grants you the right to freely use this sky box in your projects
7 | and distribute it under the GNU General Public License version 2.
8 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/vr_bk.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_vr/vr_bk.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/vr_dn.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_vr/vr_dn.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/vr_ft.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_vr/vr_ft.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/vr_lf.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_vr/vr_lf.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/vr_rt.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_vr/vr_rt.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/mp_vr/vr_up.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/mp_vr/vr_up.tga
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks.license.txt:
--------------------------------------------------------------------------------
1 | License:
2 | CC0
3 |
4 | Source:
5 | https://polyhaven.com/a/gray_rocks
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_diff_1k.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_diff_1k.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_disp_1k.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_disp_1k.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_nor_gl_1k.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_nor_gl_1k.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_spec_1k.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/PBR/rocks/gray_rocks_spec_1k.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_0.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_1.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_2.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_3.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_4.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_5.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_6.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_7.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_8.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/Plants_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/Plants_9.png
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/TEXTURES-LICENSE.txt:
--------------------------------------------------------------------------------
1 |
2 | Most of these textures come from "http://www.textures.com/".
3 | They are only included in this repository for graphical demonstration purposes.
4 |
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/TilesBlue512.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/TilesBlue512.jpg
--------------------------------------------------------------------------------
/examples/Shared/Assets/Textures/TilesGray512.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Assets/Textures/TilesGray512.jpg
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/Android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/Android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | LLGL_APP_NAME
4 |
5 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | plugins {
3 | id 'com.android.application' version '8.3.0' apply false
4 | id 'com.android.library' version '8.3.0' apply false
5 | id 'org.jetbrains.kotlin.android' version '1.7.21' apply false
6 | }
7 |
8 | task clean(type: Delete) {
9 | delete rootProject.buildDir
10 | }
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/Android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | gradlePluginPortal()
4 | google()
5 | mavenCentral()
6 | }
7 | }
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | }
15 | include ':app'
16 |
17 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/iOS/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * AppDelegate.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #import
9 |
10 | @interface AppDelegate : UIResponder
11 |
12 | @end
13 |
14 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/iOS/AppIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/iOS/AppIcon.png
--------------------------------------------------------------------------------
/examples/Shared/Platform/iOS/AppMain.m:
--------------------------------------------------------------------------------
1 | /*
2 | * AppMain.m
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #import
9 | #import "AppDelegate.h"
10 |
11 | int main(int argc, char * argv[])
12 | {
13 | @autoreleasepool
14 | {
15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/iOS/AppUtils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * AppUtils.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 | // Tries to find the specified filename in the main NSBundle.
11 | std::string FindNSResourcePath(const std::string& filename);
12 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/iOS/AppUtils.mm:
--------------------------------------------------------------------------------
1 | /*
2 | * AppUtils.mm
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #import "AppUtils.h"
9 | #import
10 |
11 |
12 | std::string FindNSResourcePath(const std::string& filename)
13 | {
14 | NSString* filenameNS = [[NSString alloc] initWithCString:filename.c_str() encoding:NSASCIIStringEncoding];
15 | NSString* path = [[NSBundle mainBundle] pathForResource:filenameNS ofType:nil];
16 | [filenameNS release];
17 | return (path != nil ? std::string([path UTF8String]) : "");
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/examples/Shared/Platform/macOS/AppIcon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/examples/Shared/Platform/macOS/AppIcon.icns
--------------------------------------------------------------------------------
/examples/Shared/Platform/macOS/AppUtils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * AppUtils.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 | // Tries to find the specified filename in the main NSBundle.
11 | std::string FindNSResourcePath(const std::string& filename);
12 |
--------------------------------------------------------------------------------
/include/LLGL-C/Buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Buffer.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_BUFFER_H
9 | #define LLGL_C99_BUFFER_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | LLGL_C_EXPORT long llglGetBufferBindFlags(LLGLBuffer buffer);
17 | LLGL_C_EXPORT void llglGetBufferDesc(LLGLBuffer buffer, LLGLBufferDescriptor* outDesc);
18 |
19 |
20 | #endif
21 |
22 |
23 |
24 | // ================================================================================
25 |
--------------------------------------------------------------------------------
/include/LLGL-C/BufferArray.h:
--------------------------------------------------------------------------------
1 | /*
2 | * BufferArray.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_BUFFER_ARRAY_H
9 | #define LLGL_C99_BUFFER_ARRAY_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | LLGL_C_EXPORT long llglGetBufferArrayBindFlags(LLGLBufferArray bufferArray);
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/include/LLGL-C/Export.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Export.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C_EXPORT_H
9 | #define LLGL_C_EXPORT_H
10 |
11 |
12 | #include
13 |
14 |
15 | #ifdef __cplusplus
16 | # define LLGL_C_EXPORT extern "C" LLGL_EXPORT
17 | #else
18 | # define LLGL_C_EXPORT LLGL_EXPORT
19 | #endif
20 |
21 |
22 | #endif
23 |
24 |
25 |
26 | // ================================================================================
27 |
--------------------------------------------------------------------------------
/include/LLGL-C/FlagsAndDescriptors.h:
--------------------------------------------------------------------------------
1 | /*
2 | * FlagsAndDescriptors.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_FLAGS_AND_DESCRIPTORS_H
9 | #define LLGL_C99_FLAGS_AND_DESCRIPTORS_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | LLGL_C_EXPORT const LLGLFormatAttributes* llglGetFormatAttribs(LLGLFormat format);
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/include/LLGL-C/PipelineState.h:
--------------------------------------------------------------------------------
1 | /*
2 | * PipelineState.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_PIPELINE_STATE_H
9 | #define LLGL_C99_PIPELINE_STATE_H
10 |
11 |
12 |
13 | #include
14 | #include
15 |
16 |
17 | LLGL_C_EXPORT LLGLReport llglGetPipelineStateReport(LLGLPipelineState pipelineState);
18 |
19 |
20 | #endif
21 |
22 |
23 |
24 | // ================================================================================
25 |
--------------------------------------------------------------------------------
/include/LLGL-C/QueryHeap.h:
--------------------------------------------------------------------------------
1 | /*
2 | * QueryHeap.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_QUERY_HEAP_H
9 | #define LLGL_C99_QUERY_HEAP_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | LLGL_C_EXPORT LLGLQueryType llglGetQueryHeapType(LLGLQueryHeap queryHeap);
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/include/LLGL-C/ResourceHeap.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ResourceHeap.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_RESOURCE_HEAP_H
9 | #define LLGL_C99_RESOURCE_HEAP_H
10 |
11 |
12 | #include
13 | #include
14 | #include
15 |
16 |
17 | LLGL_C_EXPORT uint32_t llglGetResourceHeapNumDescriptorSets(LLGLResourceHeap resourceHeap);
18 |
19 |
20 | #endif
21 |
22 |
23 |
24 | // ================================================================================
25 |
--------------------------------------------------------------------------------
/include/LLGL-C/Timer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Timer.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_TIMER_H
9 | #define LLGL_C99_TIMER_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | LLGL_C_EXPORT uint64_t llglTimerFrequency();
17 | LLGL_C_EXPORT uint64_t llglTimerTick();
18 |
19 |
20 | #endif
21 |
22 |
23 |
24 | // ================================================================================
25 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/Buffer.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * Buffer.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | virtual LLGL::BufferDescriptor GetDesc(
9 | void
10 | ) const override final;
11 |
12 | virtual bool GetNativeHandle(
13 | void* nativeHandle,
14 | std::size_t nativeHandleSize
15 | ) override final;
16 |
17 |
18 |
19 | // ================================================================================
20 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/CommandBuffer.Debugging.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * CommandBuffer.Debugging.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Debugging ----- */
9 |
10 | virtual void PushDebugGroup(
11 | const char* name
12 | ) override final;
13 |
14 | virtual void PopDebugGroup(
15 | void
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/CommandBuffer.Encoding.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * CommandBuffer.Encoding.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Encoding ----- */
9 |
10 | virtual void Begin(
11 | void
12 | ) override final;
13 |
14 | virtual void End(
15 | void
16 | ) override final;
17 |
18 | virtual void Execute(
19 | LLGL::CommandBuffer& secondaryCommandBuffer
20 | ) override final;
21 |
22 |
23 |
24 | // ================================================================================
25 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/CommandBuffer.Extensions.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * CommandBuffer.Extensions.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Extensions ----- */
9 |
10 | virtual void DoNativeCommand(
11 | const void* nativeCommand,
12 | std::size_t nativeCommandSize
13 | ) override final;
14 |
15 | virtual bool GetNativeHandle(
16 | void* nativeHandle,
17 | std::size_t nativeHandleSize
18 | ) override final;
19 |
20 |
21 |
22 | // ================================================================================
23 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/CommandBuffer.StreamOutput.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * CommandBuffer.StreamOutput.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Stream Output ------ */
9 |
10 | virtual void BeginStreamOutput(
11 | std::uint32_t numBuffers,
12 | LLGL::Buffer* const * buffers
13 | ) override final;
14 |
15 | virtual void EndStreamOutput(
16 | void
17 | ) override final;
18 |
19 |
20 |
21 | // ================================================================================
22 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.CommandBuffer.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.CommandBuffer.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Command buffers ----- */
9 |
10 | virtual LLGL::CommandBuffer* CreateCommandBuffer(
11 | const LLGL::CommandBufferDescriptor& commandBufferDesc = {}
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::CommandBuffer& commandBuffer
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.CommandQueue.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.CommandQueue.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Command queues ----- */
9 |
10 | virtual LLGL::CommandQueue* GetCommandQueue(
11 | void
12 | ) override final;
13 |
14 |
15 |
16 | // ================================================================================
17 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.Extensions.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.Extensions.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Extensions ----- */
9 |
10 | virtual bool GetNativeHandle(
11 | void* nativeHandle,
12 | std::size_t nativeHandleSize
13 | ) override final;
14 |
15 |
16 |
17 | // ================================================================================
18 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.Fence.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.Fence.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Fences ----- */
9 |
10 | virtual LLGL::Fence* CreateFence(
11 | void
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::Fence& fence
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.Internal.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.Internal.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Internal ------ */
9 |
10 | virtual bool QueryRendererDetails(
11 | LLGL::RendererInfo* outInfo,
12 | LLGL::RenderingCapabilities* outCaps)
13 | override final;
14 |
15 |
16 |
17 | // ================================================================================
18 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.PipelineCache.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.PipelineCache.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Pipeline Caches ----- */
9 |
10 | virtual LLGL::PipelineCache* CreatePipelineCache(
11 | const LLGL::Blob& initialBlob = {}
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::PipelineCache& pipelineCache
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.PipelineLayout.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.PipelineLayouts.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Pipeline Layouts ----- */
9 |
10 | virtual LLGL::PipelineLayout* CreatePipelineLayout(
11 | const LLGL::PipelineLayoutDescriptor& pipelineLayoutDesc
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::PipelineLayout& pipelineLayout
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.QueryHeap.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.QueryHeap.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Query heaps ----- */
9 |
10 | virtual LLGL::QueryHeap* CreateQueryHeap(
11 | const LLGL::QueryHeapDescriptor& queryHeapDesc
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::QueryHeap& queryHeap
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.RenderPass.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.RenderPass.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Render Passes ----- */
9 |
10 | virtual LLGL::RenderPass* CreateRenderPass(
11 | const LLGL::RenderPassDescriptor& renderPassDesc
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::RenderPass& renderPass
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.RenderTarget.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.RenderTarget.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Render Targets ----- */
9 |
10 | virtual LLGL::RenderTarget* CreateRenderTarget(
11 | const LLGL::RenderTargetDescriptor& renderTargetDesc
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::RenderTarget& renderTarget
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.Sampler.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.Sampler.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Samplers ---- */
9 |
10 | virtual LLGL::Sampler* CreateSampler(
11 | const LLGL::SamplerDescriptor& samplerDesc
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::Sampler& sampler
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/RenderSystem.Shader.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * RenderSystem.Shader.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | /* ----- Shaders ----- */
9 |
10 | virtual LLGL::Shader* CreateShader(
11 | const LLGL::ShaderDescriptor& shaderDesc
12 | ) override final;
13 |
14 | virtual void Release(
15 | LLGL::Shader& shader
16 | ) override final;
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/Sampler.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * Sampler.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | virtual bool GetNativeHandle(
9 | void* nativeHandle,
10 | std::size_t nativeHandleSize
11 | ) override final;
12 |
13 |
14 |
15 | // ================================================================================
16 |
--------------------------------------------------------------------------------
/include/LLGL/Backend/Shader.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * Shader.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | virtual const LLGL::Report* GetReport(
9 | void
10 | ) const override final;
11 |
12 | virtual bool Reflect(
13 | LLGL::ShaderReflection& reflection
14 | ) const override final;
15 |
16 |
17 |
18 | // ================================================================================
19 |
--------------------------------------------------------------------------------
/include/LLGL/Export.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Export.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_EXPORT_H
9 | #define LLGL_EXPORT_H
10 |
11 |
12 | #if defined _MSC_VER && !defined LLGL_BUILD_STATIC_LIB
13 | # define LLGL_EXPORT __declspec(dllexport)
14 | #else
15 | # define LLGL_EXPORT
16 | #endif
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/include/README.md:
--------------------------------------------------------------------------------
1 | # Root directory to include LLGL
2 |
3 | This should be your directory to add to your include paths for C and C++.
4 | All LLGL headers include their dependencies via `` and so should your application.
5 | For instance, add `#include ` at the top of your source files for C++ applications and `#include ` for C applications.
6 |
7 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 | Page Redirection
10 |
11 |
12 | If you are not redirected automatically, follow this link.
13 |
14 |
--------------------------------------------------------------------------------
/scripts/.gitignore:
--------------------------------------------------------------------------------
1 | LLGLWrapper.*
2 | __pycache__
--------------------------------------------------------------------------------
/scripts/CompileGlslToSpirv.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | if "%1"=="" (
4 | echo Usage: CompileGlslToSpirv.bat FILE [STAGE]
5 | exit 1
6 | )
7 |
8 | set INPUT_FILE=%1
9 | set OUTPUT_FILE=%INPUT_FILE%.spv
10 |
11 | if "%2"=="" (
12 | glslangValidator -V -DENABLE_SPIRV=1 -o %OUTPUT_FILE% %INPUT_FILE%
13 | ) else (
14 | glslangValidator -V -DENABLE_SPIRV=1 -S %2 -o %OUTPUT_FILE% %INPUT_FILE%
15 | )
16 |
--------------------------------------------------------------------------------
/scripts/ReadFileAsHexStringDecl.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 |
4 | if "%2" == "" (
5 | echo "usage: ReadFileAsHexStringDecl.bat INPUT DECL"
6 | exit 1
7 | )
8 |
9 | set INPUT=%1
10 | set DECL=%2
11 |
12 | set SCRIPT_PATH=%~dp0ReadFileAsHexString.py
13 | echo static const char* %DECL% =
14 | python3 "%SCRIPT_PATH%" -spaces 4 -offsets cxx "%INPUT%"
15 | echo ;
16 | echo|set /p="static const std::size_t %DECL%_Len = "
17 | for /F "tokens=*" %%F in ('python3 "%SCRIPT_PATH%" -len -paren "%INPUT%"') do set STR_LEN_LINE=%%F
18 | echo %STR_LEN_LINE%;
19 |
--------------------------------------------------------------------------------
/scripts/ReadFileAsHexStringDecl.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ $# -ne 1 ] && [ $# -ne 2 ]; then
4 | echo "usage: ReadFileAsHexStringDecl.sh INPUT [DECL]"
5 | exit 1
6 | fi
7 |
8 | INPUT=$1
9 | DECL=$(basename $1)
10 | if [ $# -eq 2 ]; then
11 | DECL=$2
12 | fi
13 |
14 | SCRIPT_PATH="$(dirname $0)/ReadFileAsHexString.py"
15 | echo "static const char* ${DECL} =" | sed -e "s/\./_/"
16 | python3 "$SCRIPT_PATH" -spaces 4 -offsets cxx "$INPUT"
17 | echo ";"
18 | echo -n "static const std::size_t ${DECL}_Len = " | sed -e "s/\./_/"
19 | STR_LEN_LINE=$(python3 "$SCRIPT_PATH" -len -paren "$INPUT")
20 | echo "${STR_LEN_LINE};"
21 |
--------------------------------------------------------------------------------
/sources/Core/PackStructPop.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * PackStructPop.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifdef _MSC_VER
9 | # pragma pack(pop, packing)
10 | #endif
11 |
12 | #undef LLGL_PACK_STRUCT
13 |
14 |
15 |
16 | // ================================================================================
17 |
--------------------------------------------------------------------------------
/sources/Core/PackStructPush.inl:
--------------------------------------------------------------------------------
1 | /*
2 | * PackStructPush.inl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #if defined _MSC_VER
9 | # pragma pack(push, packing)
10 | # pragma pack(1)
11 | # define LLGL_PACK_STRUCT
12 | #elif defined __GNUC__ || defined __clang__
13 | # define LLGL_PACK_STRUCT __attribute__((packed))
14 | #else
15 | # define LLGL_PACK_STRUCT
16 | #endif
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/sources/Platform/Android/AndroidDebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | * AndroidDebug.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_ANDROID_DEBUG_H
9 | #define LLGL_ANDROID_DEBUG_H
10 |
11 |
12 | #include
13 |
14 | #ifdef SIGTRAP
15 | # define LLGL_DEBUG_BREAK() raise(SIGTRAP)
16 | #else
17 | # define LLGL_DEBUG_BREAK()
18 | #endif
19 |
20 |
21 | #endif
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Platform/Android/AndroidKeyCodes.h:
--------------------------------------------------------------------------------
1 | /*
2 | * AndroidKeyCodes.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_ANDROID_KEY_CODES_H
9 | #define LLGL_ANDROID_KEY_CODES_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | namespace LLGL
17 | {
18 |
19 |
20 | Key MapAndroidKeyCode(std::int32_t keycode);
21 |
22 |
23 | } // /namespace LLGL
24 |
25 |
26 | #endif
27 |
28 |
29 |
30 | // ================================================================================
31 |
--------------------------------------------------------------------------------
/sources/Platform/IOS/IOSDebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IOSDebug.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_IOS_DEBUG_H
9 | #define LLGL_IOS_DEBUG_H
10 |
11 |
12 | #include
13 |
14 | #ifdef SIGTRAP
15 | # define LLGL_DEBUG_BREAK() raise(SIGTRAP)
16 | #else
17 | # define LLGL_DEBUG_BREAK()
18 | #endif
19 |
20 |
21 | #endif
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Platform/Linux/LinuxDebug.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * LinuxDebug.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include "../Debug.h"
9 | #include
10 |
11 |
12 | namespace LLGL
13 | {
14 |
15 |
16 | LLGL_EXPORT void DebugPuts(const char* text)
17 | {
18 | ::fprintf(stderr, "%s\n", text);
19 | }
20 |
21 |
22 | } // /namespace LLGL
23 |
24 |
25 |
26 | // ================================================================================
27 |
--------------------------------------------------------------------------------
/sources/Platform/Linux/LinuxDebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | * LinuxDebug.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_LINUX_DEBUG_H
9 | #define LLGL_LINUX_DEBUG_H
10 |
11 |
12 | #include
13 |
14 | #ifdef SIGTRAP
15 | # define LLGL_DEBUG_BREAK() raise(SIGTRAP)
16 | #else
17 | # define LLGL_DEBUG_BREAK()
18 | #endif
19 |
20 |
21 | #endif
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Platform/Linux/MapKey.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MapKey.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_MAP_KEY_H
9 | #define LLGL_MAP_KEY_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | namespace LLGL
17 | {
18 |
19 |
20 | Key MapKey(XKeyEvent& keyEvent);
21 |
22 |
23 | } // /namespace LLGL
24 |
25 |
26 | #endif
27 |
28 |
29 |
30 | // ================================================================================
31 |
--------------------------------------------------------------------------------
/sources/Platform/MacOS/MacOSDebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MacOSDebug.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_MACOS_DEBUG_H
9 | #define LLGL_MACOS_DEBUG_H
10 |
11 |
12 | #include
13 |
14 | #ifdef SIGTRAP
15 | # define LLGL_DEBUG_BREAK() raise(SIGTRAP)
16 | #else
17 | # define LLGL_DEBUG_BREAK()
18 | #endif
19 |
20 |
21 | #endif
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Platform/MacOS/MapKey.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MapKey.h (MacOS)
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_MAP_KEY_H
9 | #define LLGL_MAP_KEY_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | namespace LLGL
17 | {
18 |
19 |
20 | Key MapKey(std::uint8_t sysKeyCode);
21 |
22 |
23 | } // /namespace LLGL
24 |
25 |
26 | #endif
27 |
28 |
29 |
30 | // ================================================================================
31 |
--------------------------------------------------------------------------------
/sources/Platform/UWP/UWPDebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | * UWPDebug.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_UWP_DEBUG_H
9 | #define LLGL_UWP_DEBUG_H
10 |
11 |
12 | #ifdef _DEBUG
13 | # define LLGL_DEBUG_BREAK() __debugbreak()
14 | #else
15 | # define LLGL_DEBUG_BREAK()
16 | #endif
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/sources/Platform/Wasm/WasmDebug.h:
--------------------------------------------------------------------------------
1 | /*
2 | * WasmDebug.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_WASM_DEBUG_H
9 | #define LLGL_WASM_DEBUG_H
10 |
11 |
12 | #include
13 |
14 | #ifdef SIGTRAP
15 | # define LLGL_DEBUG_BREAK() raise(SIGTRAP)
16 | #else
17 | # define LLGL_DEBUG_BREAK()
18 | #endif
19 |
20 |
21 | #endif
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Platform/Wasm/WasmKeyCodes.h:
--------------------------------------------------------------------------------
1 | /*
2 | * WasmKeyCodes.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_WASM_KEY_CODES_H
9 | #define LLGL_WASM_KEY_CODES_H
10 |
11 |
12 | #include
13 |
14 |
15 | namespace LLGL
16 | {
17 |
18 |
19 | Key MapEmscriptenKeyCode(const char* keyEvent);
20 |
21 |
22 | } // /namespace LLGL
23 |
24 |
25 | #endif
26 |
27 |
28 |
29 | // ================================================================================
30 |
--------------------------------------------------------------------------------
/sources/Platform/Win32/MapKey.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MapKey.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_MAP_KEY_H
9 | #define LLGL_MAP_KEY_H
10 |
11 |
12 | #include
13 | #include
14 |
15 |
16 | namespace LLGL
17 | {
18 |
19 |
20 | Key MapKey(std::uint8_t sysKeyCode);
21 |
22 |
23 | } // /namespace LLGL
24 |
25 |
26 | #endif
27 |
28 |
29 |
30 | // ================================================================================
31 |
--------------------------------------------------------------------------------
/sources/Renderer/Buffer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Buffer.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | Buffer::Buffer(long bindFlags) :
16 | bindFlags_ { bindFlags }
17 | {
18 | }
19 |
20 | ResourceType Buffer::GetResourceType() const
21 | {
22 | return ResourceType::Buffer;
23 | }
24 |
25 |
26 | } // /namespace LLGL
27 |
28 |
29 |
30 | // ================================================================================
31 |
--------------------------------------------------------------------------------
/sources/Renderer/BufferArray.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * BufferArray.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | BufferArray::BufferArray(long bindFlags) :
16 | bindFlags_ { bindFlags }
17 | {
18 | }
19 |
20 |
21 | } // /namespace LLGL
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Renderer/Direct3D11/Command/D3D11CommandBuffer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * D3D11CommandBuffer.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include "D3D11CommandBuffer.h"
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | D3D11CommandBuffer::D3D11CommandBuffer(bool isSecondaryCmdBuffer) :
16 | isSecondaryCmdBuffer_ { isSecondaryCmdBuffer }
17 | {
18 | }
19 |
20 |
21 | } // /namespace LLGL
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/OSXAvailability.h:
--------------------------------------------------------------------------------
1 | /*
2 | * OSXAvailability.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_OSX_AVAILABILITY_H
9 | #define LLGL_OSX_AVAILABILITY_H
10 |
11 |
12 | #define LLGL_OSX_AVAILABLE(...) \
13 | ([]() -> bool { if (@available(__VA_ARGS__)) { return true; } else { return false; }; }) ()
14 |
15 |
16 | #endif
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/RenderState/MTFence.mm:
--------------------------------------------------------------------------------
1 | /*
2 | * MTFence.mm
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include "MTFence.h"
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | MTFence::MTFence(id device) :
16 | native_ { [device newFence] }
17 | {
18 | }
19 |
20 | MTFence::~MTFence()
21 | {
22 | [native_ release];
23 | }
24 |
25 |
26 | } // /namespace LLGL
27 |
28 |
29 |
30 | // ================================================================================
31 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/Shader/Builtin/.gitignore:
--------------------------------------------------------------------------------
1 | *.air
2 | *.metallib
3 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/Shader/Builtin/FillBufferByte4.iphoneos.metallib.len.inl:
--------------------------------------------------------------------------------
1 | ( 3064 )
2 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/Shader/Builtin/FillBufferByte4.iphonesimulator.metallib.len.inl:
--------------------------------------------------------------------------------
1 | ( 3080 )
2 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/Shader/Builtin/FillBufferByte4.macosx.metallib.len.inl:
--------------------------------------------------------------------------------
1 | ( 3064 )
2 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/Shader/Builtin/FillBufferByte4.metal:
--------------------------------------------------------------------------------
1 | /*
2 | * FillBufferByte4.metal
3 | *
4 | * This file is part of the "LLGL" project (Copyright (c) 2015-2019 by Lukas Hermanns)
5 | * See "LICENSE.txt" for license information.
6 | */
7 |
8 | // Fill "clearValue" into the output buffer
9 | kernel void CS(
10 | device uint* outBuffer [[buffer(0)]],
11 | constant uint& clearValue [[buffer(1)]],
12 | uint threadID [[thread_position_in_grid]])
13 | {
14 | outBuffer[threadID] = clearValue;
15 | }
16 |
17 |
18 |
19 | // ================================================================================
20 |
--------------------------------------------------------------------------------
/sources/Renderer/Metal/Shader/Builtin/MTBuiltin.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MTBuiltin.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_MT_BUILTIN_H
9 | #define LLGL_MT_BUILTIN_H
10 |
11 |
12 | #include
13 |
14 |
15 | extern const char* g_metalLibFillBufferByte4;
16 | extern const std::size_t g_metalLibFillBufferByte4Len;
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/sources/Renderer/ModuleInterface.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ModuleInterface.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_MODULE_INTERFACE_H
9 | #define LLGL_MODULE_INTERFACE_H
10 |
11 |
12 | #ifdef LLGL_BUILD_STATIC_LIB
13 | # include "StaticModuleInterface.h"
14 | #else
15 | # include "DynamicModuleInterface.h"
16 | #endif
17 |
18 |
19 | #endif
20 |
21 |
22 |
23 | // ================================================================================
24 |
--------------------------------------------------------------------------------
/sources/Renderer/OpenGL/Profile/WebGL/WebGL.h:
--------------------------------------------------------------------------------
1 | /*
2 | * WebGL.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_WEBGL_H
9 | #define LLGL_WEBGL_H
10 |
11 |
12 | #include
13 |
14 | #if defined(LLGL_OS_WASM)
15 | # define GL_GLEXT_PROTOTYPES 1
16 | # define EGL_EGLEXT_PROTOTYPES 1
17 | # include
18 | #else
19 | # error Unsupported platform for WebGL
20 | #endif
21 |
22 |
23 | #endif
24 |
25 |
26 |
27 | // ================================================================================
28 |
--------------------------------------------------------------------------------
/sources/Renderer/QueryHeap.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * QueryHeap.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | QueryHeap::QueryHeap(const QueryType type) :
16 | type_ { type }
17 | {
18 | }
19 |
20 |
21 | } // /namespace LLGL
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Renderer/Sampler.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Sampler.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | ResourceType Sampler::GetResourceType() const
16 | {
17 | return ResourceType::Sampler;
18 | }
19 |
20 |
21 | } // /namespace LLGL
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Renderer/Shader.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Shader.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 |
11 | namespace LLGL
12 | {
13 |
14 |
15 | Shader::Shader(const ShaderType type) :
16 | type_ { type }
17 | {
18 | }
19 |
20 |
21 | } // /namespace LLGL
22 |
23 |
24 |
25 | // ================================================================================
26 |
--------------------------------------------------------------------------------
/sources/Renderer/Vulkan/VKInitializers.h:
--------------------------------------------------------------------------------
1 | /*
2 | * VKInitializers.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_VK_INITIALIZERS_H
9 | #define LLGL_VK_INITIALIZERS_H
10 |
11 |
12 | #include
13 |
14 |
15 | namespace LLGL
16 | {
17 |
18 |
19 | void BuildVkBufferCreateInfo(VkBufferCreateInfo& createInfo, VkDeviceSize size, VkBufferUsageFlags usage);
20 |
21 |
22 | } // /namespace LLGL
23 |
24 |
25 | #endif
26 |
27 |
28 |
29 | // ================================================================================
30 |
--------------------------------------------------------------------------------
/sources/Renderer/Vulkan/VKStaticLimits.h:
--------------------------------------------------------------------------------
1 | /*
2 | * VKStaticLimits.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_VK_STATIC_LIMITS_H
9 | #define LLGL_VK_STATIC_LIMITS_H
10 |
11 |
12 | // Maximum number of Vulkan shader stages per pipeline state object (PSO).
13 | #define LLGL_VK_MAX_NUM_PSO_SHADER_STAGES (5u)
14 |
15 |
16 | #endif
17 |
18 |
19 |
20 | // ================================================================================
21 |
--------------------------------------------------------------------------------
/tests/Media/Textures/DetailMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Media/Textures/DetailMap.png
--------------------------------------------------------------------------------
/tests/Media/Textures/Gradient.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Media/Textures/Gradient.png
--------------------------------------------------------------------------------
/tests/Media/Textures/Grid10x10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Media/Textures/Grid10x10.png
--------------------------------------------------------------------------------
/tests/Media/Textures/HeatmapLUT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Media/Textures/HeatmapLUT.png
--------------------------------------------------------------------------------
/tests/Media/Textures/JohannesVermeer-girl_with_a_pearl_earring.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Media/Textures/JohannesVermeer-girl_with_a_pearl_earring.jpg
--------------------------------------------------------------------------------
/tests/Media/Textures/VanGogh-starry_night.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Media/Textures/VanGogh-starry_night.jpg
--------------------------------------------------------------------------------
/tests/Shaders/BlendTest.frag:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | in vec4 vColor;
4 |
5 | out vec4 fColor;
6 |
7 | void main()
8 | {
9 | fColor = vColor;
10 | }
11 |
--------------------------------------------------------------------------------
/tests/Shaders/BlendTest.vert:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | in vec2 coord;
4 | in vec4 color;
5 |
6 | out vec4 vColor;
7 |
8 | void main()
9 | {
10 | gl_Position = vec4(coord, 0, 1);
11 | vColor = color;
12 | }
13 |
--------------------------------------------------------------------------------
/tests/Shaders/CompileSpirv.bat:
--------------------------------------------------------------------------------
1 | glslangValidator -V -S vert -o Triangle.vert.spv Triangle.vert
2 | glslangValidator -V -S frag -o Triangle.frag.spv Triangle.frag
3 | glslangValidator -V -S comp -o SpirvReflectTest.comp.spv SpirvReflectTest.comp
4 | pause
--------------------------------------------------------------------------------
/tests/Shaders/SeparateShaderTest.frag:
--------------------------------------------------------------------------------
1 | #version 420 core
2 |
3 | in vec4 vColor;
4 |
5 | out vec4 fColor;
6 |
7 | layout(binding = 0) uniform Settings
8 | {
9 | vec4 offset;
10 | vec4 albedo;
11 | };
12 |
13 | //layout(binding = 2) uniform sampler2D colorMapA;
14 |
15 | void main()
16 | {
17 | fColor = vColor * albedo;// + texture(colorMapA, vColor.xy);
18 | }
19 |
--------------------------------------------------------------------------------
/tests/Shaders/SeparateShaderTest.vert:
--------------------------------------------------------------------------------
1 | #version 420 core
2 |
3 | in vec2 position;
4 | in vec4 color;
5 |
6 | out vec4 vColor;
7 |
8 | layout(binding = 0) uniform Settings
9 | {
10 | vec4 offset;
11 | vec4 albedo;
12 | };
13 |
14 | //layout(binding = 1) uniform sampler2D colorMapB;
15 |
16 | out gl_PerVertex
17 | {
18 | vec4 gl_Position;
19 | };
20 |
21 | void main()
22 | {
23 | gl_Position = vec4(position, 0, 1) + offset;
24 | vColor = vec4(color);// + texture(colorMapB, offset.xy);
25 | }
26 |
--------------------------------------------------------------------------------
/tests/Shaders/SpirvReflectTest.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Shaders/SpirvReflectTest.comp.spv
--------------------------------------------------------------------------------
/tests/Shaders/SpirvReflectTest.comp.spv.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Shaders/SpirvReflectTest.comp.spv.txt
--------------------------------------------------------------------------------
/tests/Shaders/Triangle.frag:
--------------------------------------------------------------------------------
1 | #version 450
2 |
3 | layout(location = 0) in vec4 vColor;
4 | layout(location = 1) in vec2 vTexCoord;
5 |
6 | layout(location = 0) out vec4 fColor;
7 |
8 | layout(binding = 5) uniform Colors
9 | {
10 | vec4 diffuse;
11 | };
12 |
13 | layout(binding = 3) uniform sampler texSampler;
14 | layout(binding = 4) uniform texture2D tex;
15 |
16 | void main()
17 | {
18 | fColor = diffuse * vColor * texture(sampler2D(tex, texSampler), vTexCoord);
19 | fColor = mix(vec4(1, 1, 1, 1), fColor, fColor.a);
20 | fColor.a = 1.0;
21 | }
22 |
--------------------------------------------------------------------------------
/tests/Shaders/Triangle.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Shaders/Triangle.frag.spv
--------------------------------------------------------------------------------
/tests/Shaders/Triangle.vert:
--------------------------------------------------------------------------------
1 | #version 450
2 |
3 | layout(location = 0) in vec2 coord;
4 | layout(location = 1) in vec2 texCoord;
5 | layout(location = 2) in vec3 color;
6 |
7 | layout(location = 0) out vec4 vColor;
8 | layout(location = 1) out vec2 vTexCoord;
9 |
10 | layout(binding = 2) uniform Matrices
11 | {
12 | mat4 projection;
13 | mat4 modelView;
14 | };
15 |
16 | out gl_PerVertex
17 | {
18 | vec4 gl_Position;
19 | };
20 |
21 | void main()
22 | {
23 | gl_Position = projection * modelView * vec4(coord, 0, 1);
24 | vTexCoord = texCoord;
25 | vColor = vec4(color, 1);
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Shaders/Triangle.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Shaders/Triangle.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Output/.gitignore:
--------------------------------------------------------------------------------
1 | *.png
2 | Report.txt
3 |
--------------------------------------------------------------------------------
/tests/Testbed/Output/Direct3D11/.dummy.txt:
--------------------------------------------------------------------------------
1 | This file merely ensures the directory for local test results is visible to the git respository.
2 |
--------------------------------------------------------------------------------
/tests/Testbed/Output/Direct3D12/.dummy.txt:
--------------------------------------------------------------------------------
1 | This file merely ensures the directory for local test results is visible to the git respository.
2 |
--------------------------------------------------------------------------------
/tests/Testbed/Output/Metal/.dummy.txt:
--------------------------------------------------------------------------------
1 | This file merely ensures the directory for local test results is visible to the git respository.
2 |
--------------------------------------------------------------------------------
/tests/Testbed/Output/OpenGL/.dummy.txt:
--------------------------------------------------------------------------------
1 | This file merely ensures the directory for local test results is visible to the git respository.
2 |
--------------------------------------------------------------------------------
/tests/Testbed/Output/Vulkan/.dummy.txt:
--------------------------------------------------------------------------------
1 | This file merely ensures the directory for local test results is visible to the git respository.
2 |
--------------------------------------------------------------------------------
/tests/Testbed/Reference/BlendStates.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/BlendStates.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/CombinedSamplers.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/CombinedSamplers.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/DepthBuffer.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/DepthBuffer.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/DualSourceBlend.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/DualSourceBlend.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Gradient_Mip8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Gradient_Mip8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Grid10x10_Mip9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Grid10x10_Mip9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker0.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker0.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker10.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker10.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker11.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker11.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker12.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker12.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker13.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker13.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker14.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker14.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker15.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker15.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/MultiThreading_Worker9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/MultiThreading_Worker9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/OffscreenC99.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/OffscreenC99.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/PaintingA_Mip9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/PaintingA_Mip9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceArrays.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceArrays.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame0.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame0.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ResourceCopy_Frame9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ResourceCopy_Frame9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame0.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame0.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SceneUpdate_Frame9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SceneUpdate_Frame9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/SecondaryCommandBuffer.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/SecondaryCommandBuffer.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D16UNorm_256x256.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D16UNorm_256x256.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D16UNorm_300x280.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D16UNorm_300x280.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D24UNormS8UInt_1024x1024.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D24UNormS8UInt_1024x1024.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D24UNormS8UInt_256x256.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D24UNormS8UInt_256x256.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D32FloatS8X24UInt_256x256.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D32FloatS8X24UInt_256x256.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D32Float_128x128.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D32Float_128x128.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D32Float_256x256.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D32Float_256x256.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ShadowMapping_D32Float_512x512.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ShadowMapping_D32Float_512x512.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StencilBuffer_Set50.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StencilBuffer_Set50.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame0.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame0.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/StreamOutput_Frame9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/StreamOutput_Frame9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/TextureStrides_Frame0.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/TextureStrides_Frame0.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/TextureStrides_Frame1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/TextureStrides_Frame1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/TextureViews.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/TextureViews.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/TextureViews_Limited.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/TextureViews_Limited.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/TriangleStrip_FixedFormat.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/TriangleStrip_FixedFormat.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/TriangleStrip_UndefinedFormat.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/TriangleStrip_UndefinedFormat.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame0.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame0.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame1.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame1.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame2.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame2.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame3.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame3.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame4.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame4.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame5.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame5.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame6.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame6.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame7.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame7.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame8.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame8.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/Uniforms_Frame9.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/Uniforms_Frame9.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ViewportAndScissor_0_Default.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ViewportAndScissor_0_Default.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ViewportAndScissor_1_Static.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ViewportAndScissor_1_Static.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ViewportAndScissor_2_Default.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ViewportAndScissor_2_Default.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ViewportAndScissor_3_Dynamic.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ViewportAndScissor_3_Dynamic.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Reference/ViewportAndScissor_4_Default.Ref.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Reference/ViewportAndScissor_4_Default.Ref.png
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.330core.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * ClearScreen.330core.frag
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 330 core
9 |
10 | uniform vec4 clearColor;
11 |
12 | out vec4 outColor;
13 |
14 | void main()
15 | {
16 | outColor = clearColor;
17 | }
18 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.330core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * ClearScreen.330core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 330 core
9 |
10 | void main()
11 | {
12 | int id = gl_VertexID;
13 | gl_Position = vec4(
14 | id == 1 ? 3.0 : -1.0,
15 | id == 2 ? -3.0 : 1.0,
16 | 1.0,
17 | 1.0
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.450core.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * ClearScreen.450core.frag
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 450 core
9 |
10 | layout(push_constant) uniform Color
11 | {
12 | vec4 clearColor;
13 | };
14 |
15 | layout(location = 0) out vec4 outColor;
16 |
17 | void main()
18 | {
19 | outColor = clearColor;
20 | }
21 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ClearScreen/ClearScreen.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.450core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * ClearScreen.450core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 450 core
9 |
10 | out gl_PerVertex
11 | {
12 | vec4 gl_Position;
13 | };
14 |
15 | void main()
16 | {
17 | int id = gl_VertexIndex;
18 | gl_Position = vec4(
19 | id == 1 ? 3.0 : -1.0,
20 | id == 2 ? -3.0 : 1.0,
21 | 1.0,
22 | 1.0
23 | );
24 | }
25 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ClearScreen/ClearScreen.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.hlsl:
--------------------------------------------------------------------------------
1 | /*
2 | * ClearScreen.hlsl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | cbuffer Color : register(b1)
9 | {
10 | float4 clearColor;
11 | }
12 |
13 | float4 VSMain(uint id : SV_VertexID) : SV_Position
14 | {
15 | return float4(
16 | id == 1 ? 3.0 : -1.0,
17 | id == 2 ? -3.0 : 1.0,
18 | 1.0,
19 | 1.0
20 | );
21 | }
22 |
23 | float4 PSMain() : SV_Target0
24 | {
25 | return clearColor;
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ClearScreen/ClearScreen.metal:
--------------------------------------------------------------------------------
1 | /*
2 | * ClearScreen.metal
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 | using namespace metal;
11 |
12 | vertex float4 VSMain(uint id [[vertex_id]])
13 | {
14 | return float4(
15 | id == 1 ? 3.0 : -1.0,
16 | id == 2 ? -3.0 : 1.0,
17 | 1.0,
18 | 1.0
19 | );
20 | }
21 |
22 | struct Color
23 | {
24 | float4 clearColor;
25 | };
26 |
27 | fragment float4 PSMain(constant Color& color)
28 | {
29 | return color.clearColor;
30 | }
31 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/CombinedSamplers/CombinedSamplers.330core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * CombinedSamplers.330core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 330 core
9 |
10 | layout(std140) uniform Scene
11 | {
12 | mat4 vpMatrix;
13 | mat4 wMatrix;
14 | };
15 |
16 | in vec3 position;
17 | in vec2 texCoord;
18 |
19 | out vec2 vTexCoord;
20 |
21 | void main()
22 | {
23 | gl_Position = vpMatrix * (wMatrix * vec4(position, 1));
24 | vTexCoord = texCoord;
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/DualSourceBlending/DualSourceBlending.420core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * DualSourceBlending.420core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 420 core
9 |
10 | layout(location = 0) out vec2 vTexCoord;
11 |
12 | void main()
13 | {
14 | uint id = gl_VertexID;
15 | gl_Position = vec4(id == 2 ? 3.0 : -1.0, id == 0 ? 3.0 : -1.0, 1.0, 1.0);
16 | vTexCoord = gl_Position.xy * vec2(0.5, -0.5) + 0.5;
17 | }
18 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/DualSourceBlending/DualSourceBlending.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/DualSourceBlending/DualSourceBlending.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/DualSourceBlending/DualSourceBlending.450core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * DualSourceBlending.450core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 450 core
9 |
10 | layout(location = 0) out vec2 vTexCoord;
11 |
12 | out gl_PerVertex
13 | {
14 | vec4 gl_Position;
15 | };
16 |
17 | void main()
18 | {
19 | uint id = gl_VertexIndex;
20 | gl_Position = vec4(id == 2 ? 3.0 : -1.0, id == 0 ? 3.0 : -1.0, 1.0, 1.0);
21 | vTexCoord = gl_Position.xy * vec2(0.5, -0.5) + 0.5;
22 | }
23 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/DualSourceBlending/DualSourceBlending.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/DualSourceBlending/DualSourceBlending.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/DynamicTriangleMesh/DynamicTriangleMesh.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/DynamicTriangleMesh/DynamicTriangleMesh.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/DynamicTriangleMesh/DynamicTriangleMesh.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/DynamicTriangleMesh/DynamicTriangleMesh.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ReadAfterWrite/ReadAfterWrite.450core.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ReadAfterWrite/ReadAfterWrite.450core.comp.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ResourceArrays/ResourceArrays.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ResourceArrays/ResourceArrays.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ResourceArrays/ResourceArrays.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ResourceArrays/ResourceArrays.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ResourceBinding/ResourceBinding.450core.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ResourceBinding/ResourceBinding.450core.comp.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ResourceBinding/ResourceBinding.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ResourceBinding/ResourceBinding.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ResourceBinding/ResourceBinding.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ResourceBinding/ResourceBinding.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/SamplerBuffer/SamplerBuffer.450core.comp.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/SamplerBuffer/SamplerBuffer.450core.comp.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/SemanticErrors/SemanticErrors.CSMain.450core.comp:
--------------------------------------------------------------------------------
1 | /*
2 | * SemanticErrors.CSMain.450core.comp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 450 core
9 |
10 | layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
11 |
12 | void main()
13 | {
14 | uint id = gl_GlobalInvocationID.x;
15 | OutBuffer[id] = 0; // <-- Expected error: Undefined identifier "OutBuffer"
16 | }
17 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/SemanticErrors/SemanticErrors.CSMain.hlsl:
--------------------------------------------------------------------------------
1 | /*
2 | * SemanticErrors.CSMain.hlsl
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | [numthreads(1, 1, 1)]
9 | void CSMain(uint id : SV_DispatchThreadID)
10 | {
11 | OutBuffer[id] = 0; // <-- Expected error: Undefined identifier "OutBuffer"
12 | }
13 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/SemanticErrors/SemanticErrors.CSMain.metal:
--------------------------------------------------------------------------------
1 | /*
2 | * SemanticErrors.CSMain.metal
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #include
9 |
10 | using namespace metal;
11 |
12 | kernel void CSMain(uint id [[thread_position_in_grid]])
13 | {
14 | OutBuffer[id] = 0; // <-- Expected error: Undefined identifier "OutBuffer"
15 | }
16 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/SemanticErrors/SemanticErrors.PSMain.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/SemanticErrors/SemanticErrors.PSMain.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.PScene.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.PScene.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.VScene.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.VScene.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.VShadow.330core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * ShadowMapping.VShadow.330core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 330 core
9 |
10 | layout(std140) uniform Scene
11 | {
12 | mat4 vpMatrix;
13 | mat4 wMatrix;
14 | mat4 vpShadowMatrix;
15 | vec4 solidColor;
16 | vec4 lightVec;
17 | };
18 |
19 | in vec3 position;
20 |
21 | void main()
22 | {
23 | gl_Position = vpShadowMatrix * (wMatrix * vec4(position, 1));
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.VShadow.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/ShadowMapping/ShadowMapping.VShadow.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.geom.xfb.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.geom.xfb.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.tesc.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.tesc.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.tese.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.tese.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.tese.xfb.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.tese.xfb.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.vert.xfb.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/StreamOutput/StreamOutput.450core.vert.xfb.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.Textured.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.Textured.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.Textured.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/TriangleMesh/TriangleMesh.Textured.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.330core.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * UnprojectedMesh.330core.frag
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 330 core
9 |
10 | in vec4 vColor;
11 |
12 | out vec4 outColor;
13 |
14 | void main()
15 | {
16 | outColor = vColor;
17 | }
18 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.330core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * UnprojectedMesh.330core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 330 core
9 |
10 | in vec2 position;
11 | in vec4 color;
12 |
13 | out vec4 vColor;
14 |
15 | void main()
16 | {
17 | gl_Position = vec4(position, 0, 1);
18 | vColor = color;
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.450core.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * UnprojectedMesh.450core.frag
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 450 core
9 |
10 | layout(location = 0) in vec4 vColor;
11 |
12 | layout(location = 0) out vec4 outColor;
13 |
14 | void main()
15 | {
16 | outColor = vColor;
17 | }
18 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.450core.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.450core.frag.spv
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.450core.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * UnprojectedMesh.450core.vert
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #version 450 core
9 |
10 | layout(location = 0) in vec2 position;
11 | layout(location = 1) in vec4 color;
12 |
13 | layout(location = 0) out vec4 vColor;
14 |
15 | out gl_PerVertex
16 | {
17 | vec4 gl_Position;
18 | };
19 |
20 | void main()
21 | {
22 | gl_Position = vec4(position, 0, 1);
23 | vColor = color;
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.450core.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LukasBanana/LLGL/95f961ac9c917cca5e5609f69c32bc5e373d0802/tests/Testbed/Shaders/UnprojectedMesh/UnprojectedMesh.450core.vert.spv
--------------------------------------------------------------------------------
/tests/Testbed/TestbedUtils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * TestbedUtils.cpp
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_TESTBED_UTILS_H
9 | #define LLGL_TESTBED_UTILS_H
10 |
11 |
12 | #include
13 |
14 |
15 | // Returns true if the specified string ends with the specified ending.
16 | bool StringEndsWith(const char* str, const char* end);
17 | bool StringEndsWith(const std::string& str, const std::string& end);
18 |
19 |
20 | #endif
21 |
22 |
23 |
24 | // ================================================================================
25 |
--------------------------------------------------------------------------------
/wrapper/C99/C99Internal.h:
--------------------------------------------------------------------------------
1 | /*
2 | * C99Internal.h
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | #ifndef LLGL_C99_INTERNAL_H
9 | #define LLGL_C99_INTERNAL_H
10 |
11 |
12 | #include "../../sources/Core/Assertion.h"
13 |
14 |
15 | #define LLGL_PTR(TYPE, OBJ) \
16 | ((TYPE*)((OBJ).internal))
17 |
18 | #define LLGL_REF(TYPE, OBJ) \
19 | (*((TYPE*)((OBJ).internal)))
20 |
21 |
22 | #endif
23 |
24 |
25 |
26 | // ================================================================================
27 |
--------------------------------------------------------------------------------
/wrapper/Go/.gitignore:
--------------------------------------------------------------------------------
1 | *.exe
--------------------------------------------------------------------------------
/wrapper/Go/Resource.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Resource.go
3 | *
4 | * Copyright (c) 2015 Lukas Hermanns. All rights reserved.
5 | * Licensed under the terms of the BSD 3-Clause license (see LICENSE.txt).
6 | */
7 |
8 | package llgl
9 |
10 | // #cgo CFLAGS: -I ../../include
11 | // #include
12 | import "C"
13 |
14 | type Resource interface {
15 | RenderSystemChild
16 | GetResourceType() ResourceType
17 | getNativeResource() C.LLGLResource
18 | }
19 |
20 |
21 |
22 | // ================================================================================
23 |
--------------------------------------------------------------------------------