add demos to README.md
This commit is contained in:
@@ -63,6 +63,7 @@ fun main() = application {
|
|||||||
# Camera2D demo
|
# Camera2D demo
|
||||||
|
|
||||||
click and drag the mouse for panning, use the mouse wheel for zooming
|
click and drag the mouse for panning, use the mouse wheel for zooming
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCamera2D01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCamera2D01.kt)
|
||||||
@@ -72,6 +73,7 @@ click and drag the mouse for panning, use the mouse wheel for zooming
|
|||||||
# Camera2D demo with static elements
|
# Camera2D demo with static elements
|
||||||
|
|
||||||
An approach for having certain elements not affected by the camera
|
An approach for having certain elements not affected by the camera
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCamera2D02.kt)
|
[source code](src/jvmDemo/kotlin/DemoCamera2D02.kt)
|
||||||
@@ -87,6 +89,7 @@ drawing operations while maintaining individual camera states, ensuring proper t
|
|||||||
Three circles are drawn on the canvas: a small pink one, a medium white one and a large pink one.
|
Three circles are drawn on the canvas: a small pink one, a medium white one and a large pink one.
|
||||||
Only the pink ones are affected by the interactive `Camera2DManual`, while the middle white circle is outside
|
Only the pink ones are affected by the interactive `Camera2DManual`, while the middle white circle is outside
|
||||||
the camera's isolated scope.
|
the camera's isolated scope.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCamera2DManual01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCamera2DManual01.kt)
|
||||||
@@ -102,6 +105,7 @@ the new active contour.
|
|||||||
|
|
||||||
As the mouse is dragged or its wheel scrolled, the camera is updated, affecting
|
As the mouse is dragged or its wheel scrolled, the camera is updated, affecting
|
||||||
how the active contour is rendered.
|
how the active contour is rendered.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCamera2DManual02.kt)
|
[source code](src/jvmDemo/kotlin/DemoCamera2DManual02.kt)
|
||||||
@@ -109,6 +113,7 @@ how the active contour is rendered.
|
|||||||
### DemoOrbitalCamera01
|
### DemoOrbitalCamera01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoOrbitalCamera01.kt)
|
[source code](src/jvmDemo/kotlin/DemoOrbitalCamera01.kt)
|
||||||
@@ -124,6 +129,7 @@ Functionality:
|
|||||||
- Spawns an orbital camera, initially positioned away from the origin, to allow for focused rendering.
|
- Spawns an orbital camera, initially positioned away from the origin, to allow for focused rendering.
|
||||||
- Renders 3D wireframe shapes (sphere and cube) using the camera's isolated perspective.
|
- Renders 3D wireframe shapes (sphere and cube) using the camera's isolated perspective.
|
||||||
- Draws a static 2D pink circle overlay at the window center.
|
- Draws a static 2D pink circle overlay at the window center.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoOrbitalManual01.kt)
|
[source code](src/jvmDemo/kotlin/DemoOrbitalManual01.kt)
|
||||||
@@ -131,6 +137,7 @@ Functionality:
|
|||||||
### DemoParametricOrbital01
|
### DemoParametricOrbital01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoParametricOrbital01.kt)
|
[source code](src/jvmDemo/kotlin/DemoParametricOrbital01.kt)
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ Two color spaces are added: `ColorHSLUVa` and `ColorHPLUVa`, they are an impleme
|
|||||||
### colormap/DemoSpectralZucconiColormap
|
### colormap/DemoSpectralZucconiColormap
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormap/DemoSpectralZucconiColormap.kt)
|
[source code](src/jvmDemo/kotlin/colormap/DemoSpectralZucconiColormap.kt)
|
||||||
@@ -59,6 +60,7 @@ Two color spaces are added: `ColorHSLUVa` and `ColorHPLUVa`, they are an impleme
|
|||||||
### colormap/DemoSpectralZucconiColormapPhrase
|
### colormap/DemoSpectralZucconiColormapPhrase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormap/DemoSpectralZucconiColormapPhrase.kt)
|
[source code](src/jvmDemo/kotlin/colormap/DemoSpectralZucconiColormapPhrase.kt)
|
||||||
@@ -66,6 +68,7 @@ Two color spaces are added: `ColorHSLUVa` and `ColorHPLUVa`, they are an impleme
|
|||||||
### colormap/DemoSpectralZucconiColormapPlot
|
### colormap/DemoSpectralZucconiColormapPlot
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormap/DemoSpectralZucconiColormapPlot.kt)
|
[source code](src/jvmDemo/kotlin/colormap/DemoSpectralZucconiColormapPlot.kt)
|
||||||
@@ -73,6 +76,7 @@ Two color spaces are added: `ColorHSLUVa` and `ColorHPLUVa`, they are an impleme
|
|||||||
### colormap/DemoTurboColormap
|
### colormap/DemoTurboColormap
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormap/DemoTurboColormap.kt)
|
[source code](src/jvmDemo/kotlin/colormap/DemoTurboColormap.kt)
|
||||||
@@ -80,6 +84,7 @@ Two color spaces are added: `ColorHSLUVa` and `ColorHPLUVa`, they are an impleme
|
|||||||
### colormap/DemoTurboColormapPhrase
|
### colormap/DemoTurboColormapPhrase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormap/DemoTurboColormapPhrase.kt)
|
[source code](src/jvmDemo/kotlin/colormap/DemoTurboColormapPhrase.kt)
|
||||||
@@ -87,6 +92,7 @@ Two color spaces are added: `ColorHSLUVa` and `ColorHPLUVa`, they are an impleme
|
|||||||
### colormap/DemoTurboColormapPlot
|
### colormap/DemoTurboColormapPlot
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormap/DemoTurboColormapPlot.kt)
|
[source code](src/jvmDemo/kotlin/colormap/DemoTurboColormapPlot.kt)
|
||||||
@@ -103,6 +109,7 @@ Functionality:
|
|||||||
- Splits the drawing area into an evenly spaced 4x2 grid.
|
- Splits the drawing area into an evenly spaced 4x2 grid.
|
||||||
- Applies different color matrix inversions (red, green, blue) based on the position index.
|
- Applies different color matrix inversions (red, green, blue) based on the position index.
|
||||||
- Fits the image into each grid cell while providing horizontal alignment adjustments.
|
- Fits the image into each grid cell while providing horizontal alignment adjustments.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix01.kt)
|
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix01.kt)
|
||||||
@@ -119,6 +126,7 @@ Functionality:
|
|||||||
- Splits the drawing area into an evenly spaced 4x2 grid.
|
- Splits the drawing area into an evenly spaced 4x2 grid.
|
||||||
- Applies different color matrix inversions (red, green, blue) based on the position index.
|
- Applies different color matrix inversions (red, green, blue) based on the position index.
|
||||||
- Fits the image into each grid cell while providing horizontal alignment adjustments.
|
- Fits the image into each grid cell while providing horizontal alignment adjustments.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix02.kt)
|
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix02.kt)
|
||||||
@@ -137,6 +145,7 @@ Key features:
|
|||||||
- Applies a color tint transformation utilizing the red channel, shifting its hue progressively
|
- Applies a color tint transformation utilizing the red channel, shifting its hue progressively
|
||||||
per cell index to create a colorful gradient effect.
|
per cell index to create a colorful gradient effect.
|
||||||
- Adjusts the positions of the images within each grid cell for aesthetic alignment.
|
- Adjusts the positions of the images within each grid cell for aesthetic alignment.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix03.kt)
|
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix03.kt)
|
||||||
@@ -155,6 +164,7 @@ a color matrix. The grayscale transformation coefficients for red, green, and bl
|
|||||||
channels are computed based on the index of the grid cell.
|
channels are computed based on the index of the grid cell.
|
||||||
- Displays the adjusted image in each grid cell with horizontal alignment modifications
|
- Displays the adjusted image in each grid cell with horizontal alignment modifications
|
||||||
to position the images dynamically based on their index within the grid.
|
to position the images dynamically based on their index within the grid.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix04.kt)
|
[source code](src/jvmDemo/kotlin/colormatrix/DemoColorMatrix04.kt)
|
||||||
@@ -162,6 +172,7 @@ to position the images dynamically based on their index within the grid.
|
|||||||
### colorRange/DemoColorRange01
|
### colorRange/DemoColorRange01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange01.kt)
|
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange01.kt)
|
||||||
@@ -169,6 +180,7 @@ to position the images dynamically based on their index within the grid.
|
|||||||
### colorRange/DemoColorRange02
|
### colorRange/DemoColorRange02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange02.kt)
|
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange02.kt)
|
||||||
@@ -176,6 +188,7 @@ to position the images dynamically based on their index within the grid.
|
|||||||
### colorRange/DemoColorRange03
|
### colorRange/DemoColorRange03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange03.kt)
|
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange03.kt)
|
||||||
@@ -183,6 +196,7 @@ to position the images dynamically based on their index within the grid.
|
|||||||
### colorRange/DemoColorRange04
|
### colorRange/DemoColorRange04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange04.kt)
|
[source code](src/jvmDemo/kotlin/colorRange/DemoColorRange04.kt)
|
||||||
@@ -190,6 +204,7 @@ to position the images dynamically based on their index within the grid.
|
|||||||
### DemoColorPalette01
|
### DemoColorPalette01
|
||||||
|
|
||||||
Demonstrates the creation of color palettes using various available methods
|
Demonstrates the creation of color palettes using various available methods
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorPalette01.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorPalette01.kt)
|
||||||
@@ -200,6 +215,7 @@ By default, generated palettes contain colors of varying hue
|
|||||||
but similar brightness and saturation.
|
but similar brightness and saturation.
|
||||||
Here we alter the brightness of each color using .shade() for
|
Here we alter the brightness of each color using .shade() for
|
||||||
an increased dynamic range.
|
an increased dynamic range.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorPalette02.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorPalette02.kt)
|
||||||
@@ -207,6 +223,7 @@ an increased dynamic range.
|
|||||||
### DemoColorPlane01
|
### DemoColorPlane01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorPlane01.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorPlane01.kt)
|
||||||
@@ -214,6 +231,7 @@ an increased dynamic range.
|
|||||||
### DemoColorPlane02
|
### DemoColorPlane02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorPlane02.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorPlane02.kt)
|
||||||
@@ -231,6 +249,7 @@ The rendering process includes:
|
|||||||
- Setting up an orbital camera extension to provide an interactive 3D view.
|
- Setting up an orbital camera extension to provide an interactive 3D view.
|
||||||
- Applying a custom fragment shader with a palette-based shading style.
|
- Applying a custom fragment shader with a palette-based shading style.
|
||||||
- Rendering a grid of 3D spheres, each transformed and rotated to create a dynamic pattern.
|
- Rendering a grid of 3D spheres, each transformed and rotated to create a dynamic pattern.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorSequence01.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorSequence01.kt)
|
||||||
@@ -238,6 +257,7 @@ The rendering process includes:
|
|||||||
### DemoDeltaE
|
### DemoDeltaE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDeltaE.kt)
|
[source code](src/jvmDemo/kotlin/DemoDeltaE.kt)
|
||||||
@@ -245,6 +265,7 @@ The rendering process includes:
|
|||||||
### DemoFettePalette01
|
### DemoFettePalette01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFettePalette01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFettePalette01.kt)
|
||||||
@@ -252,6 +273,7 @@ The rendering process includes:
|
|||||||
### DemoFettePalette02
|
### DemoFettePalette02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFettePalette02.kt)
|
[source code](src/jvmDemo/kotlin/DemoFettePalette02.kt)
|
||||||
@@ -259,6 +281,7 @@ The rendering process includes:
|
|||||||
### DemoHSLUV01
|
### DemoHSLUV01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoHSLUV01.kt)
|
[source code](src/jvmDemo/kotlin/DemoHSLUV01.kt)
|
||||||
@@ -266,6 +289,7 @@ The rendering process includes:
|
|||||||
### DemoHSLUV02
|
### DemoHSLUV02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoHSLUV02.kt)
|
[source code](src/jvmDemo/kotlin/DemoHSLUV02.kt)
|
||||||
@@ -273,6 +297,7 @@ The rendering process includes:
|
|||||||
### DemoHueTools01
|
### DemoHueTools01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoHueTools01.kt)
|
[source code](src/jvmDemo/kotlin/DemoHueTools01.kt)
|
||||||
@@ -280,6 +305,7 @@ The rendering process includes:
|
|||||||
### DemoMixSpectral01
|
### DemoMixSpectral01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoMixSpectral01.kt)
|
[source code](src/jvmDemo/kotlin/DemoMixSpectral01.kt)
|
||||||
@@ -287,6 +313,7 @@ The rendering process includes:
|
|||||||
### DemoOKHSV01
|
### DemoOKHSV01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoOKHSV01.kt)
|
[source code](src/jvmDemo/kotlin/DemoOKHSV01.kt)
|
||||||
@@ -294,6 +321,7 @@ The rendering process includes:
|
|||||||
### DemoXSLUV01
|
### DemoXSLUV01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoXSLUV01.kt)
|
[source code](src/jvmDemo/kotlin/DemoXSLUV01.kt)
|
||||||
@@ -310,6 +338,7 @@ import org.openrndr.extra.color.statistics.calculateHistogramRGB
|
|||||||
Demonstrates how to generate a palette with the top 32 colors
|
Demonstrates how to generate a palette with the top 32 colors
|
||||||
of a loaded image, sorted by luminosity. The colors are displayed
|
of a loaded image, sorted by luminosity. The colors are displayed
|
||||||
as rectangles overlayed on top of the image.
|
as rectangles overlayed on top of the image.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/histogram/DemoHistogram01.kt)
|
[source code](src/jvmDemo/kotlin/histogram/DemoHistogram01.kt)
|
||||||
@@ -326,6 +355,7 @@ import kotlin.math.pow
|
|||||||
/*
|
/*
|
||||||
Show the color histogram of an image using non-uniform weighting,
|
Show the color histogram of an image using non-uniform weighting,
|
||||||
prioritizing bright colors.
|
prioritizing bright colors.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/histogram/DemoHistogram02.kt)
|
[source code](src/jvmDemo/kotlin/histogram/DemoHistogram02.kt)
|
||||||
@@ -344,6 +374,7 @@ The cells are 32 by 32 pixels in size and are filled with a random sample
|
|||||||
taken from the color histogram of the image.
|
taken from the color histogram of the image.
|
||||||
|
|
||||||
Note: due to its random nature the resulting animation contains flickering colors.
|
Note: due to its random nature the resulting animation contains flickering colors.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/histogram/DemoHistogram03.kt)
|
[source code](src/jvmDemo/kotlin/histogram/DemoHistogram03.kt)
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ Demonstrates how to
|
|||||||
- Draw it on the program window
|
- Draw it on the program window
|
||||||
- Save it to an SVG file
|
- Save it to an SVG file
|
||||||
- Print the SVG content as text
|
- Print the SVG content as text
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer01.kt)
|
||||||
@@ -37,6 +38,7 @@ The first shape clips part of the second one away,
|
|||||||
producing a shape that seems to be behind the first one.
|
producing a shape that seems to be behind the first one.
|
||||||
|
|
||||||
Without clipping, the second circle would cover part of the first one.
|
Without clipping, the second circle would cover part of the first one.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer02.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer02.kt)
|
||||||
@@ -51,6 +53,7 @@ a complete circle, a moon-like shape, and a shape with two small black areas.
|
|||||||
One way to verify this is by saving the design as an SVG file and opening
|
One way to verify this is by saving the design as an SVG file and opening
|
||||||
it in vector editing software.
|
it in vector editing software.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer03.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer03.kt)
|
||||||
@@ -62,6 +65,7 @@ Demonstrates how to add content to and how to clear an existing Composition.
|
|||||||
A number of circles are added when the program starts.
|
A number of circles are added when the program starts.
|
||||||
Dragging the mouse button adds more circles.
|
Dragging the mouse button adds more circles.
|
||||||
Right-clicking the mouse clears the Composition.
|
Right-clicking the mouse clears the Composition.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer04.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer04.kt)
|
||||||
@@ -72,6 +76,7 @@ Demonstrates how to
|
|||||||
|
|
||||||
- Create a Composition with a group
|
- Create a Composition with a group
|
||||||
- Add XML attributes so the group appears as a layer in Inkscape
|
- Add XML attributes so the group appears as a layer in Inkscape
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer05.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositionDrawer05.kt)
|
||||||
|
|||||||
@@ -240,6 +240,7 @@ fun main() = application {
|
|||||||
### DemoAside01
|
### DemoAside01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoAside01.kt)
|
[source code](src/jvmDemo/kotlin/DemoAside01.kt)
|
||||||
@@ -249,6 +250,7 @@ fun main() = application {
|
|||||||
Compositor demo showing 3 layers of moving items
|
Compositor demo showing 3 layers of moving items
|
||||||
with a different amount of blur in each layer,
|
with a different amount of blur in each layer,
|
||||||
simulating depth of field
|
simulating depth of field
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositor01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositor01.kt)
|
||||||
@@ -257,6 +259,7 @@ simulating depth of field
|
|||||||
|
|
||||||
Demonstration of using [BufferMultisample] on a per layer basis.
|
Demonstration of using [BufferMultisample] on a per layer basis.
|
||||||
Try changing which layer has multisampling applied and observe the results.
|
Try changing which layer has multisampling applied and observe the results.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositor02.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositor02.kt)
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ val radiusHistory by tracking(state::radius)
|
|||||||
### DemoDifferencing01
|
### DemoDifferencing01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDifferencing01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDifferencing01.kt)
|
||||||
@@ -69,6 +70,7 @@ The second one contains `Property` in its name and can be
|
|||||||
modified after its creation and even be linked to a UI
|
modified after its creation and even be linked to a UI
|
||||||
to modify the behavior of the delegate function in real time.
|
to modify the behavior of the delegate function in real time.
|
||||||
The `Property` argument overrides the other.
|
The `Property` argument overrides the other.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFollowing01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFollowing01.kt)
|
||||||
@@ -76,6 +78,7 @@ The `Property` argument overrides the other.
|
|||||||
### DemoSmoothing01
|
### DemoSmoothing01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoSmoothing01.kt)
|
[source code](src/jvmDemo/kotlin/DemoSmoothing01.kt)
|
||||||
@@ -83,6 +86,7 @@ The `Property` argument overrides the other.
|
|||||||
### DemoSpring01
|
### DemoSpring01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoSpring01.kt)
|
[source code](src/jvmDemo/kotlin/DemoSpring01.kt)
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ println(Easing.values().size)
|
|||||||
|
|
||||||
[grid] is used to layout graphs on rows and columns.
|
[grid] is used to layout graphs on rows and columns.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoEasings01.kt)
|
[source code](src/jvmDemo/kotlin/DemoEasings01.kt)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ Attack, decay, sustain, release
|
|||||||
### DemoADSRTracker01
|
### DemoADSRTracker01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoADSRTracker01.kt)
|
[source code](src/jvmDemo/kotlin/DemoADSRTracker01.kt)
|
||||||
@@ -17,6 +18,7 @@ Attack, decay, sustain, release
|
|||||||
### DemoADSRTracker02
|
### DemoADSRTracker02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoADSRTracker02.kt)
|
[source code](src/jvmDemo/kotlin/DemoADSRTracker02.kt)
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ xFunction(1.0)
|
|||||||
### DemoExpressionEvaluator01
|
### DemoExpressionEvaluator01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExpressionEvaluator01.kt)
|
[source code](src/jvmDemo/kotlin/DemoExpressionEvaluator01.kt)
|
||||||
@@ -93,6 +94,7 @@ xFunction(1.0)
|
|||||||
|
|
||||||
Improved version of DemoExpressionEvaluator01, it uses [watchingExpression1] to automatically convert an expression
|
Improved version of DemoExpressionEvaluator01, it uses [watchingExpression1] to automatically convert an expression
|
||||||
string into a function with a parameter "t".
|
string into a function with a parameter "t".
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExpressionEvaluator02.kt)
|
[source code](src/jvmDemo/kotlin/DemoExpressionEvaluator02.kt)
|
||||||
|
|||||||
@@ -203,6 +203,7 @@ For example `(M0 (h1 m1)[3])[2]` expands to `M0 h1 m1 h1 m1 h1 m1 M0 h1 m1 h1 m1
|
|||||||
### DemoFCurve01
|
### DemoFCurve01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFCurve01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFCurve01.kt)
|
||||||
@@ -210,6 +211,7 @@ For example `(M0 (h1 m1)[3])[2]` expands to `M0 h1 m1 h1 m1 h1 m1 M0 h1 m1 h1 m1
|
|||||||
### DemoFCurve02
|
### DemoFCurve02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFCurve02.kt)
|
[source code](src/jvmDemo/kotlin/DemoFCurve02.kt)
|
||||||
@@ -217,6 +219,7 @@ For example `(M0 (h1 m1)[3])[2]` expands to `M0 h1 m1 h1 m1 h1 m1 M0 h1 m1 h1 m1
|
|||||||
### DemoFCurveSheet01
|
### DemoFCurveSheet01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFCurveSheet01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFCurveSheet01.kt)
|
||||||
@@ -224,6 +227,7 @@ For example `(M0 (h1 m1)[3])[2]` expands to `M0 h1 m1 h1 m1 h1 m1 M0 h1 m1 h1 m1
|
|||||||
### DemoMultiFCurve01
|
### DemoMultiFCurve01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoMultiFCurve01.kt)
|
[source code](src/jvmDemo/kotlin/DemoMultiFCurve01.kt)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ The FFT routine found in `orx-fft` is a Kotlin port of Minim's FFT routine.
|
|||||||
|
|
||||||
Demonstration of using FFT to filter a two-dimensional shape. Mouse xy-position is mapped
|
Demonstration of using FFT to filter a two-dimensional shape. Mouse xy-position is mapped
|
||||||
to lowpass and highpass settings of the filter.
|
to lowpass and highpass settings of the filter.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFFTShape01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFFTShape01.kt)
|
||||||
|
|||||||
@@ -196,6 +196,7 @@ shaping `curve` within this range:
|
|||||||
### DemoApproximateGaussianBlur01
|
### DemoApproximateGaussianBlur01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoApproximateGaussianBlur01.kt)
|
[source code](src/jvmDemo/kotlin/DemoApproximateGaussianBlur01.kt)
|
||||||
@@ -203,6 +204,7 @@ shaping `curve` within this range:
|
|||||||
### DemoBlur01
|
### DemoBlur01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoBlur01.kt)
|
[source code](src/jvmDemo/kotlin/DemoBlur01.kt)
|
||||||
@@ -210,6 +212,7 @@ shaping `curve` within this range:
|
|||||||
### DemoCannyEdgeDetector01
|
### DemoCannyEdgeDetector01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCannyEdgeDetector01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCannyEdgeDetector01.kt)
|
||||||
@@ -217,6 +220,7 @@ shaping `curve` within this range:
|
|||||||
### DemoColorDuotone01
|
### DemoColorDuotone01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorDuotone01.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorDuotone01.kt)
|
||||||
@@ -224,6 +228,7 @@ shaping `curve` within this range:
|
|||||||
### DemoColorDuotoneGradient01
|
### DemoColorDuotoneGradient01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorDuotoneGradient01.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorDuotoneGradient01.kt)
|
||||||
@@ -231,6 +236,7 @@ shaping `curve` within this range:
|
|||||||
### DemoColormapGrayscale
|
### DemoColormapGrayscale
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColormapGrayscale.kt)
|
[source code](src/jvmDemo/kotlin/DemoColormapGrayscale.kt)
|
||||||
@@ -238,6 +244,7 @@ shaping `curve` within this range:
|
|||||||
### DemoColormapSpectralZucconi
|
### DemoColormapSpectralZucconi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColormapSpectralZucconi.kt)
|
[source code](src/jvmDemo/kotlin/DemoColormapSpectralZucconi.kt)
|
||||||
@@ -245,6 +252,7 @@ shaping `curve` within this range:
|
|||||||
### DemoColormapTurbo
|
### DemoColormapTurbo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColormapTurbo.kt)
|
[source code](src/jvmDemo/kotlin/DemoColormapTurbo.kt)
|
||||||
@@ -252,6 +260,7 @@ shaping `curve` within this range:
|
|||||||
### DemoColorPosterize01
|
### DemoColorPosterize01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoColorPosterize01.kt)
|
[source code](src/jvmDemo/kotlin/DemoColorPosterize01.kt)
|
||||||
@@ -259,6 +268,7 @@ shaping `curve` within this range:
|
|||||||
### DemoCompositeFilter01
|
### DemoCompositeFilter01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCompositeFilter01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCompositeFilter01.kt)
|
||||||
@@ -267,6 +277,7 @@ shaping `curve` within this range:
|
|||||||
|
|
||||||
Demonstrate the Contour filter
|
Demonstrate the Contour filter
|
||||||
@author Edwin Jakobs
|
@author Edwin Jakobs
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoContour01.kt)
|
[source code](src/jvmDemo/kotlin/DemoContour01.kt)
|
||||||
@@ -284,6 +295,7 @@ so sampling can happen from every direction.
|
|||||||
Every 60 animation frames the `centerWindow` property is toggled
|
Every 60 animation frames the `centerWindow` property is toggled
|
||||||
between true and false to demonstrate how the result changes.
|
between true and false to demonstrate how the result changes.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDirectionalBlur01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDirectionalBlur01.kt)
|
||||||
@@ -297,6 +309,7 @@ pixel by pixel. A grid of circles is drawn, each circle with a
|
|||||||
color based on simplex noise. The R and G channels of the colors
|
color based on simplex noise. The R and G channels of the colors
|
||||||
control the direction of the sampling. By animating the sampling
|
control the direction of the sampling. By animating the sampling
|
||||||
distance the result oscillates between no-effect and a noticeable one.
|
distance the result oscillates between no-effect and a noticeable one.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDirectionalDisplace01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDirectionalDisplace01.kt)
|
||||||
@@ -309,6 +322,7 @@ The program draws 12 overlapping translucent circles on the
|
|||||||
`direction` color buffer to produce new color combinations
|
`direction` color buffer to produce new color combinations
|
||||||
on the overlapping areas. Those colors specify where the
|
on the overlapping areas. Those colors specify where the
|
||||||
`DirectionalDisplace` effect will sample pixels from.
|
`DirectionalDisplace` effect will sample pixels from.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDirectionalDisplace02.kt)
|
[source code](src/jvmDemo/kotlin/DemoDirectionalDisplace02.kt)
|
||||||
@@ -316,6 +330,7 @@ on the overlapping areas. Those colors specify where the
|
|||||||
### DemoDistortLenses01
|
### DemoDistortLenses01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDistortLenses01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDistortLenses01.kt)
|
||||||
@@ -323,6 +338,7 @@ on the overlapping areas. Those colors specify where the
|
|||||||
### DemoDitherLumaHalftone01
|
### DemoDitherLumaHalftone01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDitherLumaHalftone01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDitherLumaHalftone01.kt)
|
||||||
@@ -330,6 +346,7 @@ on the overlapping areas. Those colors specify where the
|
|||||||
### DemoFluidDistort01
|
### DemoFluidDistort01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFluidDistort01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFluidDistort01.kt)
|
||||||
@@ -338,6 +355,7 @@ on the overlapping areas. Those colors specify where the
|
|||||||
|
|
||||||
This demonstrates converting a [ColorBuffer] from and to (OK)LAB color space using the [RgbToOkLab] and [OkLabToRgb]
|
This demonstrates converting a [ColorBuffer] from and to (OK)LAB color space using the [RgbToOkLab] and [OkLabToRgb]
|
||||||
filters. The (OK)Lab representation is signed and requires a floating point representation.
|
filters. The (OK)Lab representation is signed and requires a floating point representation.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoOkLab01.kt)
|
[source code](src/jvmDemo/kotlin/DemoOkLab01.kt)
|
||||||
@@ -345,6 +363,7 @@ filters. The (OK)Lab representation is signed and requires a floating point repr
|
|||||||
### DemoPost01
|
### DemoPost01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoPost01.kt)
|
[source code](src/jvmDemo/kotlin/DemoPost01.kt)
|
||||||
@@ -352,6 +371,7 @@ filters. The (OK)Lab representation is signed and requires a floating point repr
|
|||||||
### DemoSpectralBlend01
|
### DemoSpectralBlend01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoSpectralBlend01.kt)
|
[source code](src/jvmDemo/kotlin/DemoSpectralBlend01.kt)
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ The program performs the following steps:
|
|||||||
- Generates 10,000 random points uniformly distributed within the drawable bounds.
|
- Generates 10,000 random points uniformly distributed within the drawable bounds.
|
||||||
- Filters the generated points to enforce a minimum distance of 20.0 units between them.
|
- Filters the generated points to enforce a minimum distance of 20.0 units between them.
|
||||||
- Visualizes the filtered points as circles with a radius of 10.0 units on the canvas.
|
- Visualizes the filtered points as circles with a radius of 10.0 units on the canvas.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFilter01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFilter01.kt)
|
||||||
@@ -88,6 +89,7 @@ The program performs the following key steps:
|
|||||||
- Creates a small sphere mesh that will be instanced for each filtered point.
|
- Creates a small sphere mesh that will be instanced for each filtered point.
|
||||||
- Sets up an orbital camera to allow viewing the 3D scene interactively.
|
- Sets up an orbital camera to allow viewing the 3D scene interactively.
|
||||||
- Renders the filtered points by translating the sphere mesh to each point's position and applying a shader that modifies the fragment color based on the view normal.
|
- Renders the filtered points by translating the sphere mesh to each point's position and applying a shader that modifies the fragment color based on the view normal.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFilter3D01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFilter3D01.kt)
|
||||||
@@ -101,6 +103,7 @@ points are then inserted into the grid if they satisfy certain spatial condition
|
|||||||
The visual output includes:
|
The visual output includes:
|
||||||
- Rectangles representing the bounds of the cells in the grid.
|
- Rectangles representing the bounds of the cells in the grid.
|
||||||
- Circles representing the generated points.
|
- Circles representing the generated points.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoHashGrid01.kt)
|
[source code](src/jvmDemo/kotlin/DemoHashGrid01.kt)
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ fun main() = application {
|
|||||||
### DemoImageFit01
|
### DemoImageFit01
|
||||||
|
|
||||||
Tests `drawer.imageFit()` with all FitMethods for portrait and landscape images.
|
Tests `drawer.imageFit()` with all FitMethods for portrait and landscape images.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoImageFit01.kt)
|
[source code](src/jvmDemo/kotlin/DemoImageFit01.kt)
|
||||||
@@ -80,6 +81,7 @@ Tests `drawer.imageFit()` with all FitMethods for portrait and landscape images.
|
|||||||
### DemoImageFitSub01
|
### DemoImageFitSub01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoImageFitSub01.kt)
|
[source code](src/jvmDemo/kotlin/DemoImageFitSub01.kt)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ CPU and GPU-based implementation for integral images (summed area tables)
|
|||||||
### DemoFII01
|
### DemoFII01
|
||||||
|
|
||||||
Apply box blurs with large windows
|
Apply box blurs with large windows
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoFII01.kt)
|
[source code](src/demo/kotlin/DemoFII01.kt)
|
||||||
@@ -14,6 +15,7 @@ Apply box blurs with large windows
|
|||||||
### DemoFII02
|
### DemoFII02
|
||||||
|
|
||||||
Implement an FM like video synthesizer using [FastIntegralImage]
|
Implement an FM like video synthesizer using [FastIntegralImage]
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoFII02.kt)
|
[source code](src/demo/kotlin/DemoFII02.kt)
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ then applies the DirectionalField filter which returns a [ColorBuffer] in which
|
|||||||
the red and green components encode the direction to the closest black/white edge.
|
the red and green components encode the direction to the closest black/white edge.
|
||||||
|
|
||||||
Hold down a mouse button to see the raw animation.
|
Hold down a mouse button to see the raw animation.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDirectionField01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDirectionField01.kt)
|
||||||
@@ -170,6 +171,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoDirectionField02
|
### DemoDirectionField02
|
||||||
|
|
||||||
Create directional distance field and demonstrate signed distance
|
Create directional distance field and demonstrate signed distance
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDirectionField02.kt)
|
[source code](src/jvmDemo/kotlin/DemoDirectionField02.kt)
|
||||||
@@ -189,6 +191,7 @@ between two colors.
|
|||||||
The inverse of the distance is used to obtain a non-linear brightness.
|
The inverse of the distance is used to obtain a non-linear brightness.
|
||||||
|
|
||||||
Hold down a mouse button to see the raw animation.
|
Hold down a mouse button to see the raw animation.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDistanceField01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDistanceField01.kt)
|
||||||
@@ -196,6 +199,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoInnerGlow01
|
### DemoInnerGlow01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoInnerGlow01.kt)
|
[source code](src/jvmDemo/kotlin/DemoInnerGlow01.kt)
|
||||||
@@ -203,6 +207,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoInnerGlow02
|
### DemoInnerGlow02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoInnerGlow02.kt)
|
[source code](src/jvmDemo/kotlin/DemoInnerGlow02.kt)
|
||||||
@@ -210,6 +215,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoShapeSDF01
|
### DemoShapeSDF01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoShapeSDF01.kt)
|
[source code](src/jvmDemo/kotlin/DemoShapeSDF01.kt)
|
||||||
@@ -217,6 +223,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoShapeSDF02
|
### DemoShapeSDF02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoShapeSDF02.kt)
|
[source code](src/jvmDemo/kotlin/DemoShapeSDF02.kt)
|
||||||
@@ -224,6 +231,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoShapeSDF03
|
### DemoShapeSDF03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoShapeSDF03.kt)
|
[source code](src/jvmDemo/kotlin/DemoShapeSDF03.kt)
|
||||||
@@ -231,6 +239,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoShapeSDF04
|
### DemoShapeSDF04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoShapeSDF04.kt)
|
[source code](src/jvmDemo/kotlin/DemoShapeSDF04.kt)
|
||||||
@@ -238,6 +247,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoShapeSDF05
|
### DemoShapeSDF05
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoShapeSDF05.kt)
|
[source code](src/jvmDemo/kotlin/DemoShapeSDF05.kt)
|
||||||
@@ -245,6 +255,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoSkeleton01
|
### DemoSkeleton01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoSkeleton01.kt)
|
[source code](src/jvmDemo/kotlin/DemoSkeleton01.kt)
|
||||||
@@ -252,6 +263,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoStraightSkeleton01
|
### DemoStraightSkeleton01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoStraightSkeleton01.kt)
|
[source code](src/jvmDemo/kotlin/DemoStraightSkeleton01.kt)
|
||||||
@@ -259,6 +271,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoVoronoi01
|
### DemoVoronoi01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoVoronoi01.kt)
|
[source code](src/jvmDemo/kotlin/DemoVoronoi01.kt)
|
||||||
@@ -266,6 +279,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoVoronoi02
|
### DemoVoronoi02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoVoronoi02.kt)
|
[source code](src/jvmDemo/kotlin/DemoVoronoi02.kt)
|
||||||
@@ -273,6 +287,7 @@ Hold down a mouse button to see the raw animation.
|
|||||||
### DemoVoronoi03
|
### DemoVoronoi03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoVoronoi03.kt)
|
[source code](src/jvmDemo/kotlin/DemoVoronoi03.kt)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ Key features:
|
|||||||
- Builds a KD-tree from the list of points for optimized spatial querying.
|
- Builds a KD-tree from the list of points for optimized spatial querying.
|
||||||
- Visualizes the points and highlights the 7 nearest neighbors to the user's cursor position dynamically.
|
- Visualizes the points and highlights the 7 nearest neighbors to the user's cursor position dynamically.
|
||||||
- Highlights include red-colored circles around the nearest points and red lines connecting them to the cursor.
|
- Highlights include red-colored circles around the nearest points and red lines connecting them to the cursor.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoKNearestNeighbour01.kt)
|
[source code](src/jvmDemo/kotlin/DemoKNearestNeighbour01.kt)
|
||||||
@@ -32,6 +33,7 @@ Key functionality:
|
|||||||
Highlights:
|
Highlights:
|
||||||
- KD-tree structure enables efficient nearest-neighbor searches.
|
- KD-tree structure enables efficient nearest-neighbor searches.
|
||||||
- The nearest point to the cursor is determined and visually emphasized in real-time as the cursor moves.
|
- The nearest point to the cursor is determined and visually emphasized in real-time as the cursor moves.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoNearestNeighbour01.kt)
|
[source code](src/jvmDemo/kotlin/DemoNearestNeighbour01.kt)
|
||||||
@@ -49,6 +51,7 @@ Key features:
|
|||||||
- Dynamically highlights points within a specified radius (50.0) from the cursor position.
|
- Dynamically highlights points within a specified radius (50.0) from the cursor position.
|
||||||
- Visualizes the current query radius around the cursor as an outline circle.
|
- Visualizes the current query radius around the cursor as an outline circle.
|
||||||
- Uses different fill and stroke styles to distinguish highlighted points and query visuals.
|
- Uses different fill and stroke styles to distinguish highlighted points and query visuals.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoRangeQuery01.kt)
|
[source code](src/jvmDemo/kotlin/DemoRangeQuery01.kt)
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ drawer.contours(contours)
|
|||||||
### FindContours01
|
### FindContours01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/FindContours01.kt)
|
[source code](src/jvmDemo/kotlin/FindContours01.kt)
|
||||||
@@ -31,6 +32,7 @@ drawer.contours(contours)
|
|||||||
### FindContours02
|
### FindContours02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/FindContours02.kt)
|
[source code](src/jvmDemo/kotlin/FindContours02.kt)
|
||||||
@@ -38,6 +40,7 @@ drawer.contours(contours)
|
|||||||
### FindContours03
|
### FindContours03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/FindContours03.kt)
|
[source code](src/jvmDemo/kotlin/FindContours03.kt)
|
||||||
@@ -45,6 +48,7 @@ drawer.contours(contours)
|
|||||||
### FindContours04
|
### FindContours04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/FindContours04.kt)
|
[source code](src/jvmDemo/kotlin/FindContours04.kt)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Mathematical utilities
|
|||||||
### linearrange/DemoLinearRange02
|
### linearrange/DemoLinearRange02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/linearrange/DemoLinearRange02.kt)
|
[source code](src/jvmDemo/kotlin/linearrange/DemoLinearRange02.kt)
|
||||||
@@ -13,6 +14,7 @@ Mathematical utilities
|
|||||||
### linearrange/DemoLinearRange03
|
### linearrange/DemoLinearRange03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/linearrange/DemoLinearRange03.kt)
|
[source code](src/jvmDemo/kotlin/linearrange/DemoLinearRange03.kt)
|
||||||
@@ -25,6 +27,7 @@ Line drawn in red is the estimated line, in green is the ground-truth line
|
|||||||
Ax = b => x = A⁻¹b
|
Ax = b => x = A⁻¹b
|
||||||
because A is likely inconsistent, we look for an approximate x based on AᵀA, which is consistent.
|
because A is likely inconsistent, we look for an approximate x based on AᵀA, which is consistent.
|
||||||
x̂ = (AᵀA)⁻¹ Aᵀb
|
x̂ = (AᵀA)⁻¹ Aᵀb
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/matrix/DemoLeastSquares01.kt)
|
[source code](src/jvmDemo/kotlin/matrix/DemoLeastSquares01.kt)
|
||||||
@@ -32,6 +35,7 @@ x̂ = (AᵀA)⁻¹ Aᵀb
|
|||||||
### matrix/DemoLeastSquares02
|
### matrix/DemoLeastSquares02
|
||||||
|
|
||||||
Demonstrate least squares method to fit a cubic bezier to noisy points
|
Demonstrate least squares method to fit a cubic bezier to noisy points
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/matrix/DemoLeastSquares02.kt)
|
[source code](src/jvmDemo/kotlin/matrix/DemoLeastSquares02.kt)
|
||||||
@@ -39,6 +43,7 @@ Demonstrate least squares method to fit a cubic bezier to noisy points
|
|||||||
### rbf/RbfInterpolation01
|
### rbf/RbfInterpolation01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rbf/RbfInterpolation01.kt)
|
[source code](src/jvmDemo/kotlin/rbf/RbfInterpolation01.kt)
|
||||||
@@ -46,6 +51,7 @@ Demonstrate least squares method to fit a cubic bezier to noisy points
|
|||||||
### rbf/RbfInterpolation02
|
### rbf/RbfInterpolation02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rbf/RbfInterpolation02.kt)
|
[source code](src/jvmDemo/kotlin/rbf/RbfInterpolation02.kt)
|
||||||
@@ -53,6 +59,7 @@ Demonstrate least squares method to fit a cubic bezier to noisy points
|
|||||||
### simplexrange/DemoSimplexRange3D01
|
### simplexrange/DemoSimplexRange3D01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexRange3D01.kt)
|
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexRange3D01.kt)
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ Check out the [source code](src/commonMain/kotlin) to learn about function argum
|
|||||||
|
|
||||||
Demonstrate decal generator as an object slicer
|
Demonstrate decal generator as an object slicer
|
||||||
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-mesh-generators/images/decal-DemoDecal01Kt.png">
|
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-mesh-generators/images/decal-DemoDecal01Kt.png">
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/decal/DemoDecal01.kt)
|
[source code](src/jvmDemo/kotlin/decal/DemoDecal01.kt)
|
||||||
@@ -97,6 +98,7 @@ Demonstrate decal generator as an object slicer
|
|||||||
|
|
||||||
Demonstrate decal generation and rendering
|
Demonstrate decal generation and rendering
|
||||||
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-mesh-generators/images/decal-DemoDecal02Kt.png">
|
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-mesh-generators/images/decal-DemoDecal02Kt.png">
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/decal/DemoDecal02.kt)
|
[source code](src/jvmDemo/kotlin/decal/DemoDecal02.kt)
|
||||||
@@ -104,6 +106,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoAll
|
### DemoAll
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoAll.kt)
|
[source code](src/jvmDemo/kotlin/DemoAll.kt)
|
||||||
@@ -111,6 +114,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoBox
|
### DemoBox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoBox.kt)
|
[source code](src/jvmDemo/kotlin/DemoBox.kt)
|
||||||
@@ -118,6 +122,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoComplex01
|
### DemoComplex01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoComplex01.kt)
|
[source code](src/jvmDemo/kotlin/DemoComplex01.kt)
|
||||||
@@ -125,6 +130,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoComplex02
|
### DemoComplex02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoComplex02.kt)
|
[source code](src/jvmDemo/kotlin/DemoComplex02.kt)
|
||||||
@@ -132,6 +138,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoComplex03
|
### DemoComplex03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoComplex03.kt)
|
[source code](src/jvmDemo/kotlin/DemoComplex03.kt)
|
||||||
@@ -139,6 +146,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoComplex04
|
### DemoComplex04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoComplex04.kt)
|
[source code](src/jvmDemo/kotlin/DemoComplex04.kt)
|
||||||
@@ -146,6 +154,7 @@ Demonstrate decal generation and rendering
|
|||||||
### DemoComplex05
|
### DemoComplex05
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoComplex05.kt)
|
[source code](src/jvmDemo/kotlin/DemoComplex05.kt)
|
||||||
@@ -155,6 +164,7 @@ Demonstrate decal generation and rendering
|
|||||||
Generates a grid of grids of boxes.
|
Generates a grid of grids of boxes.
|
||||||
Interactive orbital camera.
|
Interactive orbital camera.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoComplex06.kt)
|
[source code](src/jvmDemo/kotlin/DemoComplex06.kt)
|
||||||
@@ -162,6 +172,7 @@ Interactive orbital camera.
|
|||||||
### DemoExtrude01
|
### DemoExtrude01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExtrude01.kt)
|
[source code](src/jvmDemo/kotlin/DemoExtrude01.kt)
|
||||||
@@ -169,6 +180,7 @@ Interactive orbital camera.
|
|||||||
### DemoExtrude02
|
### DemoExtrude02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExtrude02.kt)
|
[source code](src/jvmDemo/kotlin/DemoExtrude02.kt)
|
||||||
@@ -176,6 +188,7 @@ Interactive orbital camera.
|
|||||||
### DemoExtrude03
|
### DemoExtrude03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExtrude03.kt)
|
[source code](src/jvmDemo/kotlin/DemoExtrude03.kt)
|
||||||
@@ -184,6 +197,7 @@ Interactive orbital camera.
|
|||||||
|
|
||||||
Extruded Bézier tubes grown on a morphing Bézier surface.
|
Extruded Bézier tubes grown on a morphing Bézier surface.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExtrude04.kt)
|
[source code](src/jvmDemo/kotlin/DemoExtrude04.kt)
|
||||||
@@ -192,6 +206,7 @@ Extruded Bézier tubes grown on a morphing Bézier surface.
|
|||||||
|
|
||||||
Extruded Bézier tubes grown on a morphing Bézier surface.
|
Extruded Bézier tubes grown on a morphing Bézier surface.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExtrude05.kt)
|
[source code](src/jvmDemo/kotlin/DemoExtrude05.kt)
|
||||||
@@ -201,6 +216,7 @@ Extruded Bézier tubes grown on a morphing Bézier surface.
|
|||||||
Demo extrudeContourStepsMorphed which allows to create a mesh with a morphing cross-section
|
Demo extrudeContourStepsMorphed which allows to create a mesh with a morphing cross-section
|
||||||
based on the t value along a Path3D. In other words, a tube in which the cross-section does not need
|
based on the t value along a Path3D. In other words, a tube in which the cross-section does not need
|
||||||
to be constant, but can be scaled, rotated and displaced along its curvy axis.
|
to be constant, but can be scaled, rotated and displaced along its curvy axis.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoExtrude06.kt)
|
[source code](src/jvmDemo/kotlin/DemoExtrude06.kt)
|
||||||
@@ -208,6 +224,7 @@ to be constant, but can be scaled, rotated and displaced along its curvy axis.
|
|||||||
### tangents/DemoTangents01
|
### tangents/DemoTangents01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/tangents/DemoTangents01.kt)
|
[source code](src/jvmDemo/kotlin/tangents/DemoTangents01.kt)
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ The following key processes are performed:
|
|||||||
|
|
||||||
The application runs with a window size of 720x720 pixels and positions the camera
|
The application runs with a window size of 720x720 pixels and positions the camera
|
||||||
in front of the scene using the "Orbital" extension.
|
in front of the scene using the "Orbital" extension.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoMeshNoise01.kt)
|
[source code](src/jvmDemo/kotlin/DemoMeshNoise01.kt)
|
||||||
@@ -25,6 +26,7 @@ in front of the scene using the "Orbital" extension.
|
|||||||
### DemoMeshNoise02
|
### DemoMeshNoise02
|
||||||
|
|
||||||
Demonstrate uniform point on mesh generation using hash functions
|
Demonstrate uniform point on mesh generation using hash functions
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoMeshNoise02.kt)
|
[source code](src/jvmDemo/kotlin/DemoMeshNoise02.kt)
|
||||||
@@ -38,6 +40,7 @@ objects rendered in the viewport.
|
|||||||
It extends the rendering with an orbital camera for navigation and shaders for custom visual
|
It extends the rendering with an orbital camera for navigation and shaders for custom visual
|
||||||
effects. Cylinders represent transformed objects, with their scale animations based on time-dependent
|
effects. Cylinders represent transformed objects, with their scale animations based on time-dependent
|
||||||
trigonometric functions.
|
trigonometric functions.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoMeshNoise03.kt)
|
[source code](src/jvmDemo/kotlin/DemoMeshNoise03.kt)
|
||||||
@@ -57,6 +60,7 @@ Key functionalities include:
|
|||||||
|
|
||||||
The rendering of spheres is performed by iterating over the sampled points and isolating each in the transformation matrix.
|
The rendering of spheres is performed by iterating over the sampled points and isolating each in the transformation matrix.
|
||||||
This setup allows customization for complex rendering pipelines.
|
This setup allows customization for complex rendering pipelines.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoNonUniformMeshNoise01.kt)
|
[source code](src/jvmDemo/kotlin/DemoNonUniformMeshNoise01.kt)
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ NB! any submitted _lambda expression_ must be valid within the `renderTarget` co
|
|||||||
### DemoNoClear
|
### DemoNoClear
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoNoClear.kt)
|
[source code](src/jvmDemo/kotlin/DemoNoClear.kt)
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
### DemoCubicNoise2D01
|
### DemoCubicNoise2D01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoCubicNoise2D01.kt)
|
[source code](src/jvmDemo/kotlin/DemoCubicNoise2D01.kt)
|
||||||
@@ -197,6 +198,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
### DemoFunctionalComposition01
|
### DemoFunctionalComposition01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoFunctionalComposition01.kt)
|
[source code](src/jvmDemo/kotlin/DemoFunctionalComposition01.kt)
|
||||||
@@ -204,6 +206,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
### DemoGradientPerturb2D
|
### DemoGradientPerturb2D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoGradientPerturb2D.kt)
|
[source code](src/jvmDemo/kotlin/DemoGradientPerturb2D.kt)
|
||||||
@@ -211,6 +214,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
### DemoGradientPerturb3D
|
### DemoGradientPerturb3D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoGradientPerturb3D.kt)
|
[source code](src/jvmDemo/kotlin/DemoGradientPerturb3D.kt)
|
||||||
@@ -218,6 +222,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
### DemoScatter01
|
### DemoScatter01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoScatter01.kt)
|
[source code](src/jvmDemo/kotlin/DemoScatter01.kt)
|
||||||
@@ -225,6 +230,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
### DemoSimplex01
|
### DemoSimplex01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoSimplex01.kt)
|
[source code](src/jvmDemo/kotlin/DemoSimplex01.kt)
|
||||||
@@ -233,6 +239,7 @@ val v8 = billow(seed, x, y, z, ::perlinLinear, octaves, lacunarity, gain)
|
|||||||
|
|
||||||
Demonstrate the generation of uniformly distributed points inside a list of triangles
|
Demonstrate the generation of uniformly distributed points inside a list of triangles
|
||||||
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-noise/images/DemoTriangleNoise01Kt.png">
|
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-noise/images/DemoTriangleNoise01Kt.png">
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTriangleNoise01.kt)
|
[source code](src/jvmDemo/kotlin/DemoTriangleNoise01.kt)
|
||||||
@@ -240,6 +247,7 @@ Demonstrate the generation of uniformly distributed points inside a list of tria
|
|||||||
### DemoValueNoise2D01
|
### DemoValueNoise2D01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoValueNoise2D01.kt)
|
[source code](src/jvmDemo/kotlin/DemoValueNoise2D01.kt)
|
||||||
@@ -248,6 +256,7 @@ Demonstrate the generation of uniformly distributed points inside a list of tria
|
|||||||
|
|
||||||
Render existing GLSL noise algorithms side by side.
|
Render existing GLSL noise algorithms side by side.
|
||||||
Use the GUI to explore the effects.
|
Use the GUI to explore the effects.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/glsl/DemoNoisesGLSLGui.kt)
|
[source code](src/jvmDemo/kotlin/glsl/DemoNoisesGLSLGui.kt)
|
||||||
@@ -259,6 +268,7 @@ Re-use the same color buffer for the rendering.
|
|||||||
Not all noise properties are used. Explore each noise class
|
Not all noise properties are used. Explore each noise class
|
||||||
to find out more adjustable properties.
|
to find out more adjustable properties.
|
||||||
The noise color can be set using a `color` or a `gain` property.
|
The noise color can be set using a `color` or a `gain` property.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/glsl/DemoNoisesGLSL.kt)
|
[source code](src/jvmDemo/kotlin/glsl/DemoNoisesGLSL.kt)
|
||||||
@@ -266,6 +276,7 @@ The noise color can be set using a `color` or a `gain` property.
|
|||||||
### glsl/DemoSimplexGLSL
|
### glsl/DemoSimplexGLSL
|
||||||
|
|
||||||
A sine oscillator with randomized parameters
|
A sine oscillator with randomized parameters
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/glsl/DemoSimplexGLSL.kt)
|
[source code](src/jvmDemo/kotlin/glsl/DemoSimplexGLSL.kt)
|
||||||
@@ -277,6 +288,7 @@ Demo that visualizes a 2D Hammersley point set.
|
|||||||
The application is configured to run at 720x720 resolution. The program computes
|
The application is configured to run at 720x720 resolution. The program computes
|
||||||
400 2D Hammersley points mapped within the bounds of the application's resolution.
|
400 2D Hammersley points mapped within the bounds of the application's resolution.
|
||||||
These points are visualized by rendering circles at their respective positions.
|
These points are visualized by rendering circles at their respective positions.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hammersley/DemoHammersley2D01.kt)
|
[source code](src/jvmDemo/kotlin/hammersley/DemoHammersley2D01.kt)
|
||||||
@@ -293,6 +305,7 @@ in 3D space. This is achieved by mapping the generated points into a scaled doma
|
|||||||
The rendering utilizes the Orbital extension, enabling an interactive 3D camera
|
The rendering utilizes the Orbital extension, enabling an interactive 3D camera
|
||||||
to navigate the scene. The visualization relies on the draw loop for continuous
|
to navigate the scene. The visualization relies on the draw loop for continuous
|
||||||
rendering of the points.
|
rendering of the points.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hammersley/DemoHammersley3D01.kt)
|
[source code](src/jvmDemo/kotlin/hammersley/DemoHammersley3D01.kt)
|
||||||
@@ -310,6 +323,7 @@ shifting the hue in HSV color space.
|
|||||||
This program employs the `Orbital` extension, enabling camera interaction for 3D navigation
|
This program employs the `Orbital` extension, enabling camera interaction for 3D navigation
|
||||||
of the scene. Rendering occurs within the draw loop, providing continuous visualization
|
of the scene. Rendering occurs within the draw loop, providing continuous visualization
|
||||||
of the point distribution.
|
of the point distribution.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hammersley/DemoHammersley4D01.kt)
|
[source code](src/jvmDemo/kotlin/hammersley/DemoHammersley4D01.kt)
|
||||||
@@ -317,6 +331,7 @@ of the point distribution.
|
|||||||
### hash/DemoCircleHash01
|
### hash/DemoCircleHash01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hash/DemoCircleHash01.kt)
|
[source code](src/jvmDemo/kotlin/hash/DemoCircleHash01.kt)
|
||||||
@@ -324,6 +339,7 @@ of the point distribution.
|
|||||||
### hash/DemoRectangleHash01
|
### hash/DemoRectangleHash01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hash/DemoRectangleHash01.kt)
|
[source code](src/jvmDemo/kotlin/hash/DemoRectangleHash01.kt)
|
||||||
@@ -331,6 +347,7 @@ of the point distribution.
|
|||||||
### hash/DemoUHash01
|
### hash/DemoUHash01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hash/DemoUHash01.kt)
|
[source code](src/jvmDemo/kotlin/hash/DemoUHash01.kt)
|
||||||
@@ -338,6 +355,7 @@ of the point distribution.
|
|||||||
### linearrange/DemoLinearRange01
|
### linearrange/DemoLinearRange01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/linearrange/DemoLinearRange01.kt)
|
[source code](src/jvmDemo/kotlin/linearrange/DemoLinearRange01.kt)
|
||||||
@@ -345,6 +363,7 @@ of the point distribution.
|
|||||||
### phrases/DemoUHashPhrase01
|
### phrases/DemoUHashPhrase01
|
||||||
|
|
||||||
Demonstrate uniform hashing function phrase in a shadestyle
|
Demonstrate uniform hashing function phrase in a shadestyle
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/phrases/DemoUHashPhrase01.kt)
|
[source code](src/jvmDemo/kotlin/phrases/DemoUHashPhrase01.kt)
|
||||||
@@ -354,6 +373,7 @@ Demonstrate uniform hashing function phrase in a shadestyle
|
|||||||
This demo sets up a window with dimensions 720x720 and renders frames
|
This demo sets up a window with dimensions 720x720 and renders frames
|
||||||
demonstrating 2D quasirandomly distributed points. The points are generated
|
demonstrating 2D quasirandomly distributed points. The points are generated
|
||||||
using the R2 sequence and drawn as circles with a radius of 5.0.
|
using the R2 sequence and drawn as circles with a radius of 5.0.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rseq/DemoRseq2D01.kt)
|
[source code](src/jvmDemo/kotlin/rseq/DemoRseq2D01.kt)
|
||||||
@@ -369,6 +389,7 @@ The visualization setup includes:
|
|||||||
- Creation of a reusable sphere mesh with a specified radius.
|
- Creation of a reusable sphere mesh with a specified radius.
|
||||||
- Generation of quasirandom points in 3D space using the `rSeq3D` function.
|
- Generation of quasirandom points in 3D space using the `rSeq3D` function.
|
||||||
- Transformation and rendering of each point as a sphere using vertex buffers.
|
- Transformation and rendering of each point as a sphere using vertex buffers.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rseq/DemoRseq3D01.kt)
|
[source code](src/jvmDemo/kotlin/rseq/DemoRseq3D01.kt)
|
||||||
@@ -387,6 +408,7 @@ and transformed into 3D positions with an additional w-coordinate for color vari
|
|||||||
- Renders each point as a sphere with its position determined by the 3D coordinates
|
- Renders each point as a sphere with its position determined by the 3D coordinates
|
||||||
of the point and its color calculated by shifting the hue of a base color using
|
of the point and its color calculated by shifting the hue of a base color using
|
||||||
the w-coordinate value.
|
the w-coordinate value.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rseq/DemoRseq4D01.kt)
|
[source code](src/jvmDemo/kotlin/rseq/DemoRseq4D01.kt)
|
||||||
@@ -402,6 +424,7 @@ Functionalities:
|
|||||||
- Randomly populates two sections of the screen with rectangles filled with colors
|
- Randomly populates two sections of the screen with rectangles filled with colors
|
||||||
sampled from simplex and linear ranges respectively.
|
sampled from simplex and linear ranges respectively.
|
||||||
- Draws a vertical divider line in the middle of the application window.
|
- Draws a vertical divider line in the middle of the application window.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexRange2D01.kt)
|
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexRange2D01.kt)
|
||||||
@@ -417,6 +440,7 @@ Functionalities:
|
|||||||
- Randomly populates two sections of the screen with rectangles filled with colors
|
- Randomly populates two sections of the screen with rectangles filled with colors
|
||||||
sampled from simplex and linear ranges respectively.
|
sampled from simplex and linear ranges respectively.
|
||||||
- Draws a vertical divider line in the middle of the application window.
|
- Draws a vertical divider line in the middle of the application window.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexRange2D02.kt)
|
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexRange2D02.kt)
|
||||||
@@ -432,6 +456,7 @@ Functionalities:
|
|||||||
- Randomly populates two sections of the screen with rectangles filled with colors
|
- Randomly populates two sections of the screen with rectangles filled with colors
|
||||||
sampled from simplex and linear ranges respectively.
|
sampled from simplex and linear ranges respectively.
|
||||||
- Draws a vertical divider line in the middle of the application window.
|
- Draws a vertical divider line in the middle of the application window.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexUniform01.kt)
|
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexUniform01.kt)
|
||||||
@@ -447,6 +472,7 @@ Functionalities:
|
|||||||
- Randomly populates two sections of the screen with rectangles filled with colors
|
- Randomly populates two sections of the screen with rectangles filled with colors
|
||||||
sampled from simplex and linear ranges respectively.
|
sampled from simplex and linear ranges respectively.
|
||||||
- Draws a vertical divider line in the middle of the application window.
|
- Draws a vertical divider line in the middle of the application window.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexUniform02.kt)
|
[source code](src/jvmDemo/kotlin/simplexrange/DemoSimplexUniform02.kt)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ vertexBuffer.saveOBJ("my/path/exported.obj")
|
|||||||
### DemoObjCompoundRW01
|
### DemoObjCompoundRW01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoObjCompoundRW01.kt)
|
[source code](src/jvmDemo/kotlin/DemoObjCompoundRW01.kt)
|
||||||
@@ -34,6 +35,7 @@ vertexBuffer.saveOBJ("my/path/exported.obj")
|
|||||||
### DemoObjLoader01
|
### DemoObjLoader01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoObjLoader01.kt)
|
[source code](src/jvmDemo/kotlin/DemoObjLoader01.kt)
|
||||||
@@ -41,6 +43,7 @@ vertexBuffer.saveOBJ("my/path/exported.obj")
|
|||||||
### DemoObjSaver01
|
### DemoObjSaver01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoObjSaver01.kt)
|
[source code](src/jvmDemo/kotlin/DemoObjSaver01.kt)
|
||||||
@@ -48,6 +51,7 @@ vertexBuffer.saveOBJ("my/path/exported.obj")
|
|||||||
### DemoObjSaver02
|
### DemoObjSaver02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoObjSaver02.kt)
|
[source code](src/jvmDemo/kotlin/DemoObjSaver02.kt)
|
||||||
@@ -55,6 +59,7 @@ vertexBuffer.saveOBJ("my/path/exported.obj")
|
|||||||
### DemoWireframe01
|
### DemoWireframe01
|
||||||
|
|
||||||
Display wireframe and non-planar faces
|
Display wireframe and non-planar faces
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoWireframe01.kt)
|
[source code](src/jvmDemo/kotlin/DemoWireframe01.kt)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ Tools for setting up property watcher based pipelines
|
|||||||
### DemoImagePathWatcher01
|
### DemoImagePathWatcher01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoImagePathWatcher01.kt)
|
[source code](src/jvmDemo/kotlin/DemoImagePathWatcher01.kt)
|
||||||
@@ -14,6 +15,7 @@ Tools for setting up property watcher based pipelines
|
|||||||
### DemoPropertyWatchers01
|
### DemoPropertyWatchers01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoPropertyWatchers01.kt)
|
[source code](src/jvmDemo/kotlin/DemoPropertyWatchers01.kt)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ Ricardo Matias / [@ricardomatias](https://github.com/ricardomatias)
|
|||||||
### DemoQuadTree01
|
### DemoQuadTree01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoQuadTree01.kt)
|
[source code](src/jvmDemo/kotlin/DemoQuadTree01.kt)
|
||||||
@@ -32,6 +33,7 @@ Ricardo Matias / [@ricardomatias](https://github.com/ricardomatias)
|
|||||||
### DemoQuadTree02
|
### DemoQuadTree02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoQuadTree02.kt)
|
[source code](src/jvmDemo/kotlin/DemoQuadTree02.kt)
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Shader based fills and strokes, including various types of gradient fills.
|
|||||||
### clip/DemoClip01
|
### clip/DemoClip01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/clip/DemoClip01.kt)
|
[source code](src/jvmDemo/kotlin/clip/DemoClip01.kt)
|
||||||
@@ -18,6 +19,7 @@ Shader based fills and strokes, including various types of gradient fills.
|
|||||||
### clip/DemoClip02
|
### clip/DemoClip02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/clip/DemoClip02.kt)
|
[source code](src/jvmDemo/kotlin/clip/DemoClip02.kt)
|
||||||
@@ -25,6 +27,7 @@ Shader based fills and strokes, including various types of gradient fills.
|
|||||||
### clip/DemoClip03
|
### clip/DemoClip03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/clip/DemoClip03.kt)
|
[source code](src/jvmDemo/kotlin/clip/DemoClip03.kt)
|
||||||
@@ -44,6 +47,7 @@ The method performs the following actions:
|
|||||||
4. Combines the gradient and clip into a composite shading style.
|
4. Combines the gradient and clip into a composite shading style.
|
||||||
5. Defines a program loop where the rectangle with the gradient and clip combination
|
5. Defines a program loop where the rectangle with the gradient and clip combination
|
||||||
rotates around the center of the canvas while being redrawn continuously.
|
rotates around the center of the canvas while being redrawn continuously.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/composed/DemoComposed01.kt)
|
[source code](src/jvmDemo/kotlin/composed/DemoComposed01.kt)
|
||||||
@@ -51,6 +55,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient01
|
### gradients/DemoGradient01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient01.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient01.kt)
|
||||||
@@ -58,6 +63,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient02
|
### gradients/DemoGradient02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient02.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient02.kt)
|
||||||
@@ -65,6 +71,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient03
|
### gradients/DemoGradient03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient03.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient03.kt)
|
||||||
@@ -72,6 +79,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient04
|
### gradients/DemoGradient04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient04.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient04.kt)
|
||||||
@@ -79,6 +87,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient05
|
### gradients/DemoGradient05
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient05.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient05.kt)
|
||||||
@@ -86,6 +95,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient06
|
### gradients/DemoGradient06
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient06.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient06.kt)
|
||||||
@@ -93,6 +103,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient07
|
### gradients/DemoGradient07
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient07.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient07.kt)
|
||||||
@@ -100,6 +111,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient08
|
### gradients/DemoGradient08
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient08.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient08.kt)
|
||||||
@@ -107,6 +119,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### gradients/DemoGradient09
|
### gradients/DemoGradient09
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/gradients/DemoGradient09.kt)
|
[source code](src/jvmDemo/kotlin/gradients/DemoGradient09.kt)
|
||||||
@@ -114,6 +127,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### image/DemoImageFill01
|
### image/DemoImageFill01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/image/DemoImageFill01.kt)
|
[source code](src/jvmDemo/kotlin/image/DemoImageFill01.kt)
|
||||||
@@ -121,6 +135,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### image/DemoImageFill02
|
### image/DemoImageFill02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/image/DemoImageFill02.kt)
|
[source code](src/jvmDemo/kotlin/image/DemoImageFill02.kt)
|
||||||
@@ -128,6 +143,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### image/DemoImageFill03
|
### image/DemoImageFill03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/image/DemoImageFill03.kt)
|
[source code](src/jvmDemo/kotlin/image/DemoImageFill03.kt)
|
||||||
@@ -135,6 +151,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### noise/DemoBlueNoise01
|
### noise/DemoBlueNoise01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/noise/DemoBlueNoise01.kt)
|
[source code](src/jvmDemo/kotlin/noise/DemoBlueNoise01.kt)
|
||||||
@@ -142,6 +159,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### noise/DemoSimplex01
|
### noise/DemoSimplex01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/noise/DemoSimplex01.kt)
|
[source code](src/jvmDemo/kotlin/noise/DemoSimplex01.kt)
|
||||||
@@ -149,6 +167,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### noise/DemoWhiteNoise01
|
### noise/DemoWhiteNoise01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/noise/DemoWhiteNoise01.kt)
|
[source code](src/jvmDemo/kotlin/noise/DemoWhiteNoise01.kt)
|
||||||
@@ -156,6 +175,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### patterns/DemoPatterns01
|
### patterns/DemoPatterns01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/patterns/DemoPatterns01.kt)
|
[source code](src/jvmDemo/kotlin/patterns/DemoPatterns01.kt)
|
||||||
@@ -163,6 +183,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### patterns/DemoPatterns02
|
### patterns/DemoPatterns02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/patterns/DemoPatterns02.kt)
|
[source code](src/jvmDemo/kotlin/patterns/DemoPatterns02.kt)
|
||||||
@@ -170,6 +191,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### patterns/DemoPatterns03
|
### patterns/DemoPatterns03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/patterns/DemoPatterns03.kt)
|
[source code](src/jvmDemo/kotlin/patterns/DemoPatterns03.kt)
|
||||||
@@ -177,6 +199,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### spatial/DemoHemisphere01
|
### spatial/DemoHemisphere01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/spatial/DemoHemisphere01.kt)
|
[source code](src/jvmDemo/kotlin/spatial/DemoHemisphere01.kt)
|
||||||
@@ -184,6 +207,7 @@ rotates around the center of the canvas while being redrawn continuously.
|
|||||||
### spatial/DemoVisualizeNormals01
|
### spatial/DemoVisualizeNormals01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/spatial/DemoVisualizeNormals01.kt)
|
[source code](src/jvmDemo/kotlin/spatial/DemoVisualizeNormals01.kt)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour01
|
### adjust/DemoAdjustContour01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour01.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour01.kt)
|
||||||
@@ -14,6 +15,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour02
|
### adjust/DemoAdjustContour02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour02.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour02.kt)
|
||||||
@@ -21,6 +23,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour03
|
### adjust/DemoAdjustContour03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour03.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour03.kt)
|
||||||
@@ -28,6 +31,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour04
|
### adjust/DemoAdjustContour04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour04.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour04.kt)
|
||||||
@@ -35,6 +39,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour05
|
### adjust/DemoAdjustContour05
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour05.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour05.kt)
|
||||||
@@ -42,6 +47,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour06
|
### adjust/DemoAdjustContour06
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour06.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour06.kt)
|
||||||
@@ -49,6 +55,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour07
|
### adjust/DemoAdjustContour07
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour07.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour07.kt)
|
||||||
@@ -56,6 +63,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour08
|
### adjust/DemoAdjustContour08
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour08.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour08.kt)
|
||||||
@@ -63,6 +71,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContour09
|
### adjust/DemoAdjustContour09
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour09.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour09.kt)
|
||||||
@@ -70,6 +79,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### adjust/DemoAdjustContourContinue01
|
### adjust/DemoAdjustContourContinue01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContourContinue01.kt)
|
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContourContinue01.kt)
|
||||||
@@ -77,6 +87,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### alphashape/DemoAlphaShape
|
### alphashape/DemoAlphaShape
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/alphashape/DemoAlphaShape.kt)
|
[source code](src/jvmDemo/kotlin/alphashape/DemoAlphaShape.kt)
|
||||||
@@ -84,6 +95,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### arrangement/DemoArrangement01
|
### arrangement/DemoArrangement01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement01.kt)
|
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement01.kt)
|
||||||
@@ -91,6 +103,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### arrangement/DemoArrangement02
|
### arrangement/DemoArrangement02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement02.kt)
|
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement02.kt)
|
||||||
@@ -98,6 +111,7 @@ Collection of 2D shape generators and modifiers.
|
|||||||
### arrangement/DemoArrangement04
|
### arrangement/DemoArrangement04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement04.kt)
|
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement04.kt)
|
||||||
@@ -111,6 +125,7 @@ Shows how to
|
|||||||
|
|
||||||
The created contours are horizontal and vertical in "bezier-patch space" but
|
The created contours are horizontal and vertical in "bezier-patch space" but
|
||||||
are rendered deformed following the shape of the bezier patch.
|
are rendered deformed following the shape of the bezier patch.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch01.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch01.kt)
|
||||||
@@ -124,6 +139,7 @@ Calling [Circle.contour] is one way of producing
|
|||||||
such a contour with vertices at the cardinal points
|
such a contour with vertices at the cardinal points
|
||||||
but one can manually create any other 4-segment closed contour
|
but one can manually create any other 4-segment closed contour
|
||||||
to use in bezier patches.
|
to use in bezier patches.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch02.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch02.kt)
|
||||||
@@ -134,6 +150,7 @@ Shows how to distort [ShapeContour]s using a [bezierPatch]
|
|||||||
|
|
||||||
In this case the contours are regular stars and the bezier patch
|
In this case the contours are regular stars and the bezier patch
|
||||||
is created using a circular contour with the required 4 segments.
|
is created using a circular contour with the required 4 segments.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch03.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch03.kt)
|
||||||
@@ -145,6 +162,7 @@ from a [bezierPatch]
|
|||||||
|
|
||||||
You can think of bezierPatch.position() as requesting points
|
You can think of bezierPatch.position() as requesting points
|
||||||
in a wavy flag (the bezier patch) using normalized uv coordinates.
|
in a wavy flag (the bezier patch) using normalized uv coordinates.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch04.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch04.kt)
|
||||||
@@ -160,6 +178,7 @@ Shows how to
|
|||||||
|
|
||||||
The created contours are horizontal and vertical in "bezier-patch space" but
|
The created contours are horizontal and vertical in "bezier-patch space" but
|
||||||
are rendered deformed following the shape of the bezier patch.
|
are rendered deformed following the shape of the bezier patch.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch05.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch05.kt)
|
||||||
@@ -170,6 +189,7 @@ Shows how to
|
|||||||
- create a [bezierPatch] out of 4 curved Segment2D instances
|
- create a [bezierPatch] out of 4 curved Segment2D instances
|
||||||
- apply an image texture to the patch using a shadeStyle
|
- apply an image texture to the patch using a shadeStyle
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch06.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch06.kt)
|
||||||
@@ -177,6 +197,7 @@ Shows how to
|
|||||||
### bezierpatch/DemoBezierPatchDrawer01
|
### bezierpatch/DemoBezierPatchDrawer01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer01.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer01.kt)
|
||||||
@@ -184,6 +205,7 @@ Shows how to
|
|||||||
### bezierpatch/DemoBezierPatchDrawer02
|
### bezierpatch/DemoBezierPatchDrawer02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer02.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer02.kt)
|
||||||
@@ -191,6 +213,7 @@ Shows how to
|
|||||||
### bezierpatch/DemoBezierPatchDrawer03
|
### bezierpatch/DemoBezierPatchDrawer03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer03.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer03.kt)
|
||||||
@@ -204,6 +227,7 @@ Calling [Circle.contour] is one way of producing
|
|||||||
such a contour with vertices at the cardinal points
|
such a contour with vertices at the cardinal points
|
||||||
but one can manually create any other 4-segment closed contour
|
but one can manually create any other 4-segment closed contour
|
||||||
to use in bezier patches.
|
to use in bezier patches.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatches01.kt)
|
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatches01.kt)
|
||||||
@@ -211,6 +235,7 @@ to use in bezier patches.
|
|||||||
### blend/DemoContourBlend01
|
### blend/DemoContourBlend01
|
||||||
|
|
||||||
Demonstration of uniform contour blending
|
Demonstration of uniform contour blending
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/blend/DemoContourBlend01.kt)
|
[source code](src/jvmDemo/kotlin/blend/DemoContourBlend01.kt)
|
||||||
@@ -218,6 +243,7 @@ Demonstration of uniform contour blending
|
|||||||
### blend/DemoContourBlend02
|
### blend/DemoContourBlend02
|
||||||
|
|
||||||
Demonstration of non-uniform contour blending
|
Demonstration of non-uniform contour blending
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/blend/DemoContourBlend02.kt)
|
[source code](src/jvmDemo/kotlin/blend/DemoContourBlend02.kt)
|
||||||
@@ -225,6 +251,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### frames/DemoFrames01
|
### frames/DemoFrames01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/frames/DemoFrames01.kt)
|
[source code](src/jvmDemo/kotlin/frames/DemoFrames01.kt)
|
||||||
@@ -232,6 +259,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### hobbycurve/DemoHobbyCurve01
|
### hobbycurve/DemoHobbyCurve01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve01.kt)
|
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve01.kt)
|
||||||
@@ -239,6 +267,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### hobbycurve/DemoHobbyCurve02
|
### hobbycurve/DemoHobbyCurve02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve02.kt)
|
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve02.kt)
|
||||||
@@ -246,6 +275,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### hobbycurve/DemoHobbyCurve03
|
### hobbycurve/DemoHobbyCurve03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve03.kt)
|
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve03.kt)
|
||||||
@@ -253,6 +283,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### hobbycurve/DemoHobbyCurve3D01
|
### hobbycurve/DemoHobbyCurve3D01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve3D01.kt)
|
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve3D01.kt)
|
||||||
@@ -260,6 +291,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### operators/DemoRoundCorners01
|
### operators/DemoRoundCorners01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/operators/DemoRoundCorners01.kt)
|
[source code](src/jvmDemo/kotlin/operators/DemoRoundCorners01.kt)
|
||||||
@@ -267,6 +299,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### ordering/DemoHilbertOrder01
|
### ordering/DemoHilbertOrder01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/ordering/DemoHilbertOrder01.kt)
|
[source code](src/jvmDemo/kotlin/ordering/DemoHilbertOrder01.kt)
|
||||||
@@ -274,6 +307,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### ordering/DemoHilbertOrder02
|
### ordering/DemoHilbertOrder02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/ordering/DemoHilbertOrder02.kt)
|
[source code](src/jvmDemo/kotlin/ordering/DemoHilbertOrder02.kt)
|
||||||
@@ -281,6 +315,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### path3d/DemoPath3DProjection
|
### path3d/DemoPath3DProjection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/path3d/DemoPath3DProjection.kt)
|
[source code](src/jvmDemo/kotlin/path3d/DemoPath3DProjection.kt)
|
||||||
@@ -288,6 +323,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### primitives/DemoArc01
|
### primitives/DemoArc01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoArc01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoArc01.kt)
|
||||||
@@ -295,6 +331,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### primitives/DemoCircleInversion01
|
### primitives/DemoCircleInversion01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoCircleInversion01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoCircleInversion01.kt)
|
||||||
@@ -302,6 +339,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### primitives/DemoCircleInversion02
|
### primitives/DemoCircleInversion02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoCircleInversion02.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoCircleInversion02.kt)
|
||||||
@@ -309,6 +347,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### primitives/DemoCircleInversion03
|
### primitives/DemoCircleInversion03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoCircleInversion03.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoCircleInversion03.kt)
|
||||||
@@ -316,6 +355,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### primitives/DemoNet01
|
### primitives/DemoNet01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoNet01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoNet01.kt)
|
||||||
@@ -323,6 +363,7 @@ Demonstration of non-uniform contour blending
|
|||||||
### primitives/DemoPulley01
|
### primitives/DemoPulley01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoPulley01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoPulley01.kt)
|
||||||
@@ -339,6 +380,7 @@ within the bounding rectangle of the canvas.
|
|||||||
4. Aligns the rectangles vertically according to their position in relation to the bounding rectangle
|
4. Aligns the rectangles vertically according to their position in relation to the bounding rectangle
|
||||||
and a dynamic anchor point derived from the cosine of elapsed time.
|
and a dynamic anchor point derived from the cosine of elapsed time.
|
||||||
5. Renders the rectangles on the canvas in the output window.
|
5. Renders the rectangles on the canvas in the output window.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleDistribute01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleDistribute01.kt)
|
||||||
@@ -346,6 +388,7 @@ and a dynamic anchor point derived from the cosine of elapsed time.
|
|||||||
### primitives/DemoRectangleFitHorizontally
|
### primitives/DemoRectangleFitHorizontally
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleFitHorizontally.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleFitHorizontally.kt)
|
||||||
@@ -353,6 +396,7 @@ and a dynamic anchor point derived from the cosine of elapsed time.
|
|||||||
### primitives/DemoRectangleGrid01
|
### primitives/DemoRectangleGrid01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid01.kt)
|
||||||
@@ -360,6 +404,7 @@ and a dynamic anchor point derived from the cosine of elapsed time.
|
|||||||
### primitives/DemoRectangleGrid02
|
### primitives/DemoRectangleGrid02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid02.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid02.kt)
|
||||||
@@ -367,6 +412,7 @@ and a dynamic anchor point derived from the cosine of elapsed time.
|
|||||||
### primitives/DemoRectangleGrid03
|
### primitives/DemoRectangleGrid03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid03.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid03.kt)
|
||||||
@@ -375,6 +421,7 @@ and a dynamic anchor point derived from the cosine of elapsed time.
|
|||||||
|
|
||||||
Demonstrate rectangle-rectangle intersection
|
Demonstrate rectangle-rectangle intersection
|
||||||
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRectangleIntersection01Kt.png">
|
@see <img src="https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRectangleIntersection01Kt.png">
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleIntersection01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleIntersection01.kt)
|
||||||
@@ -382,6 +429,7 @@ Demonstrate rectangle-rectangle intersection
|
|||||||
### primitives/DemoRectangleIrregularGrid
|
### primitives/DemoRectangleIrregularGrid
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleIrregularGrid.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleIrregularGrid.kt)
|
||||||
@@ -396,6 +444,7 @@ The rectangles are drawn using the default white color. The `place` function is
|
|||||||
rectangle to position them dynamically based on their relative anchor points within the bounding area.
|
rectangle to position them dynamically based on their relative anchor points within the bounding area.
|
||||||
|
|
||||||
This serves as a demonstration of positioning and rendering shapes in a structured grid layout.
|
This serves as a demonstration of positioning and rendering shapes in a structured grid layout.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRectanglePlace01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRectanglePlace01.kt)
|
||||||
@@ -403,6 +452,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### primitives/DemoRegularPolygon
|
### primitives/DemoRegularPolygon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRegularPolygon.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRegularPolygon.kt)
|
||||||
@@ -410,6 +460,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### primitives/DemoRegularStar01
|
### primitives/DemoRegularStar01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRegularStar01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRegularStar01.kt)
|
||||||
@@ -417,6 +468,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### primitives/DemoRegularStar02
|
### primitives/DemoRegularStar02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRegularStar02.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRegularStar02.kt)
|
||||||
@@ -424,6 +476,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### primitives/DemoRoundedRectangle
|
### primitives/DemoRoundedRectangle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoRoundedRectangle.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoRoundedRectangle.kt)
|
||||||
@@ -431,6 +484,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### primitives/DemoSplit01
|
### primitives/DemoSplit01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoSplit01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoSplit01.kt)
|
||||||
@@ -438,6 +492,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### primitives/DemoTear01
|
### primitives/DemoTear01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/primitives/DemoTear01.kt)
|
[source code](src/jvmDemo/kotlin/primitives/DemoTear01.kt)
|
||||||
@@ -445,6 +500,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### rectify/DemoRectifiedContour01
|
### rectify/DemoRectifiedContour01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour01.kt)
|
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour01.kt)
|
||||||
@@ -452,6 +508,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### rectify/DemoRectifiedContour02
|
### rectify/DemoRectifiedContour02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour02.kt)
|
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour02.kt)
|
||||||
@@ -459,6 +516,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### rectify/DemoRectifiedContour03
|
### rectify/DemoRectifiedContour03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour03.kt)
|
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour03.kt)
|
||||||
@@ -466,6 +524,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### rectify/DemoRectifiedContour04
|
### rectify/DemoRectifiedContour04
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour04.kt)
|
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour04.kt)
|
||||||
@@ -473,6 +532,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### rectify/DemoRectifiedPath3D01
|
### rectify/DemoRectifiedPath3D01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedPath3D01.kt)
|
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedPath3D01.kt)
|
||||||
@@ -480,6 +540,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### text/DemoText01
|
### text/DemoText01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/text/DemoText01.kt)
|
[source code](src/jvmDemo/kotlin/text/DemoText01.kt)
|
||||||
@@ -487,6 +548,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### tunni/DemoTunniAdjuster01
|
### tunni/DemoTunniAdjuster01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/tunni/DemoTunniAdjuster01.kt)
|
[source code](src/jvmDemo/kotlin/tunni/DemoTunniAdjuster01.kt)
|
||||||
@@ -494,6 +556,7 @@ This serves as a demonstration of positioning and rendering shapes in a structur
|
|||||||
### tunni/DemoTunniPoint01
|
### tunni/DemoTunniPoint01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/tunni/DemoTunniPoint01.kt)
|
[source code](src/jvmDemo/kotlin/tunni/DemoTunniPoint01.kt)
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ extend(TemporalBlur()) {
|
|||||||
### DemoBasic01
|
### DemoBasic01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoBasic01.kt)
|
[source code](src/demo/kotlin/DemoBasic01.kt)
|
||||||
@@ -51,6 +52,7 @@ extend(TemporalBlur()) {
|
|||||||
### DemoColorShift01
|
### DemoColorShift01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoColorShift01.kt)
|
[source code](src/demo/kotlin/DemoColorShift01.kt)
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ Demo Functionality includes:
|
|||||||
- Creating a circular contour at the center of the screen with a radius of 200.0.
|
- Creating a circular contour at the center of the screen with a radius of 200.0.
|
||||||
- Rendering text along the rectified circle's contour.
|
- Rendering text along the rectified circle's contour.
|
||||||
- Offsetting text positions, enabling repeated text rendering along the same contour.
|
- Offsetting text positions, enabling repeated text rendering along the same contour.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTextOnContour01.kt)
|
[source code](src/jvmDemo/kotlin/DemoTextOnContour01.kt)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ Key Components:
|
|||||||
- `Rectangle` provides a way to define the rectangular area.
|
- `Rectangle` provides a way to define the rectangular area.
|
||||||
- `drawer` enables isolated operations for drawing elements.
|
- `drawer` enables isolated operations for drawing elements.
|
||||||
- `writer` facilitates text rendering with alignment and spacing adjustments.
|
- `writer` facilitates text rendering with alignment and spacing adjustments.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTextWriter01.kt)
|
[source code](src/jvmDemo/kotlin/DemoTextWriter01.kt)
|
||||||
@@ -33,6 +34,7 @@ Key Components:
|
|||||||
### DemoTextWriter02
|
### DemoTextWriter02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTextWriter02.kt)
|
[source code](src/jvmDemo/kotlin/DemoTextWriter02.kt)
|
||||||
@@ -40,6 +42,7 @@ Key Components:
|
|||||||
### DemoTextWriter03
|
### DemoTextWriter03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTextWriter03.kt)
|
[source code](src/jvmDemo/kotlin/DemoTextWriter03.kt)
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ drawer.circle(0.0, 0.0, size.sine(freq, phase))
|
|||||||
### DemoEnvelope
|
### DemoEnvelope
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoEnvelope.kt)
|
[source code](src/demo/kotlin/DemoEnvelope.kt)
|
||||||
@@ -65,6 +66,7 @@ drawer.circle(0.0, 0.0, size.sine(freq, phase))
|
|||||||
### DemoLFO
|
### DemoLFO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoLFO.kt)
|
[source code](src/demo/kotlin/DemoLFO.kt)
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ Note that drawing inside the `repeat` action has no effect. Have a look at the d
|
|||||||
### DemoRepeat01
|
### DemoRepeat01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoRepeat01.kt)
|
[source code](src/demo/kotlin/DemoRepeat01.kt)
|
||||||
@@ -45,6 +46,7 @@ Note that drawing inside the `repeat` action has no effect. Have a look at the d
|
|||||||
### DemoRepeat02
|
### DemoRepeat02
|
||||||
|
|
||||||
This demonstrates how to combine `repeat {}` with a postponed event to trigger drawing
|
This demonstrates how to combine `repeat {}` with a postponed event to trigger drawing
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoRepeat02.kt)
|
[source code](src/demo/kotlin/DemoRepeat02.kt)
|
||||||
@@ -52,6 +54,7 @@ This demonstrates how to combine `repeat {}` with a postponed event to trigger d
|
|||||||
### DemoTimeOut01
|
### DemoTimeOut01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/demo/kotlin/DemoTimeOut01.kt)
|
[source code](src/demo/kotlin/DemoTimeOut01.kt)
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ and triangle order.
|
|||||||
|
|
||||||
This method demonstrates concepts of computational geometry and procedural
|
This method demonstrates concepts of computational geometry and procedural
|
||||||
rendering.
|
rendering.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDelaunay01.kt)
|
[source code](src/jvmDemo/kotlin/DemoDelaunay01.kt)
|
||||||
@@ -88,6 +89,7 @@ rendering.
|
|||||||
### DemoDelaunay02
|
### DemoDelaunay02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoDelaunay02.kt)
|
[source code](src/jvmDemo/kotlin/DemoDelaunay02.kt)
|
||||||
@@ -103,6 +105,7 @@ The program performs the following:
|
|||||||
- Derives the Voronoi diagram using the Delaunay triangulation and the bounding frame.
|
- Derives the Voronoi diagram using the Delaunay triangulation and the bounding frame.
|
||||||
- Extracts the cell polygons of the Voronoi diagram.
|
- Extracts the cell polygons of the Voronoi diagram.
|
||||||
- Renders the Voronoi cell polygons on the canvas, with a pink stroke on a black background.
|
- Renders the Voronoi cell polygons on the canvas, with a pink stroke on a black background.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoVoronoi01.kt)
|
[source code](src/jvmDemo/kotlin/DemoVoronoi01.kt)
|
||||||
@@ -110,6 +113,7 @@ The program performs the following:
|
|||||||
### DemoVoronoi02
|
### DemoVoronoi02
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoVoronoi02.kt)
|
[source code](src/jvmDemo/kotlin/DemoVoronoi02.kt)
|
||||||
@@ -117,6 +121,7 @@ The program performs the following:
|
|||||||
### DemoVoronoi03
|
### DemoVoronoi03
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoVoronoi03.kt)
|
[source code](src/jvmDemo/kotlin/DemoVoronoi03.kt)
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ The language also holds some tools to manage the position and orientation of the
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Drawing a square using the turtle interface.
|
Drawing a square using the turtle interface.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTurtle01.kt)
|
[source code](src/jvmDemo/kotlin/DemoTurtle01.kt)
|
||||||
@@ -45,6 +46,7 @@ Drawing a square using the turtle interface.
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
A simple random walk made using the turtle interface.
|
A simple random walk made using the turtle interface.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTurtle02.kt)
|
[source code](src/jvmDemo/kotlin/DemoTurtle02.kt)
|
||||||
@@ -53,6 +55,7 @@ A simple random walk made using the turtle interface.
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Drawing shape contours aligned to the turtle's orientation.
|
Drawing shape contours aligned to the turtle's orientation.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoTurtle03.kt)
|
[source code](src/jvmDemo/kotlin/DemoTurtle03.kt)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ To create independent views inside one program window.
|
|||||||
Demonstrates how to use a proxy program inside a [viewBox],
|
Demonstrates how to use a proxy program inside a [viewBox],
|
||||||
how the main program can access its variables and methods,
|
how the main program can access its variables and methods,
|
||||||
and execute its `extend` block by calling its `draw()` method.
|
and execute its `extend` block by calling its `draw()` method.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoProxyProgram01.kt)
|
[source code](src/jvmDemo/kotlin/DemoProxyProgram01.kt)
|
||||||
@@ -26,6 +27,7 @@ position.
|
|||||||
|
|
||||||
Note that programA keeps listening to the key events
|
Note that programA keeps listening to the key events
|
||||||
even if programB is currently displayed.
|
even if programB is currently displayed.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoProxyProgram02.kt)
|
[source code](src/jvmDemo/kotlin/DemoProxyProgram02.kt)
|
||||||
@@ -41,6 +43,7 @@ repeatedly, in a grid of 4 columns and 4 rows.
|
|||||||
|
|
||||||
The camera's initial rotation and scaling are specified as a transformation matrix.
|
The camera's initial rotation and scaling are specified as a transformation matrix.
|
||||||
To control the camera use the mouse wheel and buttons on the top-left view.
|
To control the camera use the mouse wheel and buttons on the top-left view.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoUpdate01.kt)
|
[source code](src/jvmDemo/kotlin/DemoUpdate01.kt)
|
||||||
@@ -54,6 +57,7 @@ All three can be controlled with the mouse wheel and buttons.
|
|||||||
The `shouldDraw` viewBox variable is used to avoid re-rendering the view
|
The `shouldDraw` viewBox variable is used to avoid re-rendering the view
|
||||||
unnecessarily when the camera has not changed.
|
unnecessarily when the camera has not changed.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[source code](src/jvmDemo/kotlin/DemoViewBox01.kt)
|
[source code](src/jvmDemo/kotlin/DemoViewBox01.kt)
|
||||||
|
|||||||
Reference in New Issue
Block a user