Add 'cozette-sml/' from commit '5ee4d063750e4b57ef9abf2d8ca19a3811ad73a1'

git-subtree-dir: cozette-sml
git-subtree-mainline: bbdbe022f3
git-subtree-split: 5ee4d06375
This commit is contained in:
2026-04-24 00:35:35 +01:00
197 changed files with 22762 additions and 0 deletions

11
cozette-sml/README.md Normal file
View File

@@ -0,0 +1,11 @@
# cozette-sml
## Introduction
This is an attempt to "port" ASCII subset of the bitmap font [Cozette](https://github.com/slavfox/Cozette/) to pure Standrd ML code which can be rendered with OpenGL with just a vertex buffer, and no textures.
This is mostly used in my personal projects; I don't expect it to be useful for anyone else.
## Credits
This port would not have been possible without the original font by Slavfox.

View File

@@ -0,0 +1,257 @@
structure Ampersand =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,185 @@
structure AsciiAt =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,42 @@
structure AsciiDot =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,185 @@
structure AsciiEight =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure AsciiFive =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure AsciiFour =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure AsciiHash =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,42 @@
structure AsciiMinus =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure AsciiNine =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure AsciiOne =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,330 @@
structure AsciiPercent =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,42 @@
structure AsciiPipe =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure AsciiPlus =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure AsciiSeven =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure AsciiSix =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,5 @@
structure AsciiSpace =
struct
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) =
#[ ]
end

View File

@@ -0,0 +1,186 @@
structure AsciiThree =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure AsciiTilde =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,210 @@
structure AsciiTwo =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,137 @@
structure AsciiZero =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure Asterisk =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure Backtick =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure BackwardSlash =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure Caret =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure Colon =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure Comma =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,105 @@
$(SML_LIB)/basis/basis.mlb
ann
"allowVectorExps true"
in
local
ascii-zero.sml
ascii-one.sml
ascii-two.sml
ascii-three.sml
ascii-four.sml
ascii-five.sml
ascii-six.sml
ascii-seven.sml
ascii-eight.sml
ascii-nine.sml
ascii-space.sml
ampersand.sml
asterisk.sml
ascii-at.sml
backtick.sml
backward-slash.sml
caret.sml
colon.sml
comma.sml
dollar.sml
quotes-double.sml
equals.sml
exclamation_mark.sml
forward-slash.sml
ascii-dot.sml
ascii-hash.sml
left-angled-bracket.sml
left-brace.sml
left-bracket.sml
left-paren.sml
lower-case-a.sml
lower-case-b.sml
lower-case-c.sml
lower-case-d.sml
lower-case-e.sml
lower-case-f.sml
lower-case-g.sml
lower-case-h.sml
lower-case-i.sml
lower-case-j.sml
lower-case-k.sml
lower-case-l.sml
lower-case-m.sml
lower-case-n.sml
lower-case-o.sml
lower-case-p.sml
lower-case-q.sml
lower-case-r.sml
lower-case-s.sml
lower-case-t.sml
lower-case-u.sml
lower-case-v.sml
lower-case-w.sml
lower-case-x.sml
lower-case-y.sml
lower-case-z.sml
ascii-minus.sml
ascii-percent.sml
ascii-pipe.sml
ascii-plus.sml
question-mark.sml
right-angled-bracket.sml
right-brace.sml
right-bracket.sml
right-paren.sml
semicolon.sml
quotes-single.sml
ascii-tilde.sml
underscore.sml
unknown.sml
upper-case-a.sml
upper-case-b.sml
upper-case-c.sml
upper-case-d.sml
upper-case-e.sml
upper-case-f.sml
upper-case-g.sml
upper-case-h.sml
upper-case-i.sml
upper-case-j.sml
upper-case-k.sml
upper-case-l.sml
upper-case-m.sml
upper-case-n.sml
upper-case-o.sml
upper-case-p.sml
upper-case-q.sml
upper-case-r.sml
upper-case-s.sml
upper-case-t.sml
upper-case-u.sml
upper-case-v.sml
upper-case-w.sml
upper-case-x.sml
upper-case-y.sml
upper-case-z.sml
in
cozette-ascii.sml
end
end

View File

