Releases: PurpleKingdomGames/ultraviolet
0.3.0
Brings Ultraviolet up to date with Scala.js 1.16.0 and Scala 3.4.1, the versions new releases of our other libraries are targeting.
Also adds a small fix that preemptively makes Ultraviolet compatible with the up coming Scala 3.4.2 release.
What's Changed
- Issue 108: Resolves problem with Scala 3.4.2 Nightly by @davesmith00000 in #111
Full Changelog: v0.2.0...v0.3.0
0.2.0
This release is mostly to bring Ultraviolet up to Scala.js version 1.15.0, ahead of the next Indigo release.
However, during the last release of Ultraviolet it was announced that there were no known bugs and... well... we found some! 😄
Bug fixes:
- Fixed #95: Clamp variations now accept Float gentypes, e.g.
clamp(vec2(1.0f), 0.0f, 1.0f)
- Fixed #91: If statement return values can now be assigned to vars directly, e.g.
var x = if true then 1.0f else 2.0f
Additionally, support added for some missing operators
- Perhaps surprisingly (#103)
!=
! On reflection, shader writing is mostly about floating point maths where direct comparisons don't come up very often, and clearly!=
hasn't come up at all. - Support for bitwise operators on integers has been added.
Full Changelog: v0.1.3...v0.2.0
0.1.3
As of version 0.1.3, there are no known bugs in Ultraviolet ...which merely means that there are many unknown bugs lurking at the other end of the spectrum!
Fixes in this release:
- Added support for unary
!
, e.g. inif !myBool then vec4(1.0) else vec4(2.0)
. - Embedding Raw GLSL without trimming no longer creates erroneous
;
's. - Anonymous unary functions where the the argument is ignored using
_
now generate shader code that compiles correctly.
The release is part of a wider set up upcoming releases that, along with the usual fixes and improvements, aims to get all the PKG libraries onto the same versions of things like Scala / Scala.js.
0.1.2
Functionally identical to 0.1.1, but specifically built against Scala 3.3.0. Please note that 0.1.1 works fine with Scala 3.3.0, I'm just trying to keep all the versions aligned between Ultraviolet and Indigo.
0.1.1
This is a minor release that fixes two important issues discovered during the on-going work to port Indigo and it's demo projects to Ultraviolet:
- Ultraviolet now supports array
ShaderTypeOf
instances up to 4096, where previously it was limited to 32. These are used in shaders where you intend to pass large amounts of data to you shader program as UBO data. - The
%
operator now works correctly forInt
types. GLSL has no % operator for floating point types, but Ultraviolet simulates them for you by converting to amod
call in the background. The misunderstanding was that the reverse is true for integer types, where you can%
but notmod
.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Ultraviolet's first release
This first version has been released to unblock the on-going work to integrate Ultraviolet into Indigo.
Although it has undergone substantial testing in dozens of quite complex scenarios, it should nonetheless be treated with a healthy level of suspicion. There will be bugs - hundreds of bugs! There will be corner cases, and there will be things that are just downright wrong with it. This is a small but complicated project, and it would not be surprising if you hit a bug on your first attempt! Don't be dissuaded thought, give it a try and report any issues you find.
As this is the first release, there aren't many change notes to report. This is nought to sixty, a new library is born, and it's very exciting to be pushing this out into the world!
Full Changelog: https://github.com/PurpleKingdomGames/ultraviolet/commits/v0.1.0