Piping just the vertex glyph representation first to test the stencil buffer

This commit is contained in:
2020-02-22 00:07:58 -08:00
parent bb8144bb01
commit b3e092e25a
70 changed files with 906 additions and 369 deletions

View File

@@ -12,14 +12,6 @@ The Canvas needs to package certain buffers along with their metadata. These tak
All buffers will have a coupled handle type stored in [[/src/canvas/managed/handles.rs|handles.rs]] and a reference to that handle
===== CanvasImage =====
===== CanvasTexture =====
===== CanvasFont =====

View File

@@ -25,6 +25,26 @@ Creation-Date: 2020-02-03T23:30:41-08:00
An object which accumulate frame draws. The State will then parse this list of calls and display them on the screen
--------------------
=== 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
* A state container: CanvasState
* An Interface class CanvasFrame
* `Managed` objects. Aka, everything that CanvasState holds
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
== Do I commit to the all handles in handles.rs? ==
FYI The shader API is actually pretty badass
load_shader::<GenericShader, ColorVertex2D>("shadername", a, b);
--------------------
===== Data =====
@@ -38,7 +58,7 @@ Creation-Date: 2020-02-03T23:30:41-08:00
[[CanvasImage]]
[[VKProcessor:CanvasTexture|CanvasTexture]]
[[CanvasFont]]
[[CompiledGraphicsPipeline]]
[[CompiledShader]]
--------------------

View File

@@ -1,11 +0,0 @@
Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2020-02-12T23:22:51-08:00
====== CompiledGraphicsPipeline ======
Unfortunately we have to explicitly provide the type to the graphics pipeline if we don't want to fall out into the

View File

@@ -0,0 +1,44 @@
Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2020-02-12T23:22:51-08:00
====== CompiledShader ======
[[/doc/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledShader.html|Documentation]]
==== Details ====
This trait returns:
* It's pipeline
* It's own assigned handle
* The renderpass it copied from the constructor
==== Implementors ====
**GenericShader**
For basic 2D drawing we just these shaders
* Vertex
* Fragment
We also use a **SingleBufferDefinition**
For vertices, we use a **Triangle List**
We also use the **generic** depth stencil
**TextShader**
Very similar to the GenericShader, but specialized with the depth stencil to draw text.
Still using the shaders :
* Vertex
* Fragment
**SingleBufferDefinition**
**TriangleList**
**DepthStencil** with our own specialized depth stencil values

View File

@@ -10,7 +10,7 @@ Creation-Date: 2020-02-04T23:22:14-08:00
===== Details =====
So, the **pipeline** we create over in the **shader** needs to know about the vertex data it will be using. This lines up pretty well because the Shader is precisely the mechanism which would know about this data.
So, the **pipeline** we create over in the **shader** needs to know about the vertex data it will be using.
--------------------