[{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:BLACK_KTX_ZST\">BLACK_KTX_ZST</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"BLACK_KTX_ZST","module":"Global.Resource.CubeMap.Base.Paths","link":"Global-Resource-CubeMap-Base-Paths.html#v:BLACK_KTX_ZST"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:BLACK_KTX2\">BLACK_KTX2</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"BLACK_KTX2","module":"Global.Resource.CubeMap.Base.Paths","link":"Global-Resource-CubeMap-Base-Paths.html#v:BLACK_KTX2"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Collection\">Collection</a> a = <a href=\"#v:Collection\">Collection</a> {<ul class=\"subs\"><li><a href=\"#v:black\">black</a> :: a</li></ul>}","name":"Collection Collection $sel:black:Collection","module":"Global.Resource.CubeMap.Base","link":"Global-Resource-CubeMap-Base.html#t:Collection"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Textures\">Textures</a> = <a href=\"Global-Resource-CubeMap-Base.html#t:Collection\" title=\"Global.Resource.CubeMap.Base\">Collection</a> (Texture CubeMap)","name":"Textures","module":"Global.Resource.CubeMap.Base","link":"Global-Resource-CubeMap-Base.html#t:Textures"},{"display_html":"<a href=\"#v:sources\">sources</a> :: <a href=\"Global-Resource-CubeMap-Base.html#t:Collection\" title=\"Global.Resource.CubeMap.Base\">Collection</a> Source","name":"sources","module":"Global.Resource.CubeMap.Base","link":"Global-Resource-CubeMap-Base.html#v:sources"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:BLACK_KTX_ZST\">BLACK_KTX_ZST</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"BLACK_KTX_ZST","module":"Global.Resource.Texture.Base.Paths","link":"Global-Resource-Texture-Base-Paths.html#v:BLACK_KTX_ZST"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:IBL_BRDF_LUT_KTX_ZST\">IBL_BRDF_LUT_KTX_ZST</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"IBL_BRDF_LUT_KTX_ZST","module":"Global.Resource.Texture.Base.Paths","link":"Global-Resource-Texture-Base-Paths.html#v:IBL_BRDF_LUT_KTX_ZST"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:BLACK_KTX2\">BLACK_KTX2</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"BLACK_KTX2","module":"Global.Resource.Texture.Base.Paths","link":"Global-Resource-Texture-Base-Paths.html#v:BLACK_KTX2"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:IBL_BRDF_LUT_KTX2\">IBL_BRDF_LUT_KTX2</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"IBL_BRDF_LUT_KTX2","module":"Global.Resource.Texture.Base.Paths","link":"Global-Resource-Texture-Base-Paths.html#v:IBL_BRDF_LUT_KTX2"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:FLAT_KTX_ZST\">FLAT_KTX_ZST</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"FLAT_KTX_ZST","module":"Global.Resource.Texture.Base.Paths","link":"Global-Resource-Texture-Base-Paths.html#v:FLAT_KTX_ZST"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:FLAT_KTX2\">FLAT_KTX2</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"FLAT_KTX2","module":"Global.Resource.Texture.Base.Paths","link":"Global-Resource-Texture-Base-Paths.html#v:FLAT_KTX2"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Collection\">Collection</a> a = <a href=\"#v:Collection\">Collection</a> {<ul class=\"subs\"><li><a href=\"#v:black\">black</a> :: a</li><li><a href=\"#v:flat\">flat</a> :: a</li><li><a href=\"#v:ibl_brdf_lut\">ibl_brdf_lut</a> :: a</li></ul>}","name":"Collection Collection $sel:black:Collection $sel:flat:Collection $sel:ibl_brdf_lut:Collection","module":"Global.Resource.Texture.Base","link":"Global-Resource-Texture-Base.html#t:Collection"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Textures\">Textures</a> = <a href=\"Global-Resource-Texture-Base.html#t:Collection\" title=\"Global.Resource.Texture.Base\">Collection</a> (Texture Flat)","name":"Textures","module":"Global.Resource.Texture.Base","link":"Global-Resource-Texture-Base.html#t:Textures"},{"display_html":"<a href=\"#v:sources\">sources</a> :: <a href=\"Global-Resource-Texture-Base.html#t:Collection\" title=\"Global.Resource.Texture.Base\">Collection</a> Source","name":"sources","module":"Global.Resource.Texture.Base","link":"Global-Resource-Texture-Base.html#v:sources"},{"display_html":"<a href=\"#v:raySphereIntersection\">raySphereIntersection</a> :: Code","name":"raySphereIntersection","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:raySphereIntersection"},{"display_html":"<a href=\"#v:hgPhase\">hgPhase</a> :: Code","name":"hgPhase","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:hgPhase"},{"display_html":"<a href=\"#v:structLight\">structLight</a> :: Code","name":"structLight","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:structLight"},{"display_html":"<a href=\"#v:structMaterial\">structMaterial</a> :: Code","name":"structMaterial","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:structMaterial"},{"display_html":"<a href=\"#v:shadowFuns\">shadowFuns</a> :: Code","name":"shadowFuns","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:shadowFuns"},{"display_html":"<a href=\"#v:litMain\">litMain</a> :: Code","name":"litMain","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:litMain"},{"display_html":"<a href=\"#v:brdfSpecular\">brdfSpecular</a> :: Code","name":"brdfSpecular","module":"Render.Code.Lit","link":"Render-Code-Lit.html#v:brdfSpecular"},{"display_html":"<a href=\"#v:set0binding0\">set0binding0</a> :: Code","name":"set0binding0","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding0"},{"display_html":"<a href=\"#v:set0binding1\">set0binding1</a> :: Code","name":"set0binding1","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding1"},{"display_html":"<a href=\"#v:set0binding2\">set0binding2</a> :: Code","name":"set0binding2","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding2"},{"display_html":"<a href=\"#v:set0binding3\">set0binding3</a> :: Code","name":"set0binding3","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding3"},{"display_html":"<a href=\"#v:set0binding4\">set0binding4</a> :: Code","name":"set0binding4","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding4"},{"display_html":"<a href=\"#v:set0binding5\">set0binding5</a> :: Code","name":"set0binding5","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding5"},{"display_html":"<a href=\"#v:set0binding5color\">set0binding5color</a> :: Code","name":"set0binding5color","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding5color"},{"display_html":"<a href=\"#v:set0binding6\">set0binding6</a> :: Code","name":"set0binding6","module":"Render.DescSets.Set0.Code","link":"Render-DescSets-Set0-Code.html#v:set0binding6"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.DepthOnly.Code","link":"Render-DepthOnly-Code.html#v:vert"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Debug.Code","link":"Render-Debug-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Debug.Code","link":"Render-Debug-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Sun\">Sun</a> = <a href=\"#v:Sun\">Sun</a> {<ul class=\"subs\"><li><a href=\"#v:sunViewProjection\">sunViewProjection</a> :: Transform</li><li><a href=\"#v:sunShadow\">sunShadow</a> :: Vec4</li><li><a href=\"#v:sunPosition\">sunPosition</a> :: Vec4</li><li><a href=\"#v:sunDirection\">sunDirection</a> :: Vec4</li><li><a href=\"#v:sunColor\">sunColor</a> :: Vec4</li></ul>}","name":"Sun Sun $sel:sunViewProjection:Sun $sel:sunShadow:Sun $sel:sunPosition:Sun $sel:sunDirection:Sun $sel:sunColor:Sun","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#t:Sun"},{"display_html":"<a href=\"#v:createSet0Ds\">createSet0Ds</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO st) (<a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>] (<a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSet\" title=\"Vulkan.Extensions.Handles\">DescriptorSet</a>), <a href=\"Render-DescSets-Sun.html#t:Buffer\" title=\"Render.DescSets.Sun\">Buffer</a>)","name":"createSet0Ds","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:createSet0Ds"},{"display_html":"<a href=\"#v:set0\">set0</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a> DsLayoutBindings","name":"set0","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:set0"},{"display_html":"<span class=\"keyword\">pattern</span> <a href=\"#v:MAX_VIEWS\">MAX_VIEWS</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>","name":"MAX_VIEWS","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:MAX_VIEWS"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffer\">Buffer</a> = Allocated 'Coherent <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>","name":"Buffer","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#t:Buffer"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SunInput\">SunInput</a> = <a href=\"#v:SunInput\">SunInput</a> {<ul class=\"subs\"><li><a href=\"#v:siColor\">siColor</a> :: Vec4</li><li><a href=\"#v:siInclination\">siInclination</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:siAzimuth\">siAzimuth</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:siRadius\">siRadius</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:siTarget\">siTarget</a> :: Vec3</li><li><a href=\"#v:siDepthRange\">siDepthRange</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:siSize\">siSize</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:siShadowIx\">siShadowIx</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li></ul>}","name":"SunInput SunInput $sel:siColor:SunInput $sel:siInclination:SunInput $sel:siAzimuth:SunInput $sel:siRadius:SunInput $sel:siTarget:SunInput $sel:siDepthRange:SunInput $sel:siSize:SunInput $sel:siShadowIx:SunInput","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#t:SunInput"},{"display_html":"<a href=\"#v:initialSunInput\">initialSunInput</a> :: <a href=\"Render-DescSets-Sun.html#t:SunInput\" title=\"Render.DescSets.Sun\">SunInput</a>","name":"initialSunInput","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:initialSunInput"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Process\">Process</a> = Cell <a href=\"Render-DescSets-Sun.html#t:SunInput\" title=\"Render.DescSets.Sun\">SunInput</a> (&quot;bounding box&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Transform, <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>)","name":"Process","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#t:Process"},{"display_html":"<a href=\"#v:spawn1\">spawn1</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadUnliftIO\" title=\"Control.Monad.Trans.Resource\">MonadUnliftIO</a> m) =&gt; <a href=\"Render-DescSets-Sun.html#t:SunInput\" title=\"Render.DescSets.Sun\">SunInput</a> -&gt; m <a href=\"Render-DescSets-Sun.html#t:Process\" title=\"Render.DescSets.Sun\">Process</a>","name":"spawn1","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:spawn1"},{"display_html":"<a href=\"#v:mkSun\">mkSun</a> :: <a href=\"Render-DescSets-Sun.html#t:SunInput\" title=\"Render.DescSets.Sun\">SunInput</a> -&gt; (&quot;bounding box&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Transform, <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>)","name":"mkSun","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:mkSun"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Observer\">Observer</a> = ObserverIO (<a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> (&quot;bounding box&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Transform))","name":"Observer","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#t:Observer"},{"display_html":"<a href=\"#v:newObserver1\">newObserver1</a> :: <a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m =&gt; m <a href=\"Render-DescSets-Sun.html#t:Observer\" title=\"Render.DescSets.Sun\">Observer</a>","name":"newObserver1","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:newObserver1"},{"display_html":"<a href=\"#v:observe1\">observe1</a> :: <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadUnliftIO\" title=\"Control.Monad.Trans.Resource\">MonadUnliftIO</a> m =&gt; <a href=\"Render-DescSets-Sun.html#t:Process\" title=\"Render.DescSets.Sun\">Process</a> -&gt; <a href=\"Render-DescSets-Sun.html#t:Observer\" title=\"Render.DescSets.Sun\">Observer</a> -&gt; <a href=\"Render-DescSets-Sun.html#t:Buffer\" title=\"Render.DescSets.Sun\">Buffer</a> -&gt; m ()","name":"observe1","module":"Render.DescSets.Sun","link":"Render-DescSets-Sun.html#v:observe1"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Font.EvanwSdf.Code","link":"Render-Font-EvanwSdf-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Font.EvanwSdf.Code","link":"Render-Font-EvanwSdf-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:InstanceAttrs\">InstanceAttrs</a> = <a href=\"#v:InstanceAttrs\">InstanceAttrs</a> {<ul class=\"subs\"><li><a href=\"#v:vertRect\">vertRect</a> :: Vec4</li><li><a href=\"#v:fragRect\">fragRect</a> :: Vec4</li><li><a href=\"#v:color\">color</a> :: Vec4</li><li><a href=\"#v:outlineColor\">outlineColor</a> :: Vec4</li><li><a href=\"#v:samplerId\">samplerId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:textureId\">textureId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:smoothing\">smoothing</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:outlineWidth\">outlineWidth</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li></ul>}","name":"InstanceAttrs InstanceAttrs $sel:color:InstanceAttrs $sel:vertRect:InstanceAttrs $sel:fragRect:InstanceAttrs $sel:outlineColor:InstanceAttrs $sel:samplerId:InstanceAttrs $sel:textureId:InstanceAttrs $sel:smoothing:InstanceAttrs $sel:outlineWidth:InstanceAttrs","module":"Render.Font.EvanwSdf.Model","link":"Render-Font-EvanwSdf-Model.html#t:InstanceAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ForwardMsaa\">ForwardMsaa</a> = <a href=\"#v:ForwardMsaa\">ForwardMsaa</a> {<ul class=\"subs\"><li><a href=\"#v:fmRenderPass\">fmRenderPass</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:RenderPass\" title=\"Vulkan.Extensions.Handles\">RenderPass</a></li><li><a href=\"#v:fmColor\">fmColor</a> :: AllocatedImage</li><li><a href=\"#v:fmDepth\">fmDepth</a> :: AllocatedImage</li><li><a href=\"#v:fmFrameBuffers\">fmFrameBuffers</a> :: <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:Framebuffer\" title=\"Vulkan.Extensions.Handles\">Framebuffer</a></li><li><a href=\"#v:fmRenderArea\">fmRenderArea</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-FundamentalTypes.html#t:Rect2D\" title=\"Vulkan.Core10.FundamentalTypes\">Rect2D</a></li><li><a href=\"#v:fmClear\">fmClear</a> :: <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-CommandBufferBuilding.html#t:ClearValue\" title=\"Vulkan.Core10.CommandBufferBuilding\">ClearValue</a></li><li><a href=\"#v:fmRelease\">fmRelease</a> :: RefCounted</li></ul>}","name":"ForwardMsaa ForwardMsaa $sel:fmRenderPass:ForwardMsaa $sel:fmColor:ForwardMsaa $sel:fmDepth:ForwardMsaa $sel:fmFrameBuffers:ForwardMsaa $sel:fmRenderArea:ForwardMsaa $sel:fmClear:ForwardMsaa $sel:fmRelease:ForwardMsaa","module":"Render.ForwardMsaa","link":"Render-ForwardMsaa.html#t:ForwardMsaa"},{"display_html":"<a href=\"#v:allocateMsaa\">allocateMsaa</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, MonadVulkan env m, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, HasSwapchain swapchain) =&gt; swapchain -&gt; m <a href=\"Render-ForwardMsaa.html#t:ForwardMsaa\" title=\"Render.ForwardMsaa\">ForwardMsaa</a>","name":"allocateMsaa","module":"Render.ForwardMsaa","link":"Render-ForwardMsaa.html#v:allocateMsaa"},{"display_html":"<a href=\"#v:updateMsaa\">updateMsaa</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, MonadVulkan env m, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, HasSwapchain swapchain) =&gt; swapchain -&gt; <a href=\"Render-ForwardMsaa.html#t:ForwardMsaa\" title=\"Render.ForwardMsaa\">ForwardMsaa</a> -&gt; m <a href=\"Render-ForwardMsaa.html#t:ForwardMsaa\" title=\"Render.ForwardMsaa\">ForwardMsaa</a>","name":"updateMsaa","module":"Render.ForwardMsaa","link":"Render-ForwardMsaa.html#v:updateMsaa"},{"display_html":"<a href=\"#v:usePass\">usePass</a> :: (<a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> io, HasRenderPass a) =&gt; a -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; io r -&gt; io r","name":"usePass","module":"Render.ForwardMsaa","link":"Render-ForwardMsaa.html#v:usePass"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Lit.Colored.Code","link":"Render-Lit-Colored-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Lit.Colored.Code","link":"Render-Lit-Colored-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Lit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Lit.Colored.Model\">VertexAttrs</a>","name":"Model","module":"Render.Lit.Colored.Model","link":"Render-Lit-Colored-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Lit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Lit.Colored.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Lit.Colored.Model","link":"Render-Lit-Colored-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = <a href=\"#v:VertexAttrs\">VertexAttrs</a> {<ul class=\"subs\"><li><a href=\"#v:vaBaseColor\">vaBaseColor</a> :: Vec4</li><li><a href=\"#v:vaEmissiveColor\">vaEmissiveColor</a> :: Vec4</li><li><a href=\"#v:vaMetallicRoughness\">vaMetallicRoughness</a> :: Vec2</li><li><a href=\"#v:vaNormal\">vaNormal</a> :: Packed</li></ul>}","name":"VertexAttrs VertexAttrs $sel:vaBaseColor:VertexAttrs $sel:vaEmissiveColor:VertexAttrs $sel:vaMetallicRoughness:VertexAttrs $sel:vaNormal:VertexAttrs","module":"Render.Lit.Colored.Model","link":"Render-Lit-Colored-Model.html#t:VertexAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:InstanceAttrs\">InstanceAttrs</a> = Transform","name":"InstanceAttrs","module":"Render.Lit.Colored.Model","link":"Render-Lit-Colored-Model.html#t:InstanceAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Material\">Material</a> = <a href=\"#v:Material\">Material</a> {<ul class=\"subs\"><li><a href=\"#v:mBaseColor\">mBaseColor</a> :: Vec4</li><li><a href=\"#v:mMetallicRoughness\">mMetallicRoughness</a> :: Vec2</li><li><a href=\"#v:mEmissive\">mEmissive</a> :: Vec4</li><li><a href=\"#v:mNormalScale\">mNormalScale</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:mAlphaCutoff\">mAlphaCutoff</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:mBaseColorTex\">mBaseColorTex</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:mMetallicRoughnessTex\">mMetallicRoughnessTex</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:mEmissiveTex\">mEmissiveTex</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:mNormalTex\">mNormalTex</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:mAmbientOcclusionTex\">mAmbientOcclusionTex</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li></ul>}","name":"Material Material $sel:mBaseColor:Material $sel:mMetallicRoughness:Material $sel:mEmissive:Material $sel:mNormalScale:Material $sel:mAlphaCutoff:Material $sel:mBaseColorTex:Material $sel:mMetallicRoughnessTex:Material $sel:mEmissiveTex:Material $sel:mNormalTex:Material $sel:mAmbientOcclusionTex:Material","module":"Render.Lit.Material","link":"Render-Lit-Material.html#t:Material"},{"display_html":"<a href=\"#v:shiftTextures\">shiftTextures</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a> -&gt; <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>","name":"shiftTextures","module":"Render.Lit.Material","link":"Render-Lit-Material.html#v:shiftTextures"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Scene\">Scene</a> = <a href=\"#v:Scene\">Scene</a> {<ul class=\"subs\"><li><a href=\"#v:sceneProjection\">sceneProjection</a> :: Transform</li><li><a href=\"#v:sceneInvProjection\">sceneInvProjection</a> :: Transform</li><li><a href=\"#v:sceneView\">sceneView</a> :: Transform</li><li><a href=\"#v:sceneInvView\">sceneInvView</a> :: Transform</li><li><a href=\"#v:sceneViewPos\">sceneViewPos</a> :: Vec3</li><li><a href=\"#v:sceneViewDir\">sceneViewDir</a> :: Vec3</li><li><a href=\"#v:sceneTweaks\">sceneTweaks</a> :: Vec4</li><li><a href=\"#v:sceneFog\">sceneFog</a> :: Vec4</li><li><a href=\"#v:sceneEnvCube\">sceneEnvCube</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:sceneNumLights\">sceneNumLights</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li></ul>}","name":"Scene Scene $sel:sceneProjection:Scene $sel:sceneInvProjection:Scene $sel:sceneView:Scene $sel:sceneInvView:Scene $sel:sceneViewPos:Scene $sel:sceneViewDir:Scene $sel:sceneTweaks:Scene $sel:sceneFog:Scene $sel:sceneEnvCube:Scene $sel:sceneNumLights:Scene","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#t:Scene"},{"display_html":"<a href=\"#v:emptyScene\">emptyScene</a> :: <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>","name":"emptyScene","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:emptyScene"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (<a href=\"/package/base-4.16.4.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> textures, <a href=\"/package/base-4.16.4.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> cubes, MonadVulkan env m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m) =&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a> -&gt; textures (Texture Flat) -&gt; cubes (Texture CubeMap) -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (Allocated 'Coherent <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>) -&gt; (&quot;shadow maps&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:ImageView\" title=\"Vulkan.Extensions.Handles\">ImageView</a>) -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (Allocated 'Coherent <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>) -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> m (<a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>])","name":"allocate","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:allocate"},{"display_html":"<a href=\"#v:allocateEmpty\">allocateEmpty</a> :: (MonadVulkan env m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m) =&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> m (<a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>])","name":"allocateEmpty","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:allocateEmpty"},{"display_html":"<a href=\"#v:updateSet0Ds\">updateSet0Ds</a> :: (HasVulkan context, <a href=\"/package/base-4.16.4.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> textures, <a href=\"/package/base-4.16.4.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> cubes, <a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m) =&gt; context -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] (<a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSet\" title=\"Vulkan.Extensions.Handles\">DescriptorSet</a>) -&gt; Allocated 'Coherent <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> -&gt; textures (Texture Flat) -&gt; cubes (Texture CubeMap) -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (Allocated 'Coherent <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>) -&gt; <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> (<a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:Sampler\" title=\"Vulkan.Extensions.Handles\">Sampler</a>, <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:ImageView\" title=\"Vulkan.Extensions.Handles\">ImageView</a>) -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (Allocated 'Coherent <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>) -&gt; m ()","name":"updateSet0Ds","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:updateSet0Ds"},{"display_html":"<a href=\"#v:mkBindings\">mkBindings</a> :: (<a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> samplers, <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> textures, <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> cubemaps) =&gt; samplers <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:Sampler\" title=\"Vulkan.Extensions.Handles\">Sampler</a> -&gt; textures a -&gt; cubemaps b -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings","name":"mkBindings","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:mkBindings"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:FrameResource\">FrameResource</a> (ds :: [<a href=\"/package/base-4.16.4.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a>]) = <a href=\"#v:FrameResource\">FrameResource</a> {<ul class=\"subs\"><li><a href=\"#v:frDescSets\">frDescSets</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> ds (<a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSet\" title=\"Vulkan.Extensions.Handles\">DescriptorSet</a>)</li><li><a href=\"#v:frBuffer\">frBuffer</a> :: <a href=\"Render-DescSets-Set0.html#t:Buffer\" title=\"Render.DescSets.Set0\">Buffer</a></li><li><a href=\"#v:frObserver\">frObserver</a> :: ObserverIO <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a></li></ul>}","name":"FrameResource FrameResource $sel:frDescSets:FrameResource $sel:frBuffer:FrameResource $sel:frObserver:FrameResource","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#t:FrameResource"},{"display_html":"<a href=\"#v:extendResourceDS\">extendResourceDS</a> :: <a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> ds -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> ext <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSet\" title=\"Vulkan.Extensions.Handles\">DescriptorSet</a> -&gt; <a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> (Extend ds ext)","name":"extendResourceDS","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:extendResourceDS"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffer\">Buffer</a> = Allocated 'Coherent <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>","name":"Buffer","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#t:Buffer"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Process\">Process</a> = Merge <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>","name":"Process","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#t:Process"},{"display_html":"<a href=\"#v:observe\">observe</a> :: <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadUnliftIO\" title=\"Control.Monad.Trans.Resource\">MonadUnliftIO</a> m =&gt; <a href=\"Render-DescSets-Set0.html#t:Process\" title=\"Render.DescSets.Set0\">Process</a> -&gt; <a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> ds -&gt; m ()","name":"observe","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:observe"},{"display_html":"<a href=\"#v:withBoundSet0\">withBoundSet0</a> :: <a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m =&gt; <a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> ds -&gt; Pipeline ds vertices instances -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; Bound ds <a href=\"/package/base-4.16.4.0/docs/Data-Void.html#t:Void\" title=\"Data.Void\">Void</a> <a href=\"/package/base-4.16.4.0/docs/Data-Void.html#t:Void\" title=\"Data.Void\">Void</a> m b -&gt; m b","name":"withBoundSet0","module":"Render.DescSets.Set0","link":"Render-DescSets-Set0.html#v:withBoundSet0"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Lit-Colored-Model.html#t:Vertex\" title=\"Render.Lit.Colored.Model\">Vertex</a> <a href=\"Render-Lit-Colored-Model.html#t:InstanceAttrs\" title=\"Render.Lit.Colored.Model\">InstanceAttrs</a>","name":"Pipeline","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Lit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Colored.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:allocateBlend\">allocateBlend</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Lit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Colored.Pipeline\">Pipeline</a>","name":"allocateBlend","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#v:allocateBlend"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Lit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Colored.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Lit-Colored-Pipeline.html#t:Config\" title=\"Render.Lit.Colored.Pipeline\">Config</a>","name":"config","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:configBlend\">configBlend</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Lit-Colored-Pipeline.html#t:Config\" title=\"Render.Lit.Colored.Pipeline\">Config</a>","name":"configBlend","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#v:configBlend"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Lit.Colored.Pipeline","link":"Render-Lit-Colored-Pipeline.html#v:stageSpirv"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Font-EvanwSdf-Pipeline.html#t:Pipeline\" title=\"Render.Font.EvanwSdf.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Font.EvanwSdf.Pipeline","link":"Render-Font-EvanwSdf-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Font-EvanwSdf-Pipeline.html#t:Config\" title=\"Render.Font.EvanwSdf.Pipeline\">Config</a>","name":"config","module":"Render.Font.EvanwSdf.Pipeline","link":"Render-Font-EvanwSdf-Pipeline.html#v:config"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] () <a href=\"Render-Font-EvanwSdf-Model.html#t:InstanceAttrs\" title=\"Render.Font.EvanwSdf.Model\">InstanceAttrs</a>","name":"Pipeline","module":"Render.Font.EvanwSdf.Pipeline","link":"Render-Font-EvanwSdf-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Font-EvanwSdf-Pipeline.html#t:Pipeline\" title=\"Render.Font.EvanwSdf.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Font.EvanwSdf.Pipeline","link":"Render-Font-EvanwSdf-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Font.EvanwSdf.Pipeline","link":"Render-Font-EvanwSdf-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Font.EvanwSdf.Pipeline","link":"Render-Font-EvanwSdf-Pipeline.html#v:stageSpirv"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] (Vertex3d ()) Transform","name":"Pipeline","module":"Render.DepthOnly.Pipeline","link":"Render-DepthOnly-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-DepthOnly-Pipeline.html#t:Pipeline\" title=\"Render.DepthOnly.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.DepthOnly.Pipeline","link":"Render-DepthOnly-Pipeline.html#v:allocate"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-DepthOnly-Pipeline.html#t:Pipeline\" title=\"Render.DepthOnly.Pipeline\">Pipeline</a>","name":"Config","module":"Render.DepthOnly.Pipeline","link":"Render-DepthOnly-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-DepthOnly-Pipeline.html#t:Config\" title=\"Render.DepthOnly.Pipeline\">Config</a>","name":"config","module":"Render.DepthOnly.Pipeline","link":"Render-DepthOnly-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.DepthOnly.Pipeline","link":"Render-DepthOnly-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.DepthOnly.Pipeline","link":"Render-DepthOnly-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Lit.Material.Code","link":"Render-Lit-Material-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Lit.Material.Code","link":"Render-Lit-Material-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Lit-Material-Model.html#t:VertexAttrs\" title=\"Render.Lit.Material.Model\">VertexAttrs</a>","name":"Model","module":"Render.Lit.Material.Model","link":"Render-Lit-Material-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Lit-Material-Model.html#t:VertexAttrs\" title=\"Render.Lit.Material.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Lit.Material.Model","link":"Render-Lit-Material-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = <a href=\"#v:VertexAttrs\">VertexAttrs</a> {<ul class=\"subs\"><li><a href=\"#v:vaTexCoord0\">vaTexCoord0</a> :: Vec2</li><li><a href=\"#v:vaTexCoord1\">vaTexCoord1</a> :: Vec2</li><li><a href=\"#v:vaNormal\">vaNormal</a> :: Packed</li><li><a href=\"#v:vaTangent\">vaTangent</a> :: Packed</li><li><a href=\"#v:vaMaterial\">vaMaterial</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li></ul>}","name":"VertexAttrs VertexAttrs $sel:vaNormal:VertexAttrs $sel:vaTexCoord0:VertexAttrs $sel:vaTexCoord1:VertexAttrs $sel:vaTangent:VertexAttrs $sel:vaMaterial:VertexAttrs","module":"Render.Lit.Material.Model","link":"Render-Lit-Material-Model.html#t:VertexAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:InstanceAttrs\">InstanceAttrs</a> = Transform","name":"InstanceAttrs","module":"Render.Lit.Material.Model","link":"Render-Lit-Material-Model.html#t:InstanceAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Material\">Material</a>","name":"Material","module":"Render.Lit.Material.Model","link":"Render-Lit-Material-Model.html#t:Material"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Lit-Material-Model.html#t:Vertex\" title=\"Render.Lit.Material.Model\">Vertex</a> <a href=\"Render-Lit-Material-Model.html#t:InstanceAttrs\" title=\"Render.Lit.Material.Model\">InstanceAttrs</a>","name":"Pipeline","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Lit-Material-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Material.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:allocateBlend\">allocateBlend</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Lit-Material-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Material.Pipeline\">Pipeline</a>","name":"allocateBlend","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#v:allocateBlend"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Lit-Material-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Material.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Lit-Material-Pipeline.html#t:Config\" title=\"Render.Lit.Material.Pipeline\">Config</a>","name":"config","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:configBlend\">configBlend</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Lit-Material-Pipeline.html#t:Config\" title=\"Render.Lit.Material.Pipeline\">Config</a>","name":"configBlend","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#v:configBlend"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Lit.Material.Pipeline","link":"Render-Lit-Material-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Lit.Textured.Code","link":"Render-Lit-Textured-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Lit.Textured.Code","link":"Render-Lit-Textured-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Compose\">Compose</a> = <a href=\"#v:Compose\">Compose</a> {<ul class=\"subs\"><li><a href=\"#v:renderPass\">renderPass</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:RenderPass\" title=\"Vulkan.Extensions.Handles\">RenderPass</a></li><li><a href=\"#v:frameBuffers\">frameBuffers</a> :: <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:Framebuffer\" title=\"Vulkan.Extensions.Handles\">Framebuffer</a></li><li><a href=\"#v:renderArea\">renderArea</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-FundamentalTypes.html#t:Rect2D\" title=\"Vulkan.Core10.FundamentalTypes\">Rect2D</a></li><li><a href=\"#v:clear\">clear</a> :: <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-CommandBufferBuilding.html#t:ClearValue\" title=\"Vulkan.Core10.CommandBufferBuilding\">ClearValue</a></li><li><a href=\"#v:release\">release</a> :: RefCounted</li></ul>}","name":"Compose Compose $sel:release:Compose $sel:clear:Compose $sel:renderPass:Compose $sel:renderArea:Compose $sel:frameBuffers:Compose","module":"Render.Pass.Compose","link":"Render-Pass-Compose.html#t:Compose"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, MonadVulkan env m, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, HasSwapchain swapchain) =&gt; swapchain -&gt; m <a href=\"Render-Pass-Compose.html#t:Compose\" title=\"Render.Pass.Compose\">Compose</a>","name":"allocate","module":"Render.Pass.Compose","link":"Render-Pass-Compose.html#v:allocate"},{"display_html":"<a href=\"#v:update\">update</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, MonadVulkan env m, HasSwapchain swapchain) =&gt; swapchain -&gt; <a href=\"Render-Pass-Compose.html#t:Compose\" title=\"Render.Pass.Compose\">Compose</a> -&gt; m <a href=\"Render-Pass-Compose.html#t:Compose\" title=\"Render.Pass.Compose\">Compose</a>","name":"update","module":"Render.Pass.Compose","link":"Render-Pass-Compose.html#v:update"},{"display_html":"<a href=\"#v:usePass\">usePass</a> :: (<a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> io, HasRenderPass a) =&gt; a -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; io r -&gt; io r","name":"usePass","module":"Render.Pass.Compose","link":"Render-Pass-Compose.html#v:usePass"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.ShadowMap.Code","link":"Render-ShadowMap-Code.html#v:vert"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Settings\">Settings</a> = <a href=\"#v:Settings\">Settings</a> {<ul class=\"subs\"><li><a href=\"#v:cull\">cull</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-CullModeFlagBits.html#t:CullModeFlagBits\" title=\"Vulkan.Core10.Enums.CullModeFlagBits\">CullModeFlagBits</a></li><li><a href=\"#v:depthBias\">depthBias</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> (<a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>, <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>)</li></ul>}","name":"Settings Settings $sel:cull:Settings $sel:depthBias:Settings","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#t:Settings"},{"display_html":"<a href=\"#v:defaults\">defaults</a> :: <a href=\"Render-ShadowMap-Pipeline.html#t:Settings\" title=\"Render.ShadowMap.Pipeline\">Settings</a>","name":"defaults","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#v:defaults"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>] (Vertex3d ()) Transform","name":"Pipeline","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"Render-ShadowMap-Pipeline.html#t:Settings\" title=\"Render.ShadowMap.Pipeline\">Settings</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-ShadowMap-Pipeline.html#t:Pipeline\" title=\"Render.ShadowMap.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#v:allocate"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-ShadowMap-Pipeline.html#t:Pipeline\" title=\"Render.ShadowMap.Pipeline\">Pipeline</a>","name":"Config","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a> DsLayoutBindings -&gt; <a href=\"Render-ShadowMap-Pipeline.html#t:Settings\" title=\"Render.ShadowMap.Pipeline\">Settings</a> -&gt; <a href=\"Render-ShadowMap-Pipeline.html#t:Config\" title=\"Render.ShadowMap.Pipeline\">Config</a>","name":"config","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.ShadowMap.Pipeline","link":"Render-ShadowMap-Pipeline.html#v:stageSpirv"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:ShadowMap\">ShadowMap</a> = <a href=\"#v:ShadowMap\">ShadowMap</a> {<ul class=\"subs\"><li><a href=\"#v:smRenderPass\">smRenderPass</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:RenderPass\" title=\"Vulkan.Extensions.Handles\">RenderPass</a></li><li><a href=\"#v:smDepthImage\">smDepthImage</a> :: AllocatedImage</li><li><a href=\"#v:smFrameBuffer\">smFrameBuffer</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:Framebuffer\" title=\"Vulkan.Extensions.Handles\">Framebuffer</a></li><li><a href=\"#v:smRenderArea\">smRenderArea</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-FundamentalTypes.html#t:Rect2D\" title=\"Vulkan.Core10.FundamentalTypes\">Rect2D</a></li><li><a href=\"#v:smExtent\">smExtent</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-FundamentalTypes.html#t:Extent2D\" title=\"Vulkan.Core10.FundamentalTypes\">Extent2D</a></li><li><a href=\"#v:smLayerCount\">smLayerCount</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li><li><a href=\"#v:smClear\">smClear</a> :: <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-CommandBufferBuilding.html#t:ClearValue\" title=\"Vulkan.Core10.CommandBufferBuilding\">ClearValue</a></li><li><a href=\"#v:smRelease\">smRelease</a> :: RefCounted</li></ul>}","name":"ShadowMap ShadowMap $sel:smRenderPass:ShadowMap $sel:smDepthImage:ShadowMap $sel:smFrameBuffer:ShadowMap $sel:smRenderArea:ShadowMap $sel:smExtent:ShadowMap $sel:smLayerCount:ShadowMap $sel:smClear:ShadowMap $sel:smRelease:ShadowMap","module":"Render.ShadowMap.RenderPass","link":"Render-ShadowMap-RenderPass.html#t:ShadowMap"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, MonadVulkan env m, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, HasSwapchain context) =&gt; context -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a> -&gt; (&quot;light count&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a>) -&gt; m <a href=\"Render-ShadowMap-RenderPass.html#t:ShadowMap\" title=\"Render.ShadowMap.RenderPass\">ShadowMap</a>","name":"allocate","module":"Render.ShadowMap.RenderPass","link":"Render-ShadowMap-RenderPass.html#v:allocate"},{"display_html":"<a href=\"#v:usePass\">usePass</a> :: (<a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> io, HasRenderPass a) =&gt; a -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; io r -&gt; io r","name":"usePass","module":"Render.ShadowMap.RenderPass","link":"Render-ShadowMap-RenderPass.html#v:usePass"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Skybox.Code","link":"Render-Skybox-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Skybox.Code","link":"Render-Skybox-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Skybox-Pipeline.html#t:Pipeline\" title=\"Render.Skybox.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Skybox.Pipeline","link":"Render-Skybox-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Skybox-Pipeline.html#t:Config\" title=\"Render.Skybox.Pipeline\">Config</a>","name":"config","module":"Render.Skybox.Pipeline","link":"Render-Skybox-Pipeline.html#v:config"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] () ()","name":"Pipeline","module":"Render.Skybox.Pipeline","link":"Render-Skybox-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Skybox-Pipeline.html#t:Pipeline\" title=\"Render.Skybox.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Skybox.Pipeline","link":"Render-Skybox-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Skybox.Pipeline","link":"Render-Skybox-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Skybox.Pipeline","link":"Render-Skybox-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Unlit.Colored.Code","link":"Render-Unlit-Colored-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Unlit.Colored.Code","link":"Render-Unlit-Colored-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Unlit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Colored.Model\">VertexAttrs</a>","name":"Model","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Unlit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Colored.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = &quot;RGBA&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Vec4","name":"VertexAttrs","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#t:VertexAttrs"},{"display_html":"<a href=\"#v:rgbF\">rgbF</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; <a href=\"Render-Unlit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Colored.Model\">VertexAttrs</a>","name":"rgbF","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#v:rgbF"},{"display_html":"<a href=\"#v:black\">black</a> :: <a href=\"Render-Unlit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Colored.Model\">VertexAttrs</a>","name":"black","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#v:black"},{"display_html":"<a href=\"#v:white\">white</a> :: <a href=\"Render-Unlit-Colored-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Colored.Model\">VertexAttrs</a>","name":"white","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#v:white"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:InstanceAttrs\">InstanceAttrs</a> = Transform","name":"InstanceAttrs","module":"Render.Unlit.Colored.Model","link":"Render-Unlit-Colored-Model.html#t:InstanceAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Unlit-Colored-Model.html#t:Vertex\" title=\"Render.Unlit.Colored.Model\">Vertex</a> <a href=\"Render-Unlit-Colored-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Colored.Model\">InstanceAttrs</a>","name":"Pipeline","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:allocateWireframe\">allocateWireframe</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a>","name":"allocateWireframe","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#v:allocateWireframe"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-Colored-Pipeline.html#t:Config\" title=\"Render.Unlit.Colored.Pipeline\">Config</a>","name":"config","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:configWireframe\">configWireframe</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-Colored-Pipeline.html#t:Config\" title=\"Render.Unlit.Colored.Pipeline\">Config</a>","name":"configWireframe","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#v:configWireframe"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Unlit.Colored.Pipeline","link":"Render-Unlit-Colored-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Unlit.Line2d.Code","link":"Render-Unlit-Line2d-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Unlit.Line2d.Code","link":"Render-Unlit-Line2d-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Segment\">Segment</a> = Allocated 'Staged Packed","name":"Segment","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:Segment"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d ()","name":"Vertex","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:Vertex"},{"display_html":"<a href=\"#v:createVertices\">createVertices</a> :: MonadVulkan env m =&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> -&gt; Queues <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandPool\" title=\"Vulkan.Extensions.Handles\">CommandPool</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; m <a href=\"Render-Unlit-Line2d-Model.html#t:Segment\" title=\"Render.Unlit.Line2d.Model\">Segment</a>","name":"createVertices","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#v:createVertices"},{"display_html":"<a href=\"#v:verticesRoundRound\">verticesRoundRound</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> Packed","name":"verticesRoundRound","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#v:verticesRoundRound"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Points\">Points</a> = <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a>","name":"Points","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:Points"},{"display_html":"<a href=\"#v:point\">point</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; Vec4 -&gt; Vec2 -&gt; <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a>","name":"point","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#v:point"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:InstanceAttrs\">InstanceAttrs</a> = <a href=\"#v:InstanceAttrs\">InstanceAttrs</a> {<ul class=\"subs\"><li><a href=\"#v:color\">color</a> :: Vec4</li><li><a href=\"#v:position\">position</a> :: Packed</li><li><a href=\"#v:width\">width</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li></ul>}","name":"InstanceAttrs InstanceAttrs $sel:width:InstanceAttrs $sel:color:InstanceAttrs $sel:position:InstanceAttrs","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:InstanceAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffer\">Buffer</a> s = Allocated s <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a>","name":"Buffer","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:Buffer"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Observer\">Observer</a> = ObserverCoherent <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a>","name":"Observer","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:Observer"},{"display_html":"<a href=\"#v:observeCoherentResize_\">observeCoherentResize_</a> :: (MonadVulkan env m, HasOutput source, GetOutput source ~ <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> output, <a href=\"/package/base-4.16.4.0/docs/Foreign-Storable.html#t:Storable\" title=\"Foreign.Storable\">Storable</a> output) =&gt; source -&gt; ObserverCoherent output -&gt; m ()","name":"observeCoherentResize_","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#v:observeCoherentResize_"},{"display_html":"<span class=\"keyword\">newtype</span> <a href=\"#t:Batches\">Batches</a> v a = <a href=\"#v:Batches\">Batches</a> [v a]","name":"Batches Batches","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:Batches"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:BatchObserver\">BatchObserver</a> = ObserverIO (<a href=\"Render-Unlit-Line2d-Model.html#t:Buffer\" title=\"Render.Unlit.Line2d.Model\">Buffer</a> 'Coherent, Ranges)","name":"BatchObserver","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#t:BatchObserver"},{"display_html":"<a href=\"#v:newBatchObserver\">newBatchObserver</a> :: (MonadVulkan env m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m) =&gt; (&quot;initial size&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>) -&gt; m <a href=\"Render-Unlit-Line2d-Model.html#t:BatchObserver\" title=\"Render.Unlit.Line2d.Model\">BatchObserver</a>","name":"newBatchObserver","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#v:newBatchObserver"},{"display_html":"<a href=\"#v:observeCoherentBatches\">observeCoherentBatches</a> :: (GetOutput output ~ <a href=\"Render-Unlit-Line2d-Model.html#t:Batches\" title=\"Render.Unlit.Line2d.Model\">Batches</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a>, HasOutput output, MonadVulkan env m) =&gt; output -&gt; <a href=\"Render-Unlit-Line2d-Model.html#t:BatchObserver\" title=\"Render.Unlit.Line2d.Model\">BatchObserver</a> -&gt; m ()","name":"observeCoherentBatches","module":"Render.Unlit.Line2d.Model","link":"Render-Unlit-Line2d-Model.html#v:observeCoherentBatches"},{"display_html":"<a href=\"#v:batch\">batch</a> :: (<a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m, <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; <a href=\"Render-Unlit-Line2d-Model.html#t:Segment\" title=\"Render.Unlit.Line2d.Model\">Segment</a> -&gt; Allocated s <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a> -&gt; t (&quot;firstInstance&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a>, &quot;instanceCount&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a>) -&gt; Bound dsl vertices instances m ()","name":"batch","module":"Render.Unlit.Line2d.Draw","link":"Render-Unlit-Line2d-Draw.html#v:batch"},{"display_html":"<a href=\"#v:single\">single</a> :: <a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; <a href=\"Render-Unlit-Line2d-Model.html#t:Segment\" title=\"Render.Unlit.Line2d.Model\">Segment</a> -&gt; Allocated s <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a> -&gt; Bound dsl vertices instances m ()","name":"single","module":"Render.Unlit.Line2d.Draw","link":"Render-Unlit-Line2d-Draw.html#v:single"},{"display_html":"<a href=\"#v:bind\">bind</a> :: <a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> io =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; <a href=\"Render-Unlit-Line2d-Model.html#t:Segment\" title=\"Render.Unlit.Line2d.Model\">Segment</a> -&gt; <a href=\"Render-Unlit-Line2d-Model.html#t:Buffer\" title=\"Render.Unlit.Line2d.Model\">Buffer</a> s -&gt; io ()","name":"bind","module":"Render.Unlit.Line2d.Draw","link":"Render-Unlit-Line2d-Draw.html#v:bind"},{"display_html":"<a href=\"#v:segments\">segments</a> :: <a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> io =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; Allocated s a -&gt; (&quot;firstInstance&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a>, &quot;instanceCount&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a>) -&gt; io ()","name":"segments","module":"Render.Unlit.Line2d.Draw","link":"Render-Unlit-Line2d-Draw.html#v:segments"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Unlit-Line2d-Model.html#t:Vertex\" title=\"Render.Unlit.Line2d.Model\">Vertex</a> <a href=\"Render-Unlit-Line2d-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Line2d.Model\">InstanceAttrs</a>","name":"Pipeline","module":"Render.Unlit.Line2d.Pipeline","link":"Render-Unlit-Line2d-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (MonadVulkan env m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, HasRenderPass renderpass) =&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> m <a href=\"Render-Unlit-Line2d-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Line2d.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Unlit.Line2d.Pipeline","link":"Render-Unlit-Line2d-Pipeline.html#v:allocate"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Unlit-Line2d-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Line2d.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Unlit.Line2d.Pipeline","link":"Render-Unlit-Line2d-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-Line2d-Pipeline.html#t:Config\" title=\"Render.Unlit.Line2d.Pipeline\">Config</a>","name":"config","module":"Render.Unlit.Line2d.Pipeline","link":"Render-Unlit-Line2d-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Unlit.Line2d.Pipeline","link":"Render-Unlit-Line2d-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Unlit.Line2d.Pipeline","link":"Render-Unlit-Line2d-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Unlit.Sprite.Code","link":"Render-Unlit-Sprite-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Unlit.Sprite.Code","link":"Render-Unlit-Sprite-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:InstanceAttrs\">InstanceAttrs</a> = <a href=\"#v:InstanceAttrs\">InstanceAttrs</a> {<ul class=\"subs\"><li><a href=\"#v:vertRect\">vertRect</a> :: Vec4</li><li><a href=\"#v:fragRect\">fragRect</a> :: Vec4</li><li><a href=\"#v:tint\">tint</a> :: Vec4</li><li><a href=\"#v:outline\">outline</a> :: Vec4</li><li><a href=\"#v:animation\">animation</a> :: Vec4</li><li><a href=\"#v:textureSize\">textureSize</a> :: UVec2</li><li><a href=\"#v:samplerId\">samplerId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:textureId\">textureId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li></ul>}","name":"InstanceAttrs InstanceAttrs $sel:vertRect:InstanceAttrs $sel:fragRect:InstanceAttrs $sel:samplerId:InstanceAttrs $sel:textureId:InstanceAttrs $sel:tint:InstanceAttrs $sel:outline:InstanceAttrs $sel:animation:InstanceAttrs $sel:textureSize:InstanceAttrs","module":"Render.Unlit.Sprite.Model","link":"Render-Unlit-Sprite-Model.html#t:InstanceAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:StorableAttrs\">StorableAttrs</a> = <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a>","name":"StorableAttrs","module":"Render.Unlit.Sprite.Model","link":"Render-Unlit-Sprite-Model.html#t:StorableAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:InstanceBuffer\">InstanceBuffer</a> stage = Allocated stage <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a>","name":"InstanceBuffer","module":"Render.Unlit.Sprite.Model","link":"Render-Unlit-Sprite-Model.html#t:InstanceBuffer"},{"display_html":"<a href=\"#v:fromTexture\">fromTexture</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; Vec2 -&gt; Vec2 -&gt; <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a>","name":"fromTexture","module":"Render.Unlit.Sprite.Model","link":"Render-Unlit-Sprite-Model.html#v:fromTexture"},{"display_html":"<a href=\"#v:fromAtlas\">fromAtlas</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; Atlas -&gt; Vec2 -&gt; Vec2 -&gt; Vec2 -&gt; <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a>","name":"fromAtlas","module":"Render.Unlit.Sprite.Model","link":"Render-Unlit-Sprite-Model.html#v:fromAtlas"},{"display_html":"<a href=\"#v:animate_\">animate_</a> :: (&quot;margin&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>) -&gt; (&quot;num.frames&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>) -&gt; (&quot;frame duration&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>) -&gt; (&quot;phase&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>) -&gt; <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a> -&gt; <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a>","name":"animate_","module":"Render.Unlit.Sprite.Model","link":"Render-Unlit-Sprite-Model.html#v:animate_"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] () <a href=\"Render-Unlit-Sprite-Model.html#t:InstanceAttrs\" title=\"Render.Unlit.Sprite.Model\">InstanceAttrs</a>","name":"Pipeline","module":"Render.Unlit.Sprite.Pipeline","link":"Render-Unlit-Sprite-Pipeline.html#t:Pipeline"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Unlit-Sprite-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Sprite.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Unlit.Sprite.Pipeline","link":"Render-Unlit-Sprite-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-Sprite-Pipeline.html#t:Config\" title=\"Render.Unlit.Sprite.Pipeline\">Config</a>","name":"config","module":"Render.Unlit.Sprite.Pipeline","link":"Render-Unlit-Sprite-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Maybe.html#t:Maybe\" title=\"Data.Maybe\">Maybe</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-Sprite-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Sprite.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Unlit.Sprite.Pipeline","link":"Render-Unlit-Sprite-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Unlit.Sprite.Pipeline","link":"Render-Unlit-Sprite-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Unlit.Sprite.Pipeline","link":"Render-Unlit-Sprite-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Unlit.Textured.Code","link":"Render-Unlit-Textured-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Unlit.Textured.Code","link":"Render-Unlit-Textured-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Unlit-Textured-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Textured.Model\">VertexAttrs</a>","name":"Model","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Unlit-Textured-Model.html#t:VertexAttrs\" title=\"Render.Unlit.Textured.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = &quot;uv&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Vec2","name":"VertexAttrs","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:VertexAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:AttrsF\">AttrsF</a> f = <a href=\"#v:Attrs\">Attrs</a> {<ul class=\"subs\"><li><a href=\"#v:params\">params</a> :: HKD f <a href=\"Render-Unlit-Textured-Model.html#t:TextureParams\" title=\"Render.Unlit.Textured.Model\">TextureParams</a></li><li><a href=\"#v:transforms\">transforms</a> :: HKD f Transform</li></ul>}","name":"AttrsF Attrs $sel:params:Attrs $sel:transforms:Attrs","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:AttrsF"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Attrs\">Attrs</a> = <a href=\"Render-Unlit-Textured-Model.html#t:AttrsF\" title=\"Render.Unlit.Textured.Model\">AttrsF</a> <a href=\"/package/base-4.16.4.0/docs/Data-Functor-Identity.html#t:Identity\" title=\"Data.Functor.Identity\">Identity</a>","name":"Attrs","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:Attrs"},{"display_html":"<a href=\"#v:attrs\">attrs</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; [Transform] -&gt; <a href=\"Render-Unlit-Textured-Model.html#t:Attrs\" title=\"Render.Unlit.Textured.Model\">Attrs</a>","name":"attrs","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#v:attrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stores\">Stores</a> = <a href=\"Render-Unlit-Textured-Model.html#t:AttrsF\" title=\"Render.Unlit.Textured.Model\">AttrsF</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a>","name":"Stores","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:Stores"},{"display_html":"<a href=\"#v:attrStores\">attrStores</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t =&gt; t <a href=\"Render-Unlit-Textured-Model.html#t:Attrs\" title=\"Render.Unlit.Textured.Model\">Attrs</a> -&gt; <a href=\"Render-Unlit-Textured-Model.html#t:Stores\" title=\"Render.Unlit.Textured.Model\">Stores</a>","name":"attrStores","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#v:attrStores"},{"display_html":"<a href=\"#v:stores1\">stores1</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; [Transform] -&gt; <a href=\"Render-Unlit-Textured-Model.html#t:Stores\" title=\"Render.Unlit.Textured.Model\">Stores</a>","name":"stores1","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#v:stores1"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffers\">Buffers</a> = <a href=\"Render-Unlit-Textured-Model.html#t:AttrsF\" title=\"Render.Unlit.Textured.Model\">AttrsF</a> (Allocated 'Coherent)","name":"Buffers","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:Buffers"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TextureParams\">TextureParams</a> = <a href=\"#v:TextureParams\">TextureParams</a> {<ul class=\"subs\"><li><a href=\"#v:tpScale\">tpScale</a> :: Vec2</li><li><a href=\"#v:tpOffset\">tpOffset</a> :: Vec2</li><li><a href=\"#v:tpGamma\">tpGamma</a> :: Vec4</li><li><a href=\"#v:tpSamplerId\">tpSamplerId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:tpTextureId\">tpTextureId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li></ul>}","name":"TextureParams TextureParams $sel:tpSamplerId:TextureParams $sel:tpTextureId:TextureParams $sel:tpScale:TextureParams $sel:tpOffset:TextureParams $sel:tpGamma:TextureParams","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:TextureParams"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ObserverCoherent\">ObserverCoherent</a> = ObserverIO <a href=\"Render-Unlit-Textured-Model.html#t:Buffers\" title=\"Render.Unlit.Textured.Model\">Buffers</a>","name":"ObserverCoherent","module":"Render.Unlit.Textured.Model","link":"Render-Unlit-Textured-Model.html#t:ObserverCoherent"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Lit-Textured-Model.html#t:VertexAttrs\" title=\"Render.Lit.Textured.Model\">VertexAttrs</a>","name":"Model","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Lit-Textured-Model.html#t:VertexAttrs\" title=\"Render.Lit.Textured.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = <a href=\"#v:VertexAttrs\">VertexAttrs</a> {<ul class=\"subs\"><li><a href=\"#v:vaTexCoord\">vaTexCoord</a> :: Vec2</li><li><a href=\"#v:vaNormal\">vaNormal</a> :: Packed</li></ul>}","name":"VertexAttrs VertexAttrs $sel:vaNormal:VertexAttrs $sel:vaTexCoord:VertexAttrs","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:VertexAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TextureParams\">TextureParams</a> = <a href=\"#v:TextureParams\">TextureParams</a> {<ul class=\"subs\"><li><a href=\"#v:tpScale\">tpScale</a> :: Vec2</li><li><a href=\"#v:tpOffset\">tpOffset</a> :: Vec2</li><li><a href=\"#v:tpGamma\">tpGamma</a> :: Vec4</li><li><a href=\"#v:tpSamplerId\">tpSamplerId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:tpTextureId\">tpTextureId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li></ul>}","name":"TextureParams $sel:tpGamma:TextureParams $sel:tpOffset:TextureParams $sel:tpScale:TextureParams $sel:tpTextureId:TextureParams TextureParams $sel:tpSamplerId:TextureParams","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:TextureParams"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ObserverCoherent\">ObserverCoherent</a> = ObserverIO <a href=\"Render-Lit-Textured-Model.html#t:Buffers\" title=\"Render.Lit.Textured.Model\">Buffers</a>","name":"ObserverCoherent","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:ObserverCoherent"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffers\">Buffers</a> = <a href=\"Render-Lit-Textured-Model.html#t:AttrsF\" title=\"Render.Lit.Textured.Model\">AttrsF</a> (Allocated 'Coherent)","name":"Buffers","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:Buffers"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stores\">Stores</a> = <a href=\"Render-Lit-Textured-Model.html#t:AttrsF\" title=\"Render.Lit.Textured.Model\">AttrsF</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a>","name":"Stores","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:Stores"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Attrs\">Attrs</a> = <a href=\"Render-Lit-Textured-Model.html#t:AttrsF\" title=\"Render.Lit.Textured.Model\">AttrsF</a> <a href=\"/package/base-4.16.4.0/docs/Data-Functor-Identity.html#t:Identity\" title=\"Data.Functor.Identity\">Identity</a>","name":"Attrs","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:Attrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:AttrsF\">AttrsF</a> f = <a href=\"#v:Attrs\">Attrs</a> {<ul class=\"subs\"><li><a href=\"#v:params\">params</a> :: HKD f <a href=\"Render-Lit-Textured-Model.html#t:TextureParams\" title=\"Render.Lit.Textured.Model\">TextureParams</a></li><li><a href=\"#v:transforms\">transforms</a> :: HKD f Transform</li></ul>}","name":"AttrsF $sel:transforms:Attrs Attrs $sel:params:Attrs","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#t:AttrsF"},{"display_html":"<a href=\"#v:attrs\">attrs</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; [Transform] -&gt; <a href=\"Render-Lit-Textured-Model.html#t:Attrs\" title=\"Render.Lit.Textured.Model\">Attrs</a>","name":"attrs","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#v:attrs"},{"display_html":"<a href=\"#v:attrStores\">attrStores</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t =&gt; t <a href=\"Render-Lit-Textured-Model.html#t:Attrs\" title=\"Render.Lit.Textured.Model\">Attrs</a> -&gt; <a href=\"Render-Lit-Textured-Model.html#t:Stores\" title=\"Render.Lit.Textured.Model\">Stores</a>","name":"attrStores","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#v:attrStores"},{"display_html":"<a href=\"#v:stores1\">stores1</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; [Transform] -&gt; <a href=\"Render-Lit-Textured-Model.html#t:Stores\" title=\"Render.Lit.Textured.Model\">Stores</a>","name":"stores1","module":"Render.Lit.Textured.Model","link":"Render-Lit-Textured-Model.html#v:stores1"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Lit-Textured-Model.html#t:Vertex\" title=\"Render.Lit.Textured.Model\">Vertex</a> <a href=\"Render-Unlit-Textured-Model.html#t:Attrs\" title=\"Render.Unlit.Textured.Model\">Attrs</a>","name":"Pipeline","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Lit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Textured.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:allocateBlend\">allocateBlend</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Lit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Textured.Pipeline\">Pipeline</a>","name":"allocateBlend","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#v:allocateBlend"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Lit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Textured.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Lit-Textured-Pipeline.html#t:Config\" title=\"Render.Lit.Textured.Pipeline\">Config</a>","name":"config","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:configBlend\">configBlend</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Lit-Textured-Pipeline.html#t:Config\" title=\"Render.Lit.Textured.Pipeline\">Config</a>","name":"configBlend","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#v:configBlend"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Lit.Textured.Pipeline","link":"Render-Lit-Textured-Pipeline.html#v:stageSpirv"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Debug-Model.html#t:VertexAttrs\" title=\"Render.Debug.Model\">VertexAttrs</a>","name":"Model","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Debug-Model.html#t:VertexAttrs\" title=\"Render.Debug.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = &quot;uv&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Vec2","name":"VertexAttrs","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:VertexAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:AttrsF\">AttrsF</a> f = <a href=\"#v:Attrs\">Attrs</a> {<ul class=\"subs\"><li><a href=\"#v:params\">params</a> :: HKD f <a href=\"Render-Debug-Model.html#t:TextureParams\" title=\"Render.Debug.Model\">TextureParams</a></li><li><a href=\"#v:transforms\">transforms</a> :: HKD f Transform</li></ul>}","name":"AttrsF Attrs $sel:params:Attrs $sel:transforms:Attrs","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:AttrsF"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Attrs\">Attrs</a> = <a href=\"Render-Debug-Model.html#t:AttrsF\" title=\"Render.Debug.Model\">AttrsF</a> <a href=\"/package/base-4.16.4.0/docs/Data-Functor-Identity.html#t:Identity\" title=\"Data.Functor.Identity\">Identity</a>","name":"Attrs","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:Attrs"},{"display_html":"<a href=\"#v:attrs\">attrs</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; [Transform] -&gt; <a href=\"Render-Debug-Model.html#t:Attrs\" title=\"Render.Debug.Model\">Attrs</a>","name":"attrs","module":"Render.Debug.Model","link":"Render-Debug-Model.html#v:attrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stores\">Stores</a> = <a href=\"Render-Debug-Model.html#t:AttrsF\" title=\"Render.Debug.Model\">AttrsF</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a>","name":"Stores","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:Stores"},{"display_html":"<a href=\"#v:stores1\">stores1</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; [Transform] -&gt; <a href=\"Render-Debug-Model.html#t:Stores\" title=\"Render.Debug.Model\">Stores</a>","name":"stores1","module":"Render.Debug.Model","link":"Render-Debug-Model.html#v:stores1"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffers\">Buffers</a> = <a href=\"Render-Debug-Model.html#t:AttrsF\" title=\"Render.Debug.Model\">AttrsF</a> (Allocated 'Coherent)","name":"Buffers","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:Buffers"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TextureParams\">TextureParams</a> = <a href=\"#v:TextureParams\">TextureParams</a> {<ul class=\"subs\"><li><a href=\"#v:tpScale\">tpScale</a> :: Vec2</li><li><a href=\"#v:tpOffset\">tpOffset</a> :: Vec2</li><li><a href=\"#v:tpGamma\">tpGamma</a> :: Vec4</li><li><a href=\"#v:tpSamplerId\">tpSamplerId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:tpTextureId\">tpTextureId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li></ul>}","name":"TextureParams TextureParams $sel:tpSamplerId:TextureParams $sel:tpTextureId:TextureParams $sel:tpScale:TextureParams $sel:tpOffset:TextureParams $sel:tpGamma:TextureParams","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:TextureParams"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ObserverCoherent\">ObserverCoherent</a> = ObserverIO <a href=\"Render-Debug-Model.html#t:Buffers\" title=\"Render.Debug.Model\">Buffers</a>","name":"ObserverCoherent","module":"Render.Debug.Model","link":"Render-Debug-Model.html#t:ObserverCoherent"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Debug-Pipeline.html#t:Pipeline\" title=\"Render.Debug.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"Render-Debug-Pipeline.html#t:Mode\" title=\"Render.Debug.Pipeline\">Mode</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Debug-Pipeline.html#t:Config\" title=\"Render.Debug.Pipeline\">Config</a>","name":"config","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#v:config"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Debug-Model.html#t:Vertex\" title=\"Render.Debug.Model\">Vertex</a> <a href=\"Render-Debug-Model.html#t:Attrs\" title=\"Render.Debug.Model\">Attrs</a>","name":"Pipeline","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"Render-Debug-Pipeline.html#t:Mode\" title=\"Render.Debug.Pipeline\">Mode</a> -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Debug-Pipeline.html#t:Pipeline\" title=\"Render.Debug.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#v:allocate"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Mode\">Mode</a><ul class=\"subs\"><li>= <a href=\"#v:UV\">UV</a></li><li>| <a href=\"#v:Texture\">Texture</a></li><li>| <a href=\"#v:Shadow\">Shadow</a> <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li></ul>","name":"Mode Texture UV Shadow","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#t:Mode"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Debug.Pipeline","link":"Render-Debug-Pipeline.html#v:stageSpirv"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Unlit-Textured-Model.html#t:Vertex\" title=\"Render.Unlit.Textured.Model\">Vertex</a> <a href=\"Render-Unlit-Textured-Model.html#t:Attrs\" title=\"Render.Unlit.Textured.Model\">Attrs</a>","name":"Pipeline","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Textured.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:allocateBlend\">allocateBlend</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Textured.Pipeline\">Pipeline</a>","name":"allocateBlend","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#v:allocateBlend"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Unlit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Textured.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-Textured-Pipeline.html#t:Config\" title=\"Render.Unlit.Textured.Pipeline\">Config</a>","name":"config","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:configBlend\">configBlend</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-Textured-Pipeline.html#t:Config\" title=\"Render.Unlit.Textured.Pipeline\">Config</a>","name":"configBlend","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#v:configBlend"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#v:stageCode"},{"display_html":"<a href=\"#v:stageSpirv\">stageSpirv</a> :: StageSpirv","name":"stageSpirv","module":"Render.Unlit.Textured.Pipeline","link":"Render-Unlit-Textured-Pipeline.html#v:stageSpirv"},{"display_html":"<a href=\"#v:vert\">vert</a> :: Code","name":"vert","module":"Render.Unlit.TileMap.Code","link":"Render-Unlit-TileMap-Code.html#v:vert"},{"display_html":"<a href=\"#v:frag\">frag</a> :: Code","name":"frag","module":"Render.Unlit.TileMap.Code","link":"Render-Unlit-TileMap-Code.html#v:frag"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Model\">Model</a> buf = Indexed buf Packed <a href=\"Render-Unlit-TileMap-Model.html#t:VertexAttrs\" title=\"Render.Unlit.TileMap.Model\">VertexAttrs</a>","name":"Model","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:Model"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Vertex\">Vertex</a> = Vertex3d <a href=\"Render-Unlit-TileMap-Model.html#t:VertexAttrs\" title=\"Render.Unlit.TileMap.Model\">VertexAttrs</a>","name":"Vertex","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:Vertex"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:VertexAttrs\">VertexAttrs</a> = &quot;uv&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Vec2","name":"VertexAttrs","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:VertexAttrs"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:AttrsF\">AttrsF</a> f = <a href=\"#v:Attrs\">Attrs</a> {<ul class=\"subs\"><li><a href=\"#v:params\">params</a> :: HKD f <a href=\"Render-Unlit-TileMap-Model.html#t:TileMapParams\" title=\"Render.Unlit.TileMap.Model\">TileMapParams</a></li><li><a href=\"#v:transforms\">transforms</a> :: HKD f Transform</li></ul>}","name":"AttrsF Attrs $sel:params:Attrs $sel:transforms:Attrs","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:AttrsF"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Attrs\">Attrs</a> = <a href=\"Render-Unlit-TileMap-Model.html#t:AttrsF\" title=\"Render.Unlit.TileMap.Model\">AttrsF</a> <a href=\"/package/base-4.16.4.0/docs/Data-Functor-Identity.html#t:Identity\" title=\"Data.Functor.Identity\">Identity</a>","name":"Attrs","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:Attrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stores\">Stores</a> = <a href=\"Render-Unlit-TileMap-Model.html#t:AttrsF\" title=\"Render.Unlit.TileMap.Model\">AttrsF</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a>","name":"Stores","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:Stores"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffers\">Buffers</a> = <a href=\"Render-Unlit-TileMap-Model.html#t:AttrsF\" title=\"Render.Unlit.TileMap.Model\">AttrsF</a> (Allocated 'Coherent)","name":"Buffers","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:Buffers"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:TileMapParams\">TileMapParams</a> = <a href=\"#v:TileMapParams\">TileMapParams</a> {<ul class=\"subs\"><li><a href=\"#v:tmpTextureIds\">tmpTextureIds</a> :: IVec4</li><li><a href=\"#v:tmpViewOffset\">tmpViewOffset</a> :: Vec2</li><li><a href=\"#v:tmpViewportSize\">tmpViewportSize</a> :: Vec2</li><li><a href=\"#v:tmpMapTextureSize\">tmpMapTextureSize</a> :: Vec2</li><li><a href=\"#v:tmpTilesetTextureSize\">tmpTilesetTextureSize</a> :: Vec2</li><li><a href=\"#v:tmpTileSize\">tmpTileSize</a> :: Vec2</li><li><a href=\"#v:tmpTilesetOffset\">tmpTilesetOffset</a> :: Vec2</li><li><a href=\"#v:tmpTilesetBorder\">tmpTilesetBorder</a> :: Vec2</li></ul>}","name":"TileMapParams TileMapParams $sel:tmpTextureIds:TileMapParams $sel:tmpViewOffset:TileMapParams $sel:tmpViewportSize:TileMapParams $sel:tmpMapTextureSize:TileMapParams $sel:tmpTilesetTextureSize:TileMapParams $sel:tmpTileSize:TileMapParams $sel:tmpTilesetOffset:TileMapParams $sel:tmpTilesetBorder:TileMapParams","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:TileMapParams"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:ObserverCoherent\">ObserverCoherent</a> = ObserverIO <a href=\"Render-Unlit-TileMap-Model.html#t:Buffers\" title=\"Render.Unlit.TileMap.Model\">Buffers</a>","name":"ObserverCoherent","module":"Render.Unlit.TileMap.Model","link":"Render-Unlit-TileMap-Model.html#t:ObserverCoherent"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipeline\">Pipeline</a> = Pipeline '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"Render-Unlit-TileMap-Model.html#t:Vertex\" title=\"Render.Unlit.TileMap.Model\">Vertex</a> <a href=\"Render-Unlit-TileMap-Model.html#t:Attrs\" title=\"Render.Unlit.TileMap.Model\">Attrs</a>","name":"Pipeline","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#t:Pipeline"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.TileMap.Pipeline\">Pipeline</a>","name":"allocate","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#v:allocate"},{"display_html":"<a href=\"#v:allocateBlend\">allocateBlend</a> :: (HasVulkan env, HasRenderPass renderpass) =&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; renderpass -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.TileMap.Pipeline\">Pipeline</a>","name":"allocateBlend","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#v:allocateBlend"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Config\">Config</a> = Configure <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.TileMap.Pipeline\">Pipeline</a>","name":"Config","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#t:Config"},{"display_html":"<a href=\"#v:config\">config</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Config\" title=\"Render.Unlit.TileMap.Pipeline\">Config</a>","name":"config","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#v:config"},{"display_html":"<a href=\"#v:configBlend\">configBlend</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Config\" title=\"Render.Unlit.TileMap.Pipeline\">Config</a>","name":"configBlend","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#v:configBlend"},{"display_html":"<a href=\"#v:stageCode\">stageCode</a> :: StageCode","name":"stageCode","module":"Render.Unlit.TileMap.Pipeline","link":"Render-Unlit-TileMap-Pipeline.html#v:stageCode"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stage\">Stage</a> = Stage <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a>","name":"Stage","module":"Render.Basic","link":"Render-Basic.html#t:Stage"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Frame\">Frame</a> = Frame <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a>","name":"Frame","module":"Render.Basic","link":"Render-Basic.html#t:Frame"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:StageFrameRIO\">StageFrameRIO</a> r s a = StageFrameRIO <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a> r s a","name":"StageFrameRIO","module":"Render.Basic","link":"Render-Basic.html#t:StageFrameRIO"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Rendering\">Rendering</a> = Rendering <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a>","name":"Rendering","module":"Render.Basic","link":"Render-Basic.html#t:Rendering"},{"display_html":"<a href=\"#v:rendering_\">rendering_</a> :: <a href=\"Render-Basic.html#t:Rendering\" title=\"Render.Basic\">Rendering</a> st","name":"rendering_","module":"Render.Basic","link":"Render-Basic.html#v:rendering_"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RenderPasses\">RenderPasses</a> = <a href=\"#v:RenderPasses\">RenderPasses</a> {<ul class=\"subs\"><li><a href=\"#v:rpForwardMsaa\">rpForwardMsaa</a> :: <a href=\"Render-ForwardMsaa.html#t:ForwardMsaa\" title=\"Render.ForwardMsaa\">ForwardMsaa</a></li><li><a href=\"#v:rpShadowPass\">rpShadowPass</a> :: <a href=\"Render-ShadowMap-RenderPass.html#t:ShadowMap\" title=\"Render.ShadowMap.RenderPass\">ShadowMap</a></li></ul>}","name":"RenderPasses $sel:rpShadowPass:RenderPasses $sel:rpForwardMsaa:RenderPasses RenderPasses","module":"Render.Basic","link":"Render-Basic.html#t:RenderPasses"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Settings\">Settings</a> = <a href=\"#v:Settings\">Settings</a> {<ul class=\"subs\"><li><a href=\"#v:sShadowSize\">sShadowSize</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li><li><a href=\"#v:sShadowLayers\">sShadowLayers</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a></li></ul>}","name":"Settings $sel:sShadowLayers:Settings $sel:sShadowSize:Settings Settings","module":"Render.Basic","link":"Render-Basic.html#t:Settings"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (HasSwapchain swapchain, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, HasVulkan env) =&gt; <a href=\"Render-Basic.html#t:Settings\" title=\"Render.Basic\">Settings</a> -&gt; swapchain -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a>","name":"allocate","module":"Render.Basic","link":"Render-Basic.html#v:allocate"},{"display_html":"<a href=\"#v:allocate_\">allocate_</a> :: (HasSwapchain swapchain, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, HasVulkan env) =&gt; swapchain -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (<a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env) <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a>","name":"allocate_","module":"Render.Basic","link":"Render-Basic.html#v:allocate_"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Pipelines\">Pipelines</a> = <a href=\"Render-Basic.html#t:PipelinesF\" title=\"Render.Basic\">PipelinesF</a> <a href=\"/package/base-4.16.4.0/docs/Data-Functor-Identity.html#t:Identity\" title=\"Data.Functor.Identity\">Identity</a>","name":"Pipelines","module":"Render.Basic","link":"Render-Basic.html#t:Pipelines"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PipelineObservers\">PipelineObservers</a> = <a href=\"Render-Basic.html#t:PipelinesF\" title=\"Render.Basic\">PipelinesF</a> Observers","name":"PipelineObservers","module":"Render.Basic","link":"Render-Basic.html#t:PipelineObservers"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:PipelineWorkers\">PipelineWorkers</a> = <a href=\"Render-Basic.html#t:PipelinesF\" title=\"Render.Basic\">PipelinesF</a> ConfigureGraphics","name":"PipelineWorkers","module":"Render.Basic","link":"Render-Basic.html#t:PipelineWorkers"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PipelinesF\">PipelinesF</a> (f :: <a href=\"/package/base-4.16.4.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Kind.html#t:Type\" title=\"Data.Kind\">Type</a>) = <a href=\"#v:Pipelines\">Pipelines</a> {<ul class=\"subs\"><li><a href=\"#v:pMSAA\">pMSAA</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a></li><li><a href=\"#v:pSceneBinds\">pSceneBinds</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings</li><li><a href=\"#v:pSceneLayout\">pSceneLayout</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a></li><li><a href=\"#v:pShadowBinds\">pShadowBinds</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a> DsLayoutBindings</li><li><a href=\"#v:pShadowLayout\">pShadowLayout</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a></li><li><a href=\"#v:pEvanwSdf\">pEvanwSdf</a> :: f ^ <a href=\"Render-Font-EvanwSdf-Pipeline.html#t:Pipeline\" title=\"Render.Font.EvanwSdf.Pipeline\">Pipeline</a></li><li><a href=\"#v:pSkybox\">pSkybox</a> :: f ^ <a href=\"Render-Skybox-Pipeline.html#t:Pipeline\" title=\"Render.Skybox.Pipeline\">Pipeline</a></li><li><a href=\"#v:pDebugUV\">pDebugUV</a> :: f ^ <a href=\"Render-Debug-Pipeline.html#t:Pipeline\" title=\"Render.Debug.Pipeline\">Pipeline</a></li><li><a href=\"#v:pDebugTexture\">pDebugTexture</a> :: f ^ <a href=\"Render-Debug-Pipeline.html#t:Pipeline\" title=\"Render.Debug.Pipeline\">Pipeline</a></li><li><a href=\"#v:pDebugShadow\">pDebugShadow</a> :: f ^ <a href=\"Render-Debug-Pipeline.html#t:Pipeline\" title=\"Render.Debug.Pipeline\">Pipeline</a></li><li><a href=\"#v:pDepthOnly\">pDepthOnly</a> :: f ^ <a href=\"Render-DepthOnly-Pipeline.html#t:Pipeline\" title=\"Render.DepthOnly.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLitColored\">pLitColored</a> :: f ^ <a href=\"Render-Lit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Colored.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLitColoredBlend\">pLitColoredBlend</a> :: f ^ <a href=\"Render-Lit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Colored.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLitMaterial\">pLitMaterial</a> :: f ^ <a href=\"Render-Lit-Material-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Material.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLitMaterialBlend\">pLitMaterialBlend</a> :: f ^ <a href=\"Render-Lit-Material-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Material.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLitTextured\">pLitTextured</a> :: f ^ <a href=\"Render-Lit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Textured.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLitTexturedBlend\">pLitTexturedBlend</a> :: f ^ <a href=\"Render-Lit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Lit.Textured.Pipeline\">Pipeline</a></li><li><a href=\"#v:pUnlitColored\">pUnlitColored</a> :: f ^ <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a></li><li><a href=\"#v:pUnlitColoredNoDepth\">pUnlitColoredNoDepth</a> :: f ^ <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a></li><li><a href=\"#v:pUnlitTextured\">pUnlitTextured</a> :: f ^ <a href=\"Render-Unlit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Textured.Pipeline\">Pipeline</a></li><li><a href=\"#v:pUnlitTexturedBlend\">pUnlitTexturedBlend</a> :: f ^ <a href=\"Render-Unlit-Textured-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Textured.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLine2d\">pLine2d</a> :: f ^ <a href=\"Render-Unlit-Line2d-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Line2d.Pipeline\">Pipeline</a></li><li><a href=\"#v:pLine2dNoDepth\">pLine2dNoDepth</a> :: f ^ <a href=\"Render-Unlit-Line2d-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Line2d.Pipeline\">Pipeline</a></li><li><a href=\"#v:pSprite\">pSprite</a> :: f ^ <a href=\"Render-Unlit-Sprite-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Sprite.Pipeline\">Pipeline</a></li><li><a href=\"#v:pSpriteOutline\">pSpriteOutline</a> :: f ^ <a href=\"Render-Unlit-Sprite-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Sprite.Pipeline\">Pipeline</a></li><li><a href=\"#v:pTileMap\">pTileMap</a> :: f ^ <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.TileMap.Pipeline\">Pipeline</a></li><li><a href=\"#v:pTileMapBlend\">pTileMapBlend</a> :: f ^ <a href=\"Render-Unlit-TileMap-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.TileMap.Pipeline\">Pipeline</a></li><li><a href=\"#v:pWireframe\">pWireframe</a> :: f ^ <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a></li><li><a href=\"#v:pWireframeNoDepth\">pWireframeNoDepth</a> :: f ^ <a href=\"Render-Unlit-Colored-Pipeline.html#t:Pipeline\" title=\"Render.Unlit.Colored.Pipeline\">Pipeline</a></li><li><a href=\"#v:pShadowCast\">pShadowCast</a> :: f ^ <a href=\"Render-ShadowMap-Pipeline.html#t:Pipeline\" title=\"Render.ShadowMap.Pipeline\">Pipeline</a></li></ul>}","name":"PipelinesF $sel:pShadowCast:Pipelines $sel:pWireframeNoDepth:Pipelines $sel:pWireframe:Pipelines $sel:pTileMapBlend:Pipelines $sel:pTileMap:Pipelines $sel:pSpriteOutline:Pipelines $sel:pSprite:Pipelines $sel:pLine2dNoDepth:Pipelines $sel:pLine2d:Pipelines $sel:pUnlitTexturedBlend:Pipelines $sel:pUnlitTextured:Pipelines $sel:pUnlitColoredNoDepth:Pipelines $sel:pUnlitColored:Pipelines $sel:pLitTexturedBlend:Pipelines $sel:pLitTextured:Pipelines $sel:pLitMaterialBlend:Pipelines $sel:pLitMaterial:Pipelines $sel:pLitColoredBlend:Pipelines $sel:pLitColored:Pipelines $sel:pDepthOnly:Pipelines $sel:pDebugShadow:Pipelines $sel:pDebugTexture:Pipelines $sel:pDebugUV:Pipelines $sel:pSkybox:Pipelines $sel:pEvanwSdf:Pipelines $sel:pShadowLayout:Pipelines $sel:pShadowBinds:Pipelines $sel:pSceneLayout:Pipelines $sel:pSceneBinds:Pipelines $sel:pMSAA:Pipelines Pipelines","module":"Render.Basic","link":"Render-Basic.html#t:PipelinesF"},{"display_html":"<a href=\"#v:allocatePipelines_\">allocatePipelines_</a> :: HasSwapchain swapchain =&gt; swapchain -&gt; <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO st) <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a>","name":"allocatePipelines_","module":"Render.Basic","link":"Render-Basic.html#v:allocatePipelines_"},{"display_html":"<a href=\"#v:allocatePipelines\">allocatePipelines</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO st) <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a>","name":"allocatePipelines","module":"Render.Basic","link":"Render-Basic.html#v:allocatePipelines"},{"display_html":"<a href=\"#v:allocateWorkers\">allocateWorkers</a> :: <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a> DsLayoutBindings -&gt; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Core10-Enums-SampleCountFlagBits.html#t:SampleCountFlagBits\" title=\"Vulkan.Core10.Enums.SampleCountFlagBits\">SampleCountFlagBits</a> -&gt; <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO st) <a href=\"Render-Basic.html#t:PipelineWorkers\" title=\"Render.Basic\">PipelineWorkers</a>","name":"allocateWorkers","module":"Render.Basic","link":"Render-Basic.html#v:allocateWorkers"},{"display_html":"<a href=\"#v:allocateObservers\">allocateObservers</a> :: <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> -&gt; <a href=\"Render-Basic.html#t:PipelineWorkers\" title=\"Render.Basic\">PipelineWorkers</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO rs) <a href=\"Render-Basic.html#t:PipelineObservers\" title=\"Render.Basic\">PipelineObservers</a>","name":"allocateObservers","module":"Render.Basic","link":"Render-Basic.html#v:allocateObservers"},{"display_html":"<a href=\"#v:observePipelines\">observePipelines</a> :: <a href=\"Render-Basic.html#t:RenderPasses\" title=\"Render.Basic\">RenderPasses</a> -&gt; <a href=\"Render-Basic.html#t:PipelineWorkers\" title=\"Render.Basic\">PipelineWorkers</a> -&gt; <a href=\"Render-Basic.html#t:PipelineObservers\" title=\"Render.Basic\">PipelineObservers</a> -&gt; StageFrameRIO rp p fr rs ()","name":"observePipelines","module":"Render.Basic","link":"Render-Basic.html#v:observePipelines"},{"display_html":"<a href=\"#v:getSceneLayout\">getSceneLayout</a> :: <a href=\"Render-Basic.html#t:PipelinesF\" title=\"Render.Basic\">PipelinesF</a> f -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a>","name":"getSceneLayout","module":"Render.Basic","link":"Render-Basic.html#v:getSceneLayout"},{"display_html":"<a href=\"#v:getSunLayout\">getSunLayout</a> :: <a href=\"Render-Basic.html#t:Pipelines\" title=\"Render.Basic\">Pipelines</a> -&gt; <a href=\"/package/tagged-0.8.6.1/docs/Data-Tagged.html#t:Tagged\" title=\"Data.Tagged\">Tagged</a> '[<a href=\"Render-DescSets-Sun.html#t:Sun\" title=\"Render.DescSets.Sun\">Sun</a>] <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:DescriptorSetLayout\" title=\"Vulkan.Extensions.Handles\">DescriptorSetLayout</a>","name":"getSunLayout","module":"Render.Basic","link":"Render-Basic.html#v:getSunLayout"},{"display_html":"<a href=\"#v:shaderDir\">shaderDir</a> :: <a href=\"/package/base-4.16.4.0/docs/System-IO.html#t:FilePath\" title=\"System.IO\">FilePath</a>","name":"shaderDir","module":"Render.Basic","link":"Render-Basic.html#v:shaderDir"},{"display_html":"<a href=\"#v:stageSources\">stageSources</a> :: <a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> StageCode","name":"stageSources","module":"Render.Basic","link":"Render-Basic.html#v:stageSources"},{"display_html":"<a href=\"#v:load\">load</a> :: (<a href=\"/package/base-4.16.4.0/docs/Control-Monad-IO-Class.html#t:MonadIO\" title=\"Control.Monad.IO.Class\">MonadIO</a> m, <a href=\"/package/mtl-2.2.2/docs/Control-Monad-Reader-Class.html#t:MonadReader\" title=\"Control.Monad.Reader.Class\">MonadReader</a> env m, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, <a href=\"/package/base-4.16.4.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>) =&gt; Source -&gt; m <a href=\"Resource-Font-EvanW.html#t:Container\" title=\"Resource.Font.EvanW\">Container</a>","name":"load","module":"Resource.Font.EvanW","link":"Resource-Font-EvanW.html#v:load"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Container\">Container</a> = <a href=\"#v:Container\">Container</a> {<ul class=\"subs\"><li><a href=\"#v:name\">name</a> :: <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a></li><li><a href=\"#v:size\">size</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:bold\">bold</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:italic\">italic</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Bool.html#t:Bool\" title=\"Data.Bool\">Bool</a></li><li><a href=\"#v:width\">width</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:height\">height</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:characters\">characters</a> :: <a href=\"/package/rio-0.1.22.0/docs/RIO-HashMap.html#t:HashMap\" title=\"RIO.HashMap\">HashMap</a> <a href=\"/package/base-4.16.4.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a> <a href=\"Resource-Font-EvanW.html#t:Character\" title=\"Resource.Font.EvanW\">Character</a></li></ul>}","name":"Container Container $sel:bold:Container $sel:size:Container $sel:width:Container $sel:name:Container $sel:height:Container $sel:italic:Container $sel:characters:Container","module":"Resource.Font.EvanW","link":"Resource-Font-EvanW.html#t:Container"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Character\">Character</a> = <a href=\"#v:Character\">Character</a> {<ul class=\"subs\"><li><a href=\"#v:x\">x</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:y\">y</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:width\">width</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:height\">height</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:originX\">originX</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:originY\">originY</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:advance\">advance</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li></ul>}","name":"Character Character $sel:width:Character $sel:x:Character $sel:advance:Character $sel:y:Character $sel:height:Character $sel:originX:Character $sel:originY:Character","module":"Resource.Font.EvanW","link":"Resource-Font-EvanW.html#t:Character"},{"display_html":"<a href=\"#v:putLine\">putLine</a> :: (&quot;WH&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Vec2) -&gt; (&quot;XY&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Vec2) -&gt; (&quot;Alignment&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> Alignment) -&gt; (&quot;Size&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>) -&gt; (&quot;Font&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"Resource-Font-EvanW.html#t:Container\" title=\"Resource.Font.EvanW\">Container</a>) -&gt; (&quot;Line&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> [<a href=\"/package/base-4.16.4.0/docs/Data-Char.html#t:Char\" title=\"Data.Char\">Char</a>]) -&gt; (&quot;scale&quot; <a href=\"/package/vulkan-3.24.5/docs/Vulkan-NamedType.html#t::::\" title=\"Vulkan.NamedType\">:::</a> <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a>, [<a href=\"Resource-Font-EvanW.html#t:PutChar\" title=\"Resource.Font.EvanW\">PutChar</a>])","name":"putLine","module":"Resource.Font.EvanW","link":"Resource-Font-EvanW.html#v:putLine"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:PutChar\">PutChar</a> = <a href=\"#v:PutChar\">PutChar</a> {<ul class=\"subs\"><li><a href=\"#v:pcPos\">pcPos</a> :: Vec2</li><li><a href=\"#v:pcSize\">pcSize</a> :: Vec2</li><li><a href=\"#v:pcOffset\">pcOffset</a> :: Vec2</li><li><a href=\"#v:pcScale\">pcScale</a> :: Vec2</li></ul>}","name":"PutChar PutChar $sel:pcPos:PutChar $sel:pcSize:PutChar $sel:pcOffset:PutChar $sel:pcScale:PutChar","module":"Resource.Font.EvanW","link":"Resource-Font-EvanW.html#t:PutChar"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Config\">Config</a> = <a href=\"#v:Config\">Config</a> {<ul class=\"subs\"><li><a href=\"#v:configContainer\">configContainer</a> :: Source</li><li><a href=\"#v:configTexture\">configTexture</a> :: Source</li></ul>}","name":"Config Config $sel:configContainer:Config $sel:configTexture:Config","module":"Resource.Font","link":"Resource-Font.html#t:Config"},{"display_html":"<a href=\"#v:collectionTextures\">collectionTextures</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> collection =&gt; collection <a href=\"Resource-Font.html#t:Font\" title=\"Resource.Font\">Font</a> -&gt; <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> (Texture Flat)","name":"collectionTextures","module":"Resource.Font","link":"Resource-Font.html#v:collectionTextures"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Font\">Font</a> = <a href=\"#v:Font\">Font</a> {<ul class=\"subs\"><li><a href=\"#v:container\">container</a> :: <a href=\"Resource-Font-EvanW.html#t:Container\" title=\"Resource.Font.EvanW\">Container</a></li><li><a href=\"#v:texture\">texture</a> :: Texture Flat</li></ul>}","name":"Font Font $sel:texture:Font $sel:container:Font","module":"Resource.Font","link":"Resource-Font.html#t:Font"},{"display_html":"<a href=\"#v:allocate\">allocate</a> :: (<a href=\"/package/base-4.16.4.0/docs/GHC-Stack.html#t:HasCallStack\" title=\"GHC.Stack\">HasCallStack</a>, MonadVulkan env m, <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:HasLogFunc\" title=\"RIO\">HasLogFunc</a> env, <a href=\"/package/exceptions-0.10.4/docs/Control-Monad-Catch.html#t:MonadThrow\" title=\"Control.Monad.Catch\">MonadThrow</a> m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m) =&gt; Queues <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandPool\" title=\"Vulkan.Extensions.Handles\">CommandPool</a> -&gt; <a href=\"Resource-Font.html#t:Config\" title=\"Resource.Font\">Config</a> -&gt; m <a href=\"Resource-Font.html#t:Font\" title=\"Resource.Font\">Font</a>","name":"allocate","module":"Resource.Font","link":"Resource-Font.html#v:allocate"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Process\">Process</a> = Merge (<a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Font-EvanwSdf-Model.html#t:InstanceAttrs\" title=\"Render.Font.EvanwSdf.Model\">InstanceAttrs</a>)","name":"Process","module":"Engine.UI.Message","link":"Engine-UI-Message.html#t:Process"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Input\">Input</a> = <a href=\"#v:Input\">Input</a> {<ul class=\"subs\"><li><a href=\"#v:inputText\">inputText</a> :: <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a></li><li><a href=\"#v:inputFontId\">inputFontId</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:inputFont\">inputFont</a> :: <a href=\"Resource-Font-EvanW.html#t:Container\" title=\"Resource.Font.EvanW\">Container</a></li><li><a href=\"#v:inputOrigin\">inputOrigin</a> :: Alignment</li><li><a href=\"#v:inputSize\">inputSize</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:inputColor\">inputColor</a> :: Vec4</li><li><a href=\"#v:inputOutline\">inputOutline</a> :: Vec4</li><li><a href=\"#v:inputOutlineWidth\">inputOutlineWidth</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li><li><a href=\"#v:inputSmoothing\">inputSmoothing</a> :: <a href=\"/package/base-4.16.4.0/docs/Prelude.html#t:Float\" title=\"Prelude\">Float</a></li></ul>}","name":"Input Input $sel:inputText:Input $sel:inputFontId:Input $sel:inputFont:Input $sel:inputOrigin:Input $sel:inputSize:Input $sel:inputColor:Input $sel:inputOutline:Input $sel:inputOutlineWidth:Input $sel:inputSmoothing:Input","module":"Engine.UI.Message","link":"Engine-UI-Message.html#t:Input"},{"display_html":"<a href=\"#v:spawn\">spawn</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadUnliftIO\" title=\"Control.Monad.Trans.Resource\">MonadUnliftIO</a> m, HasOutput box, GetOutput box ~ Box, HasOutput input, GetOutput input ~ <a href=\"Engine-UI-Message.html#t:Input\" title=\"Engine.UI.Message\">Input</a>) =&gt; box -&gt; input -&gt; m <a href=\"Engine-UI-Message.html#t:Process\" title=\"Engine.UI.Message\">Process</a>","name":"spawn","module":"Engine.UI.Message","link":"Engine-UI-Message.html#v:spawn"},{"display_html":"<a href=\"#v:spawnFromR\">spawnFromR</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadUnliftIO\" title=\"Control.Monad.Trans.Resource\">MonadUnliftIO</a> m, HasOutput box, GetOutput box ~ Box, HasOutput source) =&gt; box -&gt; source -&gt; (GetOutput source -&gt; <a href=\"Engine-UI-Message.html#t:Input\" title=\"Engine.UI.Message\">Input</a>) -&gt; m <a href=\"Engine-UI-Message.html#t:Process\" title=\"Engine.UI.Message\">Process</a>","name":"spawnFromR","module":"Engine.UI.Message","link":"Engine-UI-Message.html#v:spawnFromR"},{"display_html":"<a href=\"#v:mkAttrs\">mkAttrs</a> :: Box -&gt; <a href=\"Engine-UI-Message.html#t:Input\" title=\"Engine.UI.Message\">Input</a> -&gt; <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Font-EvanwSdf-Model.html#t:InstanceAttrs\" title=\"Render.Font.EvanwSdf.Model\">InstanceAttrs</a>","name":"mkAttrs","module":"Engine.UI.Message","link":"Engine-UI-Message.html#v:mkAttrs"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Observer\">Observer</a> = ObserverIO <a href=\"Engine-UI-Message.html#t:Buffer\" title=\"Engine.UI.Message\">Buffer</a>","name":"Observer","module":"Engine.UI.Message","link":"Engine-UI-Message.html#t:Observer"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Buffer\">Buffer</a> = Allocated 'Coherent <a href=\"Render-Font-EvanwSdf-Model.html#t:InstanceAttrs\" title=\"Render.Font.EvanwSdf.Model\">InstanceAttrs</a>","name":"Buffer","module":"Engine.UI.Message","link":"Engine-UI-Message.html#t:Buffer"},{"display_html":"<a href=\"#v:newObserver\">newObserver</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO st) <a href=\"Engine-UI-Message.html#t:Observer\" title=\"Engine.UI.Message\">Observer</a>","name":"newObserver","module":"Engine.UI.Message","link":"Engine-UI-Message.html#v:newObserver"},{"display_html":"<a href=\"#v:observe\">observe</a> :: (MonadVulkan env m, HasOutput source, GetOutput source ~ <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Font-EvanwSdf-Model.html#t:InstanceAttrs\" title=\"Render.Font.EvanwSdf.Model\">InstanceAttrs</a>) =&gt; source -&gt; <a href=\"Engine-UI-Message.html#t:Observer\" title=\"Engine.UI.Message\">Observer</a> -&gt; m ()","name":"observe","module":"Engine.UI.Message","link":"Engine-UI-Message.html#v:observe"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:MaterialNodes\">MaterialNodes</a> = <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Resource-Mesh-Lit.html#t:MaterialNode\" title=\"Resource.Mesh.Lit\">MaterialNode</a>","name":"MaterialNodes","module":"Resource.Mesh.Lit","link":"Resource-Mesh-Lit.html#t:MaterialNodes"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:MaterialNode\">MaterialNode</a> = <a href=\"#v:MaterialNode\">MaterialNode</a> {<ul class=\"subs\"><li><a href=\"#v:mnNode\">mnNode</a> :: Node</li><li><a href=\"#v:mnMaterialIx\">mnMaterialIx</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a></li><li><a href=\"#v:mnMaterial\">mnMaterial</a> :: <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a></li></ul>}","name":"MaterialNode MaterialNode $sel:mnNode:MaterialNode $sel:mnMaterialIx:MaterialNode $sel:mnMaterial:MaterialNode","module":"Resource.Mesh.Lit","link":"Resource-Mesh-Lit.html#t:MaterialNode"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:LoadedModel\">LoadedModel</a> = (Meta, <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Resource-Mesh-Lit.html#t:MaterialNode\" title=\"Resource.Mesh.Lit\">MaterialNode</a>, <a href=\"Render-Lit-Material-Model.html#t:Model\" title=\"Render.Lit.Material.Model\">Model</a> 'Staged)","name":"LoadedModel","module":"Render.Lit.Material.Collect","link":"Render-Lit-Material-Collect.html#t:LoadedModel"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:SceneModel\">SceneModel</a> models textures = <a href=\"#v:SceneModel\">SceneModel</a> {<ul class=\"subs\"><li><a href=\"#v:smLabel\">smLabel</a> :: <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a></li><li><a href=\"#v:smGetModel\">smGetModel</a> :: models -&gt; <a href=\"Render-Lit-Material-Collect.html#t:LoadedModel\" title=\"Render.Lit.Material.Collect\">LoadedModel</a></li><li><a href=\"#v:smGetTextureOffset\">smGetTextureOffset</a> :: textures -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li></ul>}","name":"SceneModel SceneModel $sel:smLabel:SceneModel $sel:smGetModel:SceneModel $sel:smGetTextureOffset:SceneModel","module":"Render.Lit.Material.Collect","link":"Render-Lit-Material-Collect.html#t:SceneModel"},{"display_html":"<a href=\"#v:sceneMaterials\">sceneMaterials</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t =&gt; models -&gt; textures -&gt; t (<a href=\"Render-Lit-Material-Collect.html#t:SceneModel\" title=\"Render.Lit.Material.Collect\">SceneModel</a> models textures) -&gt; <a href=\"/package/rio-0.1.22.0/docs/RIO-Vector-Storable.html#t:Vector\" title=\"RIO.Vector.Storable\">Vector</a> <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>","name":"sceneMaterials","module":"Render.Lit.Material.Collect","link":"Render-Lit-Material-Collect.html#v:sceneMaterials"},{"display_html":"<a href=\"#v:modelMaterials\">modelMaterials</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Foldable.html#t:Foldable\" title=\"Data.Foldable\">Foldable</a> t =&gt; <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; (<a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> (<a href=\"/package/containers-0.6.5.1/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>), <a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> (<a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a>, <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>)) -&gt; t <a href=\"Resource-Mesh-Lit.html#t:MaterialNode\" title=\"Resource.Mesh.Lit\">MaterialNode</a> -&gt; (<a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> (<a href=\"/package/containers-0.6.5.1/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>), <a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> (<a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a>, <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>))","name":"modelMaterials","module":"Render.Lit.Material.Collect","link":"Render-Lit-Material-Collect.html#v:modelMaterials"},{"display_html":"<a href=\"#v:nodeMaterials\">nodeMaterials</a> :: <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a> -&gt; <a href=\"Resource-Mesh-Lit.html#t:MaterialNode\" title=\"Resource.Mesh.Lit\">MaterialNode</a> -&gt; (<a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> (<a href=\"/package/containers-0.6.5.1/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>), <a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> (<a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a>, <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>)) -&gt; (<a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> (<a href=\"/package/containers-0.6.5.1/docs/Data-Set.html#t:Set\" title=\"Data.Set\">Set</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a>), <a href=\"/package/containers-0.6.5.1/docs/Data-Map-Strict.html#t:Map\" title=\"Data.Map.Strict\">Map</a> <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int\" title=\"Data.Int\">Int</a> (<a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a>, <a href=\"Render-Lit-Material.html#t:Material\" title=\"Render.Lit.Material\">Material</a>))","name":"nodeMaterials","module":"Render.Lit.Material.Collect","link":"Render-Lit-Material-Collect.html#v:nodeMaterials"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Process\">Process</a> = Merge <a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>","name":"Process","module":"Stage.Loader.Scene","link":"Stage-Loader-Scene.html#t:Process"},{"display_html":"<a href=\"#v:spawn\">spawn</a> :: (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadResource\" title=\"Control.Monad.Trans.Resource\">MonadResource</a> m, <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:MonadUnliftIO\" title=\"Control.Monad.Trans.Resource\">MonadUnliftIO</a> m, HasOutput projection, GetOutput projection ~ Projection 'Orthographic) =&gt; projection -&gt; m <a href=\"Stage-Loader-Scene.html#t:Process\" title=\"Stage.Loader.Scene\">Process</a>","name":"spawn","module":"Stage.Loader.Scene","link":"Stage-Loader-Scene.html#v:spawn"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Settings\">Settings</a> fonts textures = <a href=\"#v:Settings\">Settings</a> {<ul class=\"subs\"><li><a href=\"#v:titleMessage\">titleMessage</a> :: <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a></li><li><a href=\"#v:backgroundIx\">backgroundIx</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:spinnerIx\">spinnerIx</a> :: <a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a></li><li><a href=\"#v:combined\">combined</a> :: Collection textures fonts (<a href=\"/package/base-4.16.4.0/docs/Data-Int.html#t:Int32\" title=\"Data.Int\">Int32</a>, Texture Flat)</li><li><a href=\"#v:fonts\">fonts</a> :: fonts <a href=\"Resource-Font-EvanW.html#t:Container\" title=\"Resource.Font.EvanW\">Container</a></li><li><a href=\"#v:smallFont\">smallFont</a> :: <span class=\"keyword\">forall</span> a. fonts a -&gt; a</li><li><a href=\"#v:largeFont\">largeFont</a> :: <span class=\"keyword\">forall</span> a. fonts a -&gt; a</li></ul>}","name":"Settings Settings $sel:combined:Settings $sel:fonts:Settings $sel:titleMessage:Settings $sel:backgroundIx:Settings $sel:spinnerIx:Settings $sel:smallFont:Settings $sel:largeFont:Settings","module":"Stage.Loader.UI","link":"Stage-Loader-UI.html#t:Settings"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:UI\">UI</a> = <a href=\"#v:UI\">UI</a> {<ul class=\"subs\"><li><a href=\"#v:titleP\">titleP</a> :: <a href=\"Engine-UI-Message.html#t:Process\" title=\"Engine.UI.Message\">Process</a></li><li><a href=\"#v:subtitleP\">subtitleP</a> :: <a href=\"Engine-UI-Message.html#t:Process\" title=\"Engine.UI.Message\">Process</a></li><li><a href=\"#v:progressInput\">progressInput</a> :: Var <a href=\"Engine-UI-Message.html#t:Input\" title=\"Engine.UI.Message\">Input</a></li><li><a href=\"#v:progressP\">progressP</a> :: <a href=\"Engine-UI-Message.html#t:Process\" title=\"Engine.UI.Message\">Process</a></li><li><a href=\"#v:backgroundP\">backgroundP</a> :: Merge <a href=\"Render-Unlit-Textured-Model.html#t:Stores\" title=\"Render.Unlit.Textured.Model\">Stores</a></li><li><a href=\"#v:spinnerP\">spinnerP</a> :: Merge <a href=\"Render-Unlit-Textured-Model.html#t:Stores\" title=\"Render.Unlit.Textured.Model\">Stores</a></li><li><a href=\"#v:quadUV\">quadUV</a> :: <a href=\"Render-Unlit-Textured-Model.html#t:Model\" title=\"Render.Unlit.Textured.Model\">Model</a> 'Staged</li></ul>}","name":"UI UI $sel:titleP:UI $sel:subtitleP:UI $sel:progressInput:UI $sel:progressP:UI $sel:backgroundP:UI $sel:spinnerP:UI $sel:quadUV:UI","module":"Stage.Loader.UI","link":"Stage-Loader-UI.html#t:UI"},{"display_html":"<a href=\"#v:spawn\">spawn</a> :: Queues <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandPool\" title=\"Vulkan.Extensions.Handles\">CommandPool</a> -&gt; BoxProcess -&gt; <a href=\"Stage-Loader-UI.html#t:Settings\" title=\"Stage.Loader.UI\">Settings</a> fonts textures -&gt; StageRIO env (<a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ReleaseKey\" title=\"Control.Monad.Trans.Resource\">ReleaseKey</a>, <a href=\"Stage-Loader-UI.html#t:UI\" title=\"Stage.Loader.UI\">UI</a>)","name":"spawn","module":"Stage.Loader.UI","link":"Stage-Loader-UI.html#v:spawn"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:Observer\">Observer</a> = <a href=\"#v:Observer\">Observer</a> {<ul class=\"subs\"><li><a href=\"#v:messages\">messages</a> :: [<a href=\"Engine-UI-Message.html#t:Observer\" title=\"Engine.UI.Message\">Observer</a>]</li><li><a href=\"#v:background\">background</a> :: <a href=\"Render-Unlit-Textured-Model.html#t:ObserverCoherent\" title=\"Render.Unlit.Textured.Model\">ObserverCoherent</a></li><li><a href=\"#v:spinner\">spinner</a> :: <a href=\"Render-Unlit-Textured-Model.html#t:ObserverCoherent\" title=\"Render.Unlit.Textured.Model\">ObserverCoherent</a></li></ul>}","name":"Observer Observer $sel:messages:Observer $sel:background:Observer $sel:spinner:Observer","module":"Stage.Loader.UI","link":"Stage-Loader-UI.html#t:Observer"},{"display_html":"<a href=\"#v:newObserver\">newObserver</a> :: <a href=\"Stage-Loader-UI.html#t:UI\" title=\"Stage.Loader.UI\">UI</a> -&gt; <a href=\"/package/resourcet-1.2.6/docs/Control-Monad-Trans-Resource.html#t:ResourceT\" title=\"Control.Monad.Trans.Resource\">ResourceT</a> (StageRIO st) <a href=\"Stage-Loader-UI.html#t:Observer\" title=\"Stage.Loader.UI\">Observer</a>","name":"newObserver","module":"Stage.Loader.UI","link":"Stage-Loader-UI.html#v:newObserver"},{"display_html":"<a href=\"#v:observe\">observe</a> :: HasVulkan env =&gt; <a href=\"Stage-Loader-UI.html#t:UI\" title=\"Stage.Loader.UI\">UI</a> -&gt; <a href=\"Stage-Loader-UI.html#t:Observer\" title=\"Stage.Loader.UI\">Observer</a> -&gt; <a href=\"/package/rio-0.1.22.0/docs/RIO.html#t:RIO\" title=\"RIO\">RIO</a> env ()","name":"observe","module":"Stage.Loader.UI","link":"Stage-Loader-UI.html#v:observe"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Stage\">Stage</a> = <a href=\"Render-Basic.html#t:Stage\" title=\"Render.Basic\">Stage</a> <a href=\"Stage-Loader-Types.html#t:FrameResources\" title=\"Stage.Loader.Types\">FrameResources</a> <a href=\"Stage-Loader-Types.html#t:RunState\" title=\"Stage.Loader.Types\">RunState</a>","name":"Stage","module":"Stage.Loader.Types","link":"Stage-Loader-Types.html#t:Stage"},{"display_html":"<span class=\"keyword\">type</span> <a href=\"#t:Frame\">Frame</a> = <a href=\"Render-Basic.html#t:Frame\" title=\"Render.Basic\">Frame</a> <a href=\"Stage-Loader-Types.html#t:FrameResources\" title=\"Stage.Loader.Types\">FrameResources</a>","name":"Frame","module":"Stage.Loader.Types","link":"Stage-Loader-Types.html#t:Frame"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:FrameResources\">FrameResources</a> = <a href=\"#v:FrameResources\">FrameResources</a> {<ul class=\"subs\"><li><a href=\"#v:frSceneUi\">frSceneUi</a> :: <a href=\"Render-DescSets-Set0.html#t:FrameResource\" title=\"Render.DescSets.Set0\">FrameResource</a> '[<a href=\"Render-DescSets-Set0.html#t:Scene\" title=\"Render.DescSets.Set0\">Scene</a>]</li><li><a href=\"#v:frUI\">frUI</a> :: <a href=\"Stage-Loader-UI.html#t:Observer\" title=\"Stage.Loader.UI\">Observer</a></li></ul>}","name":"FrameResources FrameResources $sel:frSceneUi:FrameResources $sel:frUI:FrameResources","module":"Stage.Loader.Types","link":"Stage-Loader-Types.html#t:FrameResources"},{"display_html":"<span class=\"keyword\">data</span> <a href=\"#t:RunState\">RunState</a> = <a href=\"#v:RunState\">RunState</a> {<ul class=\"subs\"><li><a href=\"#v:rsSceneUiP\">rsSceneUiP</a> :: <a href=\"Render-DescSets-Set0.html#t:Process\" title=\"Render.DescSets.Set0\">Process</a></li><li><a href=\"#v:rsUI\">rsUI</a> :: <a href=\"Stage-Loader-UI.html#t:UI\" title=\"Stage.Loader.UI\">UI</a></li></ul>}","name":"RunState RunState $sel:rsSceneUiP:RunState $sel:rsUI:RunState","module":"Stage.Loader.Types","link":"Stage-Loader-Types.html#t:RunState"},{"display_html":"<a href=\"#v:updateBuffers\">updateBuffers</a> :: <a href=\"Stage-Loader-Types.html#t:RunState\" title=\"Stage.Loader.Types\">RunState</a> -&gt; <a href=\"Stage-Loader-Types.html#t:FrameResources\" title=\"Stage.Loader.Types\">FrameResources</a> -&gt; <a href=\"Render-Basic.html#t:StageFrameRIO\" title=\"Render.Basic\">StageFrameRIO</a> <a href=\"Stage-Loader-Types.html#t:FrameResources\" title=\"Stage.Loader.Types\">FrameResources</a> <a href=\"Stage-Loader-Types.html#t:RunState\" title=\"Stage.Loader.Types\">RunState</a> ()","name":"updateBuffers","module":"Stage.Loader.Render","link":"Stage-Loader-Render.html#v:updateBuffers"},{"display_html":"<a href=\"#v:recordCommands\">recordCommands</a> :: <a href=\"/package/vulkan-3.24.5/docs/Vulkan-Extensions-Handles.html#t:CommandBuffer\" title=\"Vulkan.Extensions.Handles\">CommandBuffer</a> -&gt; <a href=\"Stage-Loader-Types.html#t:FrameResources\" title=\"Stage.Loader.Types\">FrameResources</a> -&gt; <a href=\"/package/base-4.16.4.0/docs/Data-Word.html#t:Word32\" title=\"Data.Word\">Word32</a> -&gt; <a href=\"Render-Basic.html#t:StageFrameRIO\" title=\"Render.Basic\">StageFrameRIO</a> <a href=\"Stage-Loader-Types.html#t:FrameResources\" title=\"Stage.Loader.Types\">FrameResources</a> <a href=\"Stage-Loader-Types.html#t:RunState\" title=\"Stage.Loader.Types\">RunState</a> ()","name":"recordCommands","module":"Stage.Loader.Render","link":"Stage-Loader-Render.html#v:recordCommands"},{"display_html":"<a href=\"#v:bootstrap\">bootstrap</a> :: <a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> -&gt; (<a href=\"Resource-Font.html#t:Config\" title=\"Resource.Font\">Config</a>, <a href=\"Resource-Font.html#t:Config\" title=\"Resource.Font\">Config</a>) -&gt; (Source, Source) -&gt; ((<a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> -&gt; StageSetupRIO ()) -&gt; StageSetupRIO loaded) -&gt; (loaded -&gt; StackStage) -&gt; (Setup <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> loaded -&gt; StackStage, StageSetupRIO (Setup <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> <a href=\"/package/rio-0.1.22.0/docs/RIO-Prelude-Types.html#t:Vector\" title=\"RIO.Prelude.Types\">Vector</a> loaded))","name":"bootstrap","module":"Stage.Loader.Setup","link":"Stage-Loader-Setup.html#v:bootstrap"},{"display_html":"<a href=\"#v:stackStage\">stackStage</a> :: (<a href=\"/package/base-4.16.4.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> fonts, <a href=\"/package/base-4.16.4.0/docs/Data-Traversable.html#t:Traversable\" title=\"Data.Traversable\">Traversable</a> textures) =&gt; ((<a href=\"/package/foldl-1.4.14/docs/Control-Foldl-Text.html#t:Text\" title=\"Control.Foldl.Text\">Text</a> -&gt; StageSetupRIO ()) -&gt; StageSetupRIO loaded) -&gt; (loaded -&gt; StackStage) -&gt; <a href=\"Stage-Loader-UI.html#t:Settings\" title=\"Stage.Loader.UI\">Settings</a> textures fonts -&gt; StackStage","name":"stackStage","module":"Stage.Loader.Setup","link":"Stage-Loader-Setup.html#v:stackStage"}]