Commit Graph

32 Commits

Author SHA1 Message Date
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