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