compiles and renders textures again

This commit is contained in:
2020-02-20 23:55:36 -08:00
parent d1051a0ca3
commit 438f96eb32
16 changed files with 110 additions and 89 deletions

View File

@@ -16,7 +16,6 @@ Main Systems:
[[VKProcessor:DynamicVertex|DynamicVertex]] ===========
[[VKProcessor:CompuState|CompuState]] [[~/source/Trac3r-rust/doc/sfml_rust/compute/compu_state/struct.CompuState.html|===========]]
--------------------
====== Warming Up ======
@@ -26,31 +25,27 @@ Currently I'm getting my bearings again on this project.
=== canvas ===
I made a maybe(?) good change to the heirarchy of the canvas. Hiding the construction of handles from anything outside.
Currently, canvas is separated out to the state container itself and one API class for users to interact with, in addition to a set of 'managed' objects
Currently, canvas is separated out to
* A state container: CanvasState
* An Interface class CanvasFrame
* `Managed` objects. Aka, everything that CanvasState holds
Buffers and Handles are at one level, shared with text which is unrelated.
Why do I hold the shader handles (CompiledShaderHandle)
CanvasText is just laying around until I use it...
Shader pipeline objects exists in one level of managed
Handle and Buffer objects exists in the base managed level
In Shader lie the shader compilers, pipelines, and supporting data.
== Do I commit to the all handles in handles.rs? ==
**Current Question:**
Where do I put the CompiledShaderHandles?
I need to put them where I create them. The actual shader doesn't.
FYI The shader API is actually pretty badass
load_shader::<GenericShader, ColorVertex2D>("shadername", a, b);
=== canvas frame ===
The current workflow:
--------------------
enum of vertex types
sprite holds vertex::type1
poly holds vertex::type2
So right now it looks like I am having some trouble in the drawing of the CanvasFrame I've crafted.
canvasframe holds <enumType>
It is seriously just a Vector of VertexTypes. Which should be fine
canvasState.run takes canvasFrame<enumType>
canvasState.draw_commands_test(command_buffer, framebuffers, image_num, canvas_frame);
@@ -128,3 +123,4 @@ fn any_content<T>(value : T) where T : IntoContent {
null)

View File

@@ -16,6 +16,12 @@ Vk Processors is a do_all class for interaction with the render window, vulkan s
[[./vkprocessor.drawio]]
--------------------
===== Data =====

View File

@@ -9,7 +9,7 @@ Creation-Date: 2020-02-04T19:34:27-08:00
===== Details =====
The Canvas needs to package certain buffers along with their metadata. These take the form of **Canvas Buffers**.
All buffers will have a coupled handle type stored in the [[/src/canvas/mod.rs|canvas/mod.rs]] and a reference to that handle
All buffers will have a coupled handle type stored in [[/src/canvas/managed/handles.rs|handles.rs]] and a reference to that handle
===== CanvasImage =====

File diff suppressed because one or more lines are too long