This repository has been archived by the owner on Jul 8, 2022. It is now read-only.
v3.0.0-Beta
Pre-release
Pre-release
Major changes
- Added
GpuShapeView
, a new view to render antialiased vector graphics on the GPU!ShapeView
and derivates likeCircle
,RoundRect
now useGpuShapeView
internally. Since now it is substantially faster and do not require intermediate bitmaps, now it is possible to animate vectors in a more reasonably way. - New internal mechanism
AGList
andAGQueueProcessor
to do fine-grained rendering. First step for a multithreaded renderer, and to support in the futuremetal
,vulkan
,webgpu
etc. - New extensible render phases mechanism for Views.
- Implemented antialiased masking at the View level with
View.mask
- Implemented backdrop filters with
View.backdropFilter
(applying a filter to the content below the view and use the view as mask). Useful for example to blur or apply filters to the backround. - Changed the internals so
Stage
doesn't have transformations (always the identity matrix), and now mouse coordinates usesStage
as reference instead of the window - Adds support for haptic feedback on macos and iOS
- Implemented
SHA512
hashing, addedCTR
as symmetric encrypton mode, and improved the API for symmetric encryption - MP3 decoding now uses minimp3 again, so it has less failures
- Now it is possible to tween positions around a path with:
tween(view::pos[buildVector { circle(0, 0, 100) }])
- Lots of more stuff... (check What's changed for details)
Improvements from contributors. Thanks! ❤️
- Fix loading frame cells in Aseprite files by @jobe-m in #536
- Update Fleks ECS by @jobe-m in #537
- Have Container implement MutableCollection by @Kietyo in #592
- Add getProp and getPropOrNull methods for BaseView by @Kietyo in #594
- remove println("Ahhhhhh") by @SchneckeddeF in #597
- Klock datetime parser: accept 1-9 digits for millis by @ArtRoman in #609
- Utils for distributing views evenly across vertically/horizontally. by @Kietyo in #615
- Have *Array2 classes implement an interface [Includes small breaking change] by @Kietyo in #616
- Implement closeable mouse events & closeable draggable. by @Kietyo in #625
- the mapping for cyan and magenta was missing by @bognari in #618
What's Changed
- Fix/external.sampler by @soywiz-invideo in #542
- Avoid samplerExternalOES issue in android by @soywiz-invideo in #543
- Update missing reference tests by @soywiz-invideo in #544
- Fix some context2d issues by @soywiz-invideo in #545
- Proper gpu-vector fill rendering by @soywiz-invideo in #547
- Move GpuShapeView to korge by @soywiz in #548
- Initial support for strokes in GpuShapeView by @soywiz in #549
- Implement GPU Vector Sweep Gradient shader by @soywiz in #550
- Adds GpuShapeView reference test by @soywiz in #551
- Fixes gpu shape bounds by @soywiz-invideo in #553
- Implement gpu shape clipping by @soywiz-invideo in #554
- Fix shape building by @soywiz-invideo in #555
- Optimize BitmapFiller & CycleMethod by @soywiz-invideo in #556
- Fix fract for negative numbers by @soywiz-invideo in #557
- Antialiased GPU rendering by @soywiz-invideo in #561
- Kotlin 1.6.20 by @soywiz in #562
- Fix reading JPEG files with extra APP1 sections not being Exif by @soywiz-invideo in #564
- Tries to compile and locally publish iOS artifacts by @soywiz-invideo in #565
- Ensure using Java8 when publishing mobile artifacts locally by @soywiz-invideo in #567
- Bump kotlinx.coroutines to 1.6.1 by @soywiz in #568
- Unify generic texture generation and do not expose KmlGl by @soywiz in #569
- Adds HttpBodyContent, HttpBodyContentFormUrlEncoded & HttpBodyContentMultiPartFormData and improves HttpClient to support this by @soywiz in #570
- Fix stroke issues in GpuShapeView (angle !in 0.degrees..90.degrees, rectangle closed problem and line width not being correct), also adds support for toggling antialiasing by @soywiz-invideo in #574
- Fix some GpuShapeView issues by @soywiz-invideo in #575
- Support toggling msaa on win32 via gameWindow.quality property by @soywiz in #577
- Adds GpuShapeView.updateShape by @soywiz-invideo in #579
- Enable download https test by @soywiz in #581
- Proper implementation of CatalogVfs by @soywiz in #582
- Some clipping and filter issues by @soywiz-invideo in #585
- [KorMA] Line and Circle projectedPoint and some shape improvements by @soywiz-invideo in #587
- Github Actions Cache by @soywiz in #583
- Use version catalog + build.gradle.kts -> build.gradle to improve performance by @soywiz in #590
- Split GameWindow in DialogInterface & some Vfs.exec fixes by @soywiz in #539
- Moved AGOpenglFactory to korag.gl and DynamicLibrary to .kmem.dyn and moved to common by @soywiz in #595
- Support haptic feedback by @soywiz-invideo in #598
- Some fixes by @soywiz-invideo in #600
- Adds ThreadLocal to hapticFeedback and vibration Views extensions by @soywiz-invideo in #599
- Added closestMultipleOf + Double variants by @soywiz-invideo in #601
- Fix Android vibration by only requiring the android context by @soywiz-invideo in #602
- Optimize VfsFile.readCubeMap by @soywiz-invideo in #603
- Makes Matrix.Transform set proper values for other kind of rotations outside 0º..90º range by @soywiz-invideo in #605
- Optimize KmlGl.get* to avoid extra buffer allocations by @soywiz-invideo in #607
- iOS seems to require power of two textures for the render target, and we need it to be at least 64-pixels wide/long by @soywiz-invideo in #606
- Fixes framebuffer with stencil attached when reusing the framebuffer by @soywiz in #608
- Some GL testing fixes by @soywiz-invideo in #610
- Move FrameBuffer processing to AGQueueProcessor by @soywiz-invideo in #611
- Fix and improve GL testing by @soywiz-invideo in #612
- Krypto: Use SecRandomCopyBytes instead of /dev/urandom on apple platforms by @soywiz-invideo in #621
- Feature/improve.UUID.implementation by @soywiz-invideo in #623
- Huge AG improvements & optimize GpuShapeView to use AGList by @soywiz-invideo in #613
- Implement SHA512 by @soywiz in #627
- Feature/support.extensible.cipher.modes by @soywiz in #628
- Reduce the scope of MiniMp3, to not expose constants outside by @soywiz-invideo in #631
- New extensible render phases for views: extract View.filter and add View.mask & some improvements by @soywiz-invideo in #632
- Feature/backdrop filter by @soywiz-invideo in #635
- Fix refreshing UIImage coords when required by @soywiz-invideo in #637
- Fixes GIF decoding, background and frame duration by @soywiz in #640
- Small improvement & test by @soywiz in #641
- Make Stage to have the identity Matrix as transform always independently to retina or window scaling by @soywiz-invideo in #638
- JS was failing because FBuffer.mem was not multiple of 8. Adjust calls to make it multiple of 8 by @soywiz-invideo in #643
New Contributors
Full Changelog: v2.7.0...v3.0.0-Beta