var searchIndex = {}; searchIndex["opal"] = {"doc":"","items":[[0,"buffer","opal","Buffers are blocks of data accessible by the GPU",null,null],[3,"BufferSelection","opal::buffer","",null,null],[12,"offset","","",0,null],[12,"size","","",0,null],[4,"BufferCreationError","","",null,null],[13,"InvalidHandle","","",1,null],[4,"BufferTarget","","",null,null],[13,"Array","","",2,null],[13,"ElementArray","","",2,null],[13,"AtomicCounter","","",2,null],[13,"CopyRead","","",2,null],[13,"CopyWrite","","",2,null],[13,"DrawIndirect","","",2,null],[13,"DispatchIndirect","","",2,null],[13,"PixelPack","","",2,null],[13,"PixelUnpack","","",2,null],[13,"Query","","",2,null],[13,"ShaderStorage","","",2,null],[13,"Texture","","",2,null],[13,"TransformFeedback","","",2,null],[13,"Uniform","","",2,null],[4,"ActionHint","","",null,null],[13,"Draw","","",3,null],[13,"Read","","",3,null],[13,"Copy","","",3,null],[4,"FrequencyHint","","",null,null],[13,"Static","","",4,null],[13,"Dynamic","","",4,null],[13,"Stream","","",4,null],[8,"Buffer","","",null,null],[10,"select","","",5,{"inputs":[{"name":"buffer"},{"name":"bufferselection"}],"output":{"name":"bufferview"}}],[10,"select_all","","",5,{"inputs":[{"name":"buffer"}],"output":{"name":"bufferview"}}],[8,"BufferView","","",null,null],[10,"map_write","","",6,{"inputs":[{"name":"bufferview"}],"output":{"name":"bufferwritemapping"}}],[8,"WriteMapping","","",null,null],[10,"deref","","",7,{"inputs":[{"name":"bufferwritemapping"}],"output":{"name":"s"}}],[10,"unmap","","",7,{"inputs":[{"name":"bufferwritemapping"}],"output":null}],[11,"fmt","","",1,null],[0,"command","opal","Commands form the basis of all rendering",null,null],[3,"CommandBufferBuilderWrapper","opal::command","",null,null],[3,"CommandBufferCreationError","","Holds (currently no) information about errors when creating a command buffer.",null,null],[3,"ClearCommand","","The creation info for a ClearCommand\nClears the surface of a framebuffer",null,null],[12,"color","","",8,null],[12,"depth","","",8,null],[12,"stencil","","",8,null],[12,"viewport_state","","",8,null],[3,"DrawCommand","","The creation info for a DrawCommand\nDraws pixels to a framebuffer",null,null],[12,"graphics_pipeline","","",9,null],[12,"viewport_state","","",9,null],[12,"color_blend_state","","",9,null],[12,"depth_stencil_state","","",9,null],[12,"raster_state","","",9,null],[12,"descriptor_sets","","",9,null],[12,"index","","",9,null],[8,"CommandBufferBuilder","","A command buffer holds a set of optimized commands for the Rendering backend",null,null],[10,"clear_with_cache","","Clears the drawing surface",10,null],[10,"draw_with_cache","","Executes a drawing operation",10,null],[10,"build","","Finalizes the command buffer, condensing it down to just the commands",10,null],[8,"CommandBuffer","","Command buffers instances don't have any methods of their own,\ninstead they are submitted through the GraphicsContext",null,null],[11,"new","","",11,{"inputs":[{"name":"commandbufferbuilder"},{"name":"resourcecache"}],"output":{"name":"self"}}],[11,"clear","","Clears the drawing surface",11,null],[11,"draw","","Executes a drawing operation",11,null],[11,"build","","Finalizes the command buffer",11,null],[11,"deref","","",11,null],[11,"fmt","","",12,null],[0,"device","opal","",null,null],[3,"ProxyDevice","opal::device","",null,null],[12,"device","","",13,null],[12,"resource_cache","","",13,null],[8,"Device","","The Device trait handles the creation of resources and submission of draw calls",null,null],[10,"create_shader","","Creates a shader object",14,null],[10,"create_buffer","","Creates a buffer object full of data that can be sent to the graphics device",14,null],[10,"create_descriptor_set","","Creates a new descriptor set",14,null],[10,"create_command_buffer","","Creates a new command buffer that can be used to submit clear/draw commands",14,null],[10,"create_graphics_pipeline","","Creates a graphics pipeline that encapsulates the hardware state required for rendering.",14,null],[10,"create_viewport_state","","Creates the viewport state object",14,null],[10,"create_color_blend_state","","Creates color blending state object",14,null],[10,"create_depth_stencil_state","","Creates a dynamic state object for the depth and stencil tests",14,null],[10,"create_raster_state","","Creates a dynamic state object for the rasterizer",14,null],[10,"get_queue","","",14,null],[11,"commands","","",13,null],[11,"create_shader","","Creates a shader object",13,null],[11,"create_buffer","","Creates a buffer object full of data that can be sent to the graphics device",13,null],[11,"create_descriptor_set","","Creates a new descriptor set",13,null],[11,"create_graphics_pipeline","","Creates a graphics pipeline that encapsulates the hardware state required for rendering.",13,null],[11,"create_viewport_state","","Creates the viewport state object",13,null],[11,"create_color_blend_state","","Creates color blending state object",13,null],[11,"create_depth_stencil_state","","Creates a dynamic state object for the depth and stencil tests",13,null],[11,"create_raster_state","","Creates a dynamic state object for the rasterizer",13,null],[11,"deref","","",13,null],[0,"shader","opal","Shaders",null,null],[3,"CompileError","opal::shader","The compile error includes a error message and a line number where the error occurred",null,null],[12,"message","","",15,null],[12,"line","","",15,null],[4,"Type","","The type of the shader.\nCurrently only vertex, fragment and geometry shaders are supported.",null,null],[13,"Vertex","","",16,null],[13,"Fragment","","",16,null],[13,"Geometry","","",16,null],[4,"ShaderCreationError","","Creating a shaders can fail for a number of reasons.\nAt the moment the only supported reason is if compilation failed.",null,null],[13,"CompileError","","The error returned when the shader fails to compile",17,null],[8,"Shader","","An individual shader object.",null,null],[11,"eq","","",16,null],[11,"clone","","",16,null],[11,"fmt","","",16,null],[11,"to_lowercase","","",16,null],[11,"fmt","","",17,null],[11,"fmt","","",15,null],[11,"from","","",17,{"inputs":[{"name":"compileerror"}],"output":{"name":"shadercreationerror"}}],[0,"state","opal","State that is used in the rendering process",null,null],[3,"DynamicViewportStateInfo","opal::state","The viewport state encompasses several viewports",null,null],[12,"viewports","","",18,null],[3,"DynamicColorBlendStateInfo","","The color blend state is seperate for each target",null,null],[12,"targets","","",19,null],[3,"DynamicDepthStencilStateInfo","","The depth and stencil state are clumped together",null,null],[12,"depth","","",20,null],[12,"stencil","","",20,null],[3,"DynamicRasterStateInfo","","The raster state specifies how primitives are rasterized (converted to pixels)",null,null],[12,"fill_mode","","Should polygons be filled or wireframe",21,null],[12,"cull_mode","","Backface culling information",21,null],[12,"front_face","","Specifies the winding order of primitives",21,null],[3,"Viewport","","State for a single viewport",null,null],[12,"scissor","","An optional scissor test",22,null],[12,"size","","The size of the viewport",22,null],[12,"depth_range","","The range of depth values",22,null],[3,"BlendTarget","","Blending state for a single target",null,null],[12,"rgb","","",23,null],[12,"alpha","","",23,null],[3,"StencilState","","The stencil test is split into a test for front facing and back facing primitives",null,null],[12,"front","","",24,null],[12,"back","","",24,null],[3,"StencilSide","","",null,null],[12,"depth_and_stencil_pass","","",25,null],[12,"depth_fail_stencil_pass","","",25,null],[12,"stencil_fail","","",25,null],[12,"func","","",25,null],[12,"reference","","",25,null],[4,"ViewportStateCreationError","","",null,null],[4,"ColorBlendStateCreationError","","",null,null],[4,"DepthStencilStateCreationError","","",null,null],[4,"RasterStateCreationError","","",null,null],[4,"ComparisonFunction","","A function that compares 2 values",null,null],[13,"Never","","",26,null],[13,"LessThan","","",26,null],[13,"Equal","","",26,null],[13,"LessThanOrEqualTo","","",26,null],[13,"GreaterThan","","",26,null],[13,"GreaterThanOrEqualTo","","",26,null],[13,"NotEqual","","",26,null],[13,"Always","","",26,null],[4,"StencilOperation","","",null,null],[13,"Keep","","",27,null],[13,"Zero","","",27,null],[13,"Replace","","",27,null],[13,"Increment","","",27,null],[13,"IncrementWrap","","",27,null],[13,"Decrement","","",27,null],[13,"DecrementWrap","","",27,null],[13,"Invert","","",27,null],[4,"CullMode","","",null,null],[13,"Front","","",28,null],[13,"Back","","",28,null],[13,"FrontAndBack","","",28,null],[4,"FillMode","","",null,null],[13,"Point","","",29,null],[13,"Line","","",29,null],[13,"Fill","","",29,null],[4,"FrontFace","","",null,null],[13,"Clockwise","","",30,null],[13,"CounterClockwise","","",30,null],[11,"fmt","","",31,null],[11,"fmt","","",32,null],[11,"fmt","","",33,null],[11,"fmt","","",34,null],[11,"default","","",22,{"inputs":[],"output":{"name":"viewport"}}],[11,"eq","","",26,null],[11,"fmt","","",26,null],[11,"clone","","",26,null],[11,"eq","","",27,null],[11,"fmt","","",27,null],[11,"clone","","",27,null],[11,"eq","","",28,null],[11,"fmt","","",28,null],[11,"clone","","",28,null],[11,"eq","","",29,null],[11,"fmt","","",29,null],[11,"clone","","",29,null],[11,"eq","","",30,null],[11,"fmt","","",30,null],[11,"clone","","",30,null],[0,"util","opal","",null,null],[3,"Color","opal::util","A 4 component floating-point color",null,null],[12,"r","","",35,null],[12,"g","","",35,null],[12,"b","","",35,null],[12,"a","","",35,null],[3,"Rectangle","","An integer rectangle",null,null],[12,"x","","",36,null],[12,"y","","",36,null],[12,"w","","",36,null],[12,"h","","",36,null],[3,"NormalizedRange","","A range that should be between 0 and 1",null,null],[12,"0","","",37,null],[11,"eq","","",35,null],[11,"ne","","",35,null],[11,"fmt","","",35,null],[11,"clone","","",35,null],[11,"new","","Creates a new color from its 4 components",35,{"inputs":[{"name":"f32"},{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"color"}}],[11,"default","","",36,{"inputs":[],"output":{"name":"rectangle"}}],[11,"eq","","",36,null],[11,"ne","","",36,null],[11,"fmt","","",36,null],[11,"clone","","",36,null],[11,"eq","","",37,null],[11,"ne","","",37,null],[11,"fmt","","",37,null],[11,"clone","","",37,null],[11,"default","","",37,{"inputs":[],"output":{"name":"normalizedrange"}}],[0,"vertex","opal","Vertex data",null,null],[3,"DataSlice","opal::vertex","",null,null],[12,"0","","",38,null],[4,"Index","","",null,null],[13,"NoIndices","","",39,null],[11,"fmt","","",38,null],[0,"handle","opal","Some API-specific objects like buffers have a given type\nThese handles wrap the underlying struct and provide type information.",null,null],[3,"Buffer","opal::handle","Holds type data for the implementation specific `Buffer` object",null,null],[12,"raw","","",40,null],[3,"RawBuffer","","",null,null],[12,"data","","",41,null],[3,"BufferView","","Holds type data for the implementation specific `BufferView` object",null,null],[12,"raw","","",42,null],[12,"buffer","","",42,null],[3,"BufferWriteMapping","","Holds type data for the implementation specific `BufferWriteMapping` object",null,null],[12,"raw","","",43,null],[12,"buffer","","",43,null],[11,"clone","","",40,null],[11,"deref","","",40,null],[11,"from_raw","","",40,{"inputs":[{"name":"rawbuffer"}],"output":{"name":"self"}}],[11,"new","","",41,{"inputs":[{"name":"buffer"}],"output":{"name":"self"}}],[11,"clone","","",41,null],[11,"select","","selects part of the buffer for mapping",40,null],[11,"select_all","","selects all of the buffer",40,null],[11,"new","","",42,{"inputs":[{"name":"bufferview"},{"name":"buffer"}],"output":{"name":"self"}}],[11,"map_write","","maps the buffer in write only mode.",42,null],[11,"new","","",43,{"inputs":[{"name":"bufferwritemapping"},{"name":"buffer"}],"output":{"name":"self"}}],[11,"deref","","",43,null],[11,"deref_mut","","",43,null],[11,"drop","","Delegates the actual resource cleanup to the implementation specific buffer write mapping",43,null],[0,"blend","opal","Color Blending",null,null],[4,"BlendFactor","opal::blend","A factor used as part of the blending process",null,null],[13,"Zero","","",44,null],[13,"One","","",44,null],[13,"SourceColor","","",44,null],[13,"OneMinusSourceColor","","",44,null],[13,"DestinationColor","","",44,null],[13,"OneMinusDestinationColor","","",44,null],[13,"SourceAlpha","","",44,null],[13,"OneMinusSourceAlpha","","",44,null],[13,"DestinationAlpha","","",44,null],[13,"OneMinusDestinationAlpha","","",44,null],[13,"ConstantColor","","",44,null],[13,"OneMinusConstantColor","","",44,null],[13,"ConstantAlpha","","",44,null],[13,"OneMinusConstantAlpha","","",44,null],[13,"SourceAlphaSaturate","","",44,null],[13,"Source1Color","","",44,null],[13,"OneMinusSource1Color","","",44,null],[13,"Source1Alpha","","",44,null],[13,"OneMinusSource1Alpha","","",44,null],[4,"BlendFunction","","The complete blend function",null,null],[13,"Add","","",45,null],[13,"Subtract","","",45,null],[13,"ReverseSubtract","","",45,null],[13,"Minimum","","",45,null],[13,"Maximum","","",45,null],[11,"eq","","",44,null],[11,"fmt","","",44,null],[11,"clone","","",44,null],[11,"eq","","",45,null],[11,"ne","","",45,null],[11,"fmt","","",45,null],[11,"clone","","",45,null],[0,"pipeline","opal","Encompasses hardware state required to execute a draw command",null,null],[3,"GraphicsPipelineInfo","opal::pipeline","The pipeline is constructed from a 'template' that contains each shader stage",null,null],[12,"input_assembler","","",46,null],[12,"vertex_shader","","",46,null],[12,"fragment_shader","","",46,null],[3,"InputAssembler","","Gathers",null,null],[12,"topology","","",47,null],[3,"PipelineShader","","",null,null],[12,"shader","","",48,null],[12,"descriptor_layout","","",48,null],[3,"LinkError","","The LinkError includes an error message, explaining what went wrong",null,null],[12,"message","","",49,null],[4,"Topology","","A topology (or primitive) is a type of shape that can be rendered",null,null],[13,"Points","","",50,null],[13,"Lines","","",50,null],[13,"LineStrip","","",50,null],[13,"LineLoop","","",50,null],[13,"Triangles","","",50,null],[13,"TriangleStrip","","",50,null],[13,"TriangleFan","","",50,null],[4,"GraphicsPipelineCreationError","","The pipeline can fail to be created",null,null],[13,"ProgramLinkError","","The shader program failed to link",51,null],[13,"DescriptorSetLayoutCountMismatch","","There was a different number of descriptor set layouts between the different shaders.\nAll shaders in a pipeline must have the same number of descriptor set layouts",51,null],[13,"DescriptorSetLayoutSlotCountMismatch","","There was a different number of descriptor slots between the different shaders.\nAll shaders in a pipeline must have same size descriptor set layout",51,null],[13,"ShaderEntityIndexNotFound","","Sometimes the shader entity index can't be found inside the shader source code.",51,null],[13,"DescriptorSetToTraditionalBindingConversionError","","There was a miscellaneous error while converting the `DescriptorSet`\nsystem to a traditional binding model such as that of OpenGL",51,null],[8,"GraphicsPipeline","","The graphics pipeline has no methods of its own, instead if is referenced by draw commands.",null,null],[11,"clone","","",50,null],[11,"fmt","","",50,null],[11,"clone","","",51,null],[11,"eq","","",51,null],[11,"ne","","",51,null],[11,"fmt","","",51,null],[11,"eq","","",49,null],[11,"ne","","",49,null],[11,"clone","","",49,null],[11,"fmt","","",49,null],[11,"from","","",51,{"inputs":[{"name":"linkerror"}],"output":{"name":"self"}}],[0,"descriptor","opal","",null,null],[3,"DescriptorSetLayout","opal::descriptor","",null,null],[12,"slots","","",52,null],[3,"BufferViewAttachInfo","","",null,null],[12,"buffer","","",53,null],[12,"offset","","",53,null],[12,"stride","","",53,null],[12,"range","","",53,null],[12,"format","","",53,null],[3,"DescriptorSetCreationError","","",null,null],[4,"DescriptorSetLayoutSlot","","",null,null],[13,"Unused","","",54,null],[13,"ShaderResource","","",54,null],[13,"NextDescriptorSet","","",54,null],[4,"ResourceType","","",null,null],[13,"VertexInput","","",55,null],[13,"Uniform","","",55,null],[4,"AttachInfo","","",null,null],[13,"Buffer","","",56,null],[4,"DescriptorSetBindError","","",null,null],[13,"DescriptorSetCountMismatch","","There were too many or too few descriptor sets provided to match the pipeline set layout",57,null],[13,"DescriptorSlotCountMismatch","","There were too many or too few slots in the given descriptor set",57,null],[13,"UnsupportedFormat","","The format was unsupported",57,null],[11,"fmt","","",52,null],[11,"clone","","",52,null],[11,"new","","",52,{"inputs":[{"name":"vec"}],"output":{"name":"self"}}],[11,"fmt","","",54,null],[11,"clone","","",54,null],[11,"hash","","",55,null],[11,"eq","","",55,null],[11,"fmt","","",55,null],[11,"clone","","",55,null],[11,"fmt","","",58,null],[11,"fmt","","",57,null],[0,"format","opal","",null,null],[3,"Format","opal::format","",null,null],[12,"0","","",59,null],[12,"1","","",59,null],[4,"ChannelFormat","","",null,null],[13,"R4G4","","",60,null],[13,"R4G4B4A4","","",60,null],[13,"R5G6B5","","",60,null],[13,"B5G6R5","","",60,null],[13,"R5G5B5A1","","",60,null],[13,"R8","","",60,null],[13,"R8G8","","",60,null],[13,"R8G8B8A8","","",60,null],[13,"B8G8R8A8","","",60,null],[13,"R10G11B11","","",60,null],[13,"R11G11B10","","",60,null],[13,"R10G10B10A2","","",60,null],[13,"R16","","",60,null],[13,"R16G16","","",60,null],[13,"R16G16B16A16","","",60,null],[13,"R32","","",60,null],[13,"R32G32","","",60,null],[13,"R32G32B32","","",60,null],[13,"R32G32B32A32","","",60,null],[13,"R16G8","","",60,null],[13,"R32G8","","",60,null],[13,"R9G9B9E5","","",60,null],[4,"NumericFormat","","",null,null],[13,"UnsignedNormalizedInteger","","",61,null],[13,"SignedNormalizedInteger","","",61,null],[13,"UnsignedInteger","","",61,null],[13,"SignedInteger","","",61,null],[13,"Float","","",61,null],[11,"clone","","",59,null],[11,"fmt","","",59,null],[11,"clone","","",60,null],[11,"fmt","","",60,null],[11,"clone","","",61,null],[11,"fmt","","",61,null],[0,"queue","opal","",null,null],[3,"QueueNotFoundError","opal::queue","",null,null],[12,"ty","","",62,null],[12,"index","","",62,null],[4,"QueueType","","",null,null],[13,"Universal","","",63,null],[13,"Compute","","",63,null],[8,"Queue","","",null,null],[10,"submit","","Executes commands within multiple command buffers",64,null],[11,"clone","","",63,null],[11,"fmt","","",63,null],[11,"eq","","",63,null],[11,"fmt","","",62,null],[8,"Resources","opal","The resources trait specifies what structs are used to store information inside the specific graphics implementations (ie: OpenGL)",null,null],[16,"Shader","","",65,null],[16,"ShaderCreationInfo","","",65,null],[16,"ShaderSource","","",65,null],[16,"Buffer","","",65,null],[16,"BufferWriteMapping","","",65,null],[16,"BufferView","","",65,null],[16,"CommandBuffer","","",65,null],[16,"CommandBufferBuilder","","",65,null],[16,"GraphicsPipeline","","",65,null],[16,"ViewportState","","",65,null],[16,"ColorBlendState","","",65,null],[16,"DepthStencilState","","",65,null],[16,"RasterState","","",65,null],[16,"DescriptorSet","","",65,null],[16,"ResourceCache","","",65,null],[16,"Queue","","",65,null],[16,"Device","","",65,null],[14,"select!","","",null,null]],"paths":[[3,"BufferSelection"],[4,"BufferCreationError"],[4,"BufferTarget"],[4,"ActionHint"],[4,"FrequencyHint"],[8,"Buffer"],[8,"BufferView"],[8,"WriteMapping"],[3,"ClearCommand"],[3,"DrawCommand"],[8,"CommandBufferBuilder"],[3,"CommandBufferBuilderWrapper"],[3,"CommandBufferCreationError"],[3,"ProxyDevice"],[8,"Device"],[3,"CompileError"],[4,"Type"],[4,"ShaderCreationError"],[3,"DynamicViewportStateInfo"],[3,"DynamicColorBlendStateInfo"],[3,"DynamicDepthStencilStateInfo"],[3,"DynamicRasterStateInfo"],[3,"Viewport"],[3,"BlendTarget"],[3,"StencilState"],[3,"StencilSide"],[4,"ComparisonFunction"],[4,"StencilOperation"],[4,"CullMode"],[4,"FillMode"],[4,"FrontFace"],[4,"ViewportStateCreationError"],[4,"ColorBlendStateCreationError"],[4,"DepthStencilStateCreationError"],[4,"RasterStateCreationError"],[3,"Color"],[3,"Rectangle"],[3,"NormalizedRange"],[3,"DataSlice"],[4,"Index"],[3,"Buffer"],[3,"RawBuffer"],[3,"BufferView"],[3,"BufferWriteMapping"],[4,"BlendFactor"],[4,"BlendFunction"],[3,"GraphicsPipelineInfo"],[3,"InputAssembler"],[3,"PipelineShader"],[3,"LinkError"],[4,"Topology"],[4,"GraphicsPipelineCreationError"],[3,"DescriptorSetLayout"],[3,"BufferViewAttachInfo"],[4,"DescriptorSetLayoutSlot"],[4,"ResourceType"],[4,"AttachInfo"],[4,"DescriptorSetBindError"],[3,"DescriptorSetCreationError"],[3,"Format"],[4,"ChannelFormat"],[4,"NumericFormat"],[3,"QueueNotFoundError"],[4,"QueueType"],[8,"Queue"],[8,"Resources"]]}; initSearch(searchIndex);