Steins7
92e5ff1082
Merge pull request 'cpu_text_sprite' ( #1 ) from cpu_text_sprite into master
...
Reviewed-on: https://git.steins7.ovh/Steins7/canvas/pulls/1
2024-03-02 14:45:49 +00:00
1cb6d7fc72
Rework Pixel and Color to implement alpha blending
2024-03-02 14:45:22 +00:00
d10ce2552d
Add new Center enum for center config
2024-03-02 14:45:22 +00:00
e921ea74d9
Update example
2024-03-02 14:45:22 +00:00
765f7ea9e6
Minor visual code's cleanup
2024-03-02 14:45:22 +00:00
1d4de23391
Fix matrix transformation issues
...
This time, the issues should be fixed for good. Everything behaves as expected.
The only issue remaining is that of the text sprite not having the right size
2024-03-02 14:45:22 +00:00
f6e0619be0
Add sprite center configuration
...
For now, the center is juste defined by coordinates in a haphazard way,
this will need a proper implementation at some point
2024-03-02 14:45:22 +00:00
3a630fefaf
Fix matrix transformation issues
2024-03-02 14:45:22 +00:00
32bfe01a1e
Implement text sprite main functions
2024-03-02 14:45:22 +00:00
fabe090307
Update .gitignore
2024-03-02 14:45:22 +00:00
d334ee8f98
Implement cpu-generated text sprite
2024-03-02 14:45:22 +00:00
5aa0a70f5f
Add editorconfig file
2024-03-02 15:00:48 +01:00
e4ccf95a2f
Document new Mesh system
2022-11-01 19:09:04 +01:00
c1e8fea84a
Rework Mesh system
...
The mesh is now direclty handled by its corresponding sprite to
simplify things
2022-11-01 18:53:21 +01:00
2e326306d9
Clean up frame implementation
...
Sprites no longer need to handle the frame creation as it is fully
handled by the renderer itself. The fields order in the renderer have
also been swapped to drop things in the right order
2022-10-22 22:26:11 +02:00
c2e884f68c
Clean up Sprite's file hierarchy
2022-10-22 20:47:27 +02:00
d5d36cfadc
Perform major code refactor
...
The rendering is moved from the renderer to the sprites. As a result,
WgpuRenderer is now more of a rendering context while the renderer in
itself is the context + the sprites
2022-10-22 00:21:41 +02:00
f025bef6c9
Updated Cargo.toml
...
bytemuck support for cgmath hasn't been released yet, so using the
master branch from github instead. Won't be adding it as submodule yet
as it is only temporary
2022-08-21 21:14:28 +02:00
be968adb89
Removed warnings
2022-08-21 21:09:19 +02:00
d3bc7ecc7f
Moved from push constants to uniforms
...
This move also fixed display issues on Vulkan since the matrix's data
alignement was not properly handled
2022-08-21 20:35:02 +02:00
2591b60a5d
Added proper texture scaling
2022-08-20 19:51:21 +02:00
7a46eff82c
Moved surface size handling to renderer
...
Canvas is no longer resizeable by the interface as that would shift all
sprites on the screen. The user can still do it through the API
2022-08-20 17:04:15 +02:00
1e9fb49a49
Got the matrix system working
...
Surface size is hardcoded for now
2022-08-20 16:35:32 +02:00
1081051084
Got model matrix to work
...
For now the matrix is sent as a push constant but since WebGL doesn't
support them and will likely never support them big enough for a matrix,
they will in the future be sent in a uniform buffer
2022-08-20 14:43:29 +02:00
88078e128a
Optimized vertex and index buffers
...
* buffers are no-longer re-created at each frame
* re-use existing buffers when updating mesh
2022-08-18 23:38:32 +02:00
330a93fac8
Implemented more of TextureSprite
...
+ added texture modification functions
+ added texture offset support
2022-08-18 22:07:33 +02:00
3a7799bc76
Started implementing TextureSprite
...
* reworked Texture API
+ implemented basic TextureSprite functions
* minor modifications
2022-07-20 23:54:41 +02:00
79b86afc2a
Got texture to display on quad
...
+ implemented Texture
* tweaked Application API
! some work need on Texture API to mask Rc<RefCell>>
2022-07-15 11:59:52 +02:00
7c01dfab75
Improved renderer to display quad
2022-07-07 22:54:15 +02:00
583aa10690
Got basic triangle to display
...
! WIP, rendering code is fully temporary
2022-07-03 16:23:07 +02:00
599a998c51
Got clear screen to display
...
! WIP, rendering code is fully temporary
2022-07-03 15:52:23 +02:00
4a65fb16b6
Added doc to repository
2022-07-03 15:28:18 +02:00
8fb74a0381
Started implementing Wgpu renderer
...
+ implemented basic setup code
+ implemented basic resize code
! renderer will default to GLES backend due to NV prime (Wgpu bug)
2022-07-02 23:28:30 +02:00
091454922b
Selected Wgpu as rendering API
...
* adjusted API to better fit Wgpu's
2022-07-02 14:09:19 +02:00
313d311be8
Configured winit window
...
+ constructed winit's window and event loop
! window will not show up until we draw something on it
2022-06-30 21:12:51 +02:00
ecbcbf0db3
Revised lib's API to better fit winit's
...
* switched to slave type API
* started implementing winit's initialization
2022-06-29 21:13:29 +02:00
60d79e7d85
Implement API squeleton
...
Some adjustements done to the API to ease implementation
2022-06-24 19:32:21 +02:00
282534c969
Improve API and separate bin and lib
...
Reworked API, does not compile
2022-06-11 20:02:24 +02:00
7ebd83a979
Initial commit
...
First draft of the API, does not compile
2022-06-09 22:38:35 +02:00