moved over to the enum method of drawing. Not flexible, but type safe

This commit is contained in:
2020-02-12 00:42:30 -08:00
parent 80c0d323be
commit 659cd98a1f
23 changed files with 192 additions and 570 deletions

View File

@@ -0,0 +1,69 @@
Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2020-02-03T23:30:41-08:00
====== CanvasState ======
[[/doc/sfml_rust/canvas/canvas_state/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/color data **D32Sfloat_S8Uint **attachment for the render output. This is highly shader dependent. Also depends on the DynamicState
===== 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
Going to need some interface for getting vertices.
Some interface for getting the texture or image
--------------------
===== Data =====
**Borrowed:**
queue
device
**Owns:**
render_pass
[[CanvasImage]]
[[VKProcessor:CanvasTexture]]
[[CanvasFont]]
CompiledGraphicsPipeline
colored_vertex_buffer
image_vertex_buffer
text_instances
--------------------