Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2020-02-03T23:30:41-08:00

====== CanvasState ======

[[~/source/Trac3r-rust/doc/sfml_rust/canvas/struct.CanvasState.html|Documentation]]

===== Details =====

	The gist of this class is basically draw everything 2D and have all the resources to do so. It holds binary buffer blobs for resources, it's own compiled shaders, render_pass, and all of the vertex buffers in order to draw those binary buffer blobs. 

	**window_size_dependent_setup** is currently hosted inside this class. If a second graphics class is added I will add some shared library for this to live.
	
	**render_pass **the render pass is created with our depth stencil data **D32Sfloat_S8Uint** and the color attachment for the render output. This is highly 2D dependent


===== Interface =====

	Generally there is a get for handle and pointer and a load (or create) for each of the stored items.
	
	The class then interacts with these stored items by taking and executing a list of operations to perform on them. 

	CanvasFrame
	

--------------------

===== Data =====

**Borrowed:**
	queue
	device

**Owns:**
	render_pass	
	[[CanvasImage]]
	[[CanvasTexture]]
	[[CanvasFont]]
	CompiledGraphicsPipeline
	colored_vertex_buffer
	image_vertex_buffer
	text_instances

--------------------






