@@ -0,0 +1,260 @@
structure CozetteAscii =
struct
val asciiTable = #[
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
AsciiSpace.lerp,
ExclamationMark.lerp,
QuotesDouble.lerp,
AsciiHash.lerp,
Dollar.lerp,
AsciiPercent.lerp,
Ampersand.lerp,
QuotesSingle.lerp,
LeftParen.lerp,
RightParen.lerp,
Asterisk.lerp,
AsciiPlus.lerp,
Comma.lerp,
AsciiMinus.lerp,
AsciiDot.lerp,
ForwardSlash.lerp,
AsciiZero.lerp,
AsciiOne.lerp,
AsciiTwo.lerp,
AsciiThree.lerp,
AsciiFour.lerp,
AsciiFive.lerp,
AsciiSix.lerp,
AsciiSeven.lerp,
AsciiEight.lerp,
AsciiNine.lerp,
Colon.lerp,
Semicolon.lerp,
LeftAngledBracket.lerp,
AsciiEquals.lerp,
RightAngledBracket.lerp,
QuestionMark.lerp,
AsciiAt.lerp,
UpperCaseA.lerp,
UpperCaseB.lerp,
UpperCaseC.lerp,
UpperCaseD.lerp,
UpperCaseE.lerp,
UpperCaseF.lerp,
UpperCaseG.lerp,
UpperCaseH.lerp,
UpperCaseI.lerp,
UpperCaseJ.lerp,
UpperCaseK.lerp,
UpperCaseL.lerp,
UpperCaseM.lerp,
UpperCaseN.lerp,
UpperCaseO.lerp,
UpperCaseP.lerp,
UpperCaseQ.lerp,
UpperCaseR.lerp,
UpperCaseS.lerp,
UpperCaseT.lerp,
UpperCaseU.lerp,
UpperCaseV.lerp,
UpperCaseW.lerp,
UpperCaseX.lerp,
UpperCaseY.lerp,
UpperCaseZ.lerp,
LeftBracket.lerp,
BackwardSlash.lerp,
RightBracket.lerp,
Caret.lerp,
Underscore.lerp,
Backtick.lerp,
LowerCaseA.lerp,
LowerCaseB.lerp,
LowerCaseC.lerp,
LowerCaseD.lerp,
LowerCaseE.lerp,
LowerCaseF.lerp,
LowerCaseG.lerp,
LowerCaseH.lerp,
LowerCaseI.lerp,
LowerCaseJ.lerp,
LowerCaseK.lerp,
LowerCaseL.lerp,
LowerCaseM.lerp,
LowerCaseN.lerp,
LowerCaseO.lerp,
LowerCaseP.lerp,
LowerCaseQ.lerp,
LowerCaseR.lerp,
LowerCaseS.lerp,
LowerCaseT.lerp,
LowerCaseU.lerp,
LowerCaseV.lerp,
LowerCaseW.lerp,
LowerCaseX.lerp,
LowerCaseY.lerp,
LowerCaseZ.lerp,
LeftBrace.lerp,
AsciiPipe.lerp,
RightBrace.lerp,
AsciiTilde.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp
]
fun make (chr, posX, posY, zIndex, scale, windowWidth, windowHeight, r, g, b) =
let
val chrFun = Vector.sub (asciiTable, Char.ord chr)
in
chrFun (posX, posY, zIndex, scale, windowWidth, windowHeight, r, g, b)
end
end

View File

@@ -0,0 +1,210 @@
structure Dollar =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure AsciiEquals =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure ExclamationMark =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure ForwardSlash =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,186 @@
structure LeftAngledBracket =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LeftBrace =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LeftBracket =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LeftParen =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseA =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure LowerCaseB =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseC =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure LowerCaseD =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure LowerCaseE =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseF =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseG =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseH =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure LowerCaseI =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseJ =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,186 @@
structure LowerCaseK =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseL =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseM =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseN =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure LowerCaseO =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure LowerCaseP =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseQ =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseR =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseS =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseT =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure LowerCaseU =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseV =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure LowerCaseW =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,234 @@
structure LowerCaseX =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure LowerCaseY =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure LowerCaseZ =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure QuestionMark =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure QuotesDouble =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,42 @@
structure QuotesSingle =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,186 @@
structure RightAngledBracket =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure RightBrace =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure RightBracket =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure RightParen =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure Semicolon =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,42 @@
structure Underscore =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure Unknown =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 1.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 12.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 13.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 6.000000000000000, scale, halfWidth),
yToNdc (yOffset, 0.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure UpperCaseA =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure UpperCaseB =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure UpperCaseC =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure UpperCaseD =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure UpperCaseE =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure UpperCaseF =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure UpperCaseG =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure UpperCaseH =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure UpperCaseI =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure UpperCaseJ =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,186 @@
structure UpperCaseK =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure UpperCaseL =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure UpperCaseM =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure UpperCaseN =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure UpperCaseO =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,114 @@
structure UpperCaseP =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure UpperCaseQ =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure UpperCaseR =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,186 @@
structure UpperCaseS =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,66 @@
structure UpperCaseT =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,90 @@
structure UpperCaseU =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure UpperCaseV =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure UpperCaseW =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,234 @@
structure UpperCaseX =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,138 @@
structure UpperCaseY =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,162 @@
structure UpperCaseZ =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight,
r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 9.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 8.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 4.000000000000000, scale, halfHeight),
z,
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
z,
r, g, b
]
end
end

View File

@@ -0,0 +1,197 @@
structure Ampersand =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth
fun yToNdc (yOffset, ypos, scale, halfHeight) =
~(((ypos * scale + yOffset) - halfHeight) / halfHeight)
fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) =
let
val halfWidth = windowWidth / 2.0
val halfHeight = windowHeight / 2.0
in
#[
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 0.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 1.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 2.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 2.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 5.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 3.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 3.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 7.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 6.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 4.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 11.000000000000000, scale, halfHeight),
r, g, b,
xToNdc (xOffset, 5.000000000000000, scale, halfWidth),
yToNdc (yOffset, 10.000000000000000, scale, halfHeight),
r, g, b
]
end
end

Some files were not shown because too many files have changed in this diff Show More