├── .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 | CMake icon -------------------------------------------------------------------------------- /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 | 10 | 12 | 14 | 17 | 20 | 21 | 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 | web-assembly-icon-black -------------------------------------------------------------------------------- /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 |

Go-Logo_Blue.svg

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 | --------------------------------------------------------------------------------