openrndr

OPENRNDR. A Kotlin/JVM library for creative coding, real-time and interactive graphics

OTHER License

Stars
878

Bot releases are visible (Hide)

openrndr - OPENRNDR 0.4.2

Published by edwinRNDR over 1 year ago

Changes since 0.4.1

openrndr-application

openrndr-animatable

openrndr-draw

openrndr-gl3

openrndr-ffmpeg

openrndr-math

openrndr-shape

openrndr-utils

openrndr-webgl

openrndr - OPENRNDR 0.4.1

Published by edwinRNDR about 2 years ago

Thanks to @jbellis, @hamoid, @Vechro for their kind contributions.

Changes since 0.4.0

openrndr

  • Introduce ExtensionDslMarker (#330)
  • Upgrade to Gradle 7.5 (db5555ba3868ff535c540a94db382ff2a7ddaaf9)
  • Remove ApplicationDslMarker (#336)
  • Upgrade to kotlinx.coroutines 1.6.4, kotlin-logging 2.1.23, spek 2.0.18 (5e70d5016f956519d2a3c04dfc7823e6bb2786ab)
  • Update versions and use caching (#341)
  • Target JVM 11 (#343)
  • Upgrade to Gradle 7.5.1 (73de895ccfdcc40a8a21a0eb57cf36ac2e33bfe8)
  • Add missing dependencies (#349)

openrndr-color

  • Add 4-digit and 8-digit support for fromHex (#327)
  • Color model changes, rename a to alpha (#326)
  • Fix and simplify ColorHSVa, ColorHSLa (7166a9436759c879c6bb8b3c425e54833d916ab6)

openrndr-extensions

  • Fix multisample content scale bug in Screenshots (73de895ccfdcc40a8a21a0eb57cf36ac2e33bfe8)

openrndr-ffmpeg

  • Rename MP4Profile to H264Profile and improve its interface. Add fun ScreenRecorder.h264(configure:H264Profile.()->Unit) to configure h264 profile (8d508d7898bd940ed5994e3281a5c24ab361de23)

openrndr-gl3

  • Improve shader error reporting (4f7e84be8ec4557cdb47c6d415f250c6bfab109f, #329)
  • Place experimental pointer events behind -Dorg.openrndr.pointerevents (47fbbbddae8f94c75ecd2a30f62ebae77748163e)
  • Restore glfwPollEvents in setup (29a8cddbfd6de89718b56ff4f6a00aa606f105e9)

openrndr-math

  • Add TransformBuilder.rotate (#331)
  • Add pointAtLength (#333)
  • Remove inaccurate pointAtLength optimization (#341)

openndr-shape

  • Implement .segment/s() in CompositionDrawer (#332)

openrndr-webgl

  • Fix issue with render targets with stencil or depth-stencil attachments (#337, 8ed73fef04605a3b33fb3631a326ce9707140031)
  • Fix vertex buffer calls at non-zero offsets (#338)

Full Changelog: https://github.com/openrndr/openrndr/compare/v0.4.0...v0.4.1

openrndr - OPENRNDR 0.4.0

Published by edwinRNDR over 2 years ago

Thanks to @Vechro, @hamoid, @morisil, @jbellis, @goudreinette, @Yvee1, @ricardomatias, @tortila and @sam-tsao for their kind contributions.

Changes since 0.3.58

  • Introduction of multi platform support with a WebGL backend (alpha quality) https://github.com/openrndr/openrndr-js-template will get you started.
  • Reimplementation of Artifex in pure Kotlin, tweaked error thresholds to improve clipper quality
  • Reimplementation of GLUTessellator in pure Kotlin
  • Support for Apple silicon (M1)
  • Improved SVG support (@Vechro)
  • Support for querying and selecting displays (@Vechro)
  • Upgrade to LWJGL 3.3.1
  • Introduction of asset creation events
  • Upgrade to Kotlin 1.6.21

Merged pull requests

  • Deprecate rgba and hsva (#322)
  • Implement CastableToVector4 for all colors (#323)
  • Improve RenderTarget docs (#318)
  • Convert to version catalogs (#313)
  • Add nesting workaround for olive (#317)
  • Cache artifex conversions so that operations like contains can re-use them (#305)
  • Fix findGroup not finding non-terminal groups, add CompositionNode.find (#307)
  • Respect PresentationMode.MANUAL in js application (#306)
  • Add display queries and selection (#303)
  • Re-add default font (#299)
  • Add dot product to Vector4 (#302)
  • Update bug_report.yml (#301)
  • Improve demos and README.md (#298)
  • Fix polyline and polygon parsing. (#297)
  • Make it possible to pause and resume ScreenRecorder (#296)
  • Delay PreloadClass so ScreenRecorder can be preloaded successfully (#295)
  • Explain the behavior of ut in ShapeContour.position (#280)
  • Expose Vector2.clamp(rect) (#290)
  • Integer backed color buffers created and interacted with using proper OpenGL types (#293)
  • Make Circle.tangents not return null, fix edge cases (#291)
  • make Segment.length by lazy (#292)
  • Add ShapeContour.segment() (#289)
  • Implement missing / additional events (#285)
  • Add a minimal web version of the Screenshots extension (#283)
  • Implemented window title (#284)
  • Make loadImageSuspend use createColorBufferFromUrlSuspend (#286)
  • JvmOverloads annotations (#271)
  • Update Slack link (#268)
  • Add implicit height to Drawer.rectangle(s) (#267)
  • Add paragraph about writing tests in CONTRIBUTING.md (#266)
  • Modify resourceUrl to use the class argument as provided, and not its class (#265)
  • Change Rectangle's inherited method return types to self, fix Circle/Ellipse scaling (#262)
  • Rewrite tests to use kotlin.test API (#263)
  • Fix 3-point Circle (failed when two points had same x) (#260)
  • Make Circle contains an operator function (#257)
  • Remove debug statement in openrndr-shape (#258)
  • Document code, fix one deprecated call (#253)
  • Add basic CONTRIBUTING.md (#252)
  • Explain dokka on windows and update dokka (#251)
  • Deduplicate code in FontImageMapDrawer, make use of instance (#250)
  • Fix unused position bug in Drawer.texts (#249)
  • Use asset metadata in ScreenRecorder (#248)
  • Nested composition: alternative implementation without copying entire composition (#247)
  • Fix color serialization for Composition and add test (#246)
  • Cubic segment of linear Segment3D (#244)
  • Fix stroke getter in CompositionDrawer.kt (#243)
  • Document Color classes (#242)
  • Primitive shapes inherit from common interfaces (#240)
  • Add more idiomatic map functions (#241)
  • Add default value of 1.0 to scaleZ in scale function (#238)
  • Adjust commas in Matrix33/44 toString, implement Matrix55 toString (#237)
  • Upgrade project to Kotlin 1.5; use variables for version numbers wherever possible (#236)
  • Greatly improve SVG support (#227)
  • Switch to new Issue Forms (#235)
  • Catch error with absolute paths in Screenshots.kt (#233)
openrndr - OPENRNDR 0.3.45

Published by edwinRNDR over 3 years ago

OPENRNDR 0.3.45

  • 7efe40b1 Add ADD blend mode to RenderTargetGL3, fix outputs for imageFragmentShader (Edwin Jakobs)
  • d27f9cee Add captureEveryFrame and name properties (#165) (Eric Yancey Dauenhauer)
  • 4bb6ceeb Add .clear() to Composition (#182) (Abe Pazos)
  • d082ea82 Add CompositionDrawer.composition (#177) (Abe Pazos)
  • 4af2e2bb Add cursorHideMode to mouse and configuration (Edwin Jakobs)
  • 96a7ba6c Add disableCursor support (Edwin Jakobs)
  • 4d6be002 Add drawStyle.smooth control for shapes, add drawStyle.miterLimit (Edwin Jakobs)
  • c0c777f8 Add frameSkip variable to ScreenRecorder (Yvee1)
  • 4c0805ff Add imageProxy helper functions (Edwin Jakobs)
  • e7f0eaed Add javacpp native libraries to ffmpeg-natives (Edwin Jakobs)
  • 41eb29a9 add JvmOverloads for conversion functions (Jonathan Ellis)
  • 77ecfaef add JvmOverloads for LineSegment intersection (Jonathan Ellis)
  • 1d975289 Add LinearType interface, implement in most linear types (Edwin Jakobs)
  • cc636074 Add new Animatable implementation (Edwin Jakobs)
  • e211ab65 Add openrndr-demos (Edwin Jakobs)
  • 0b561819 Add Rectangle.position(uv: Vector2) (#195) (Abe Pazos)
  • dabda8c9 add resettableLazy and apply to Shape (#183) (Jonathan Ellis)
  • 3b97a6ed Add REVERSE_DIFFERENCE clip mode (Edwin Jakobs)
  • fa20386b Add Segment.contour (Edwin Jakobs)
  • 63807560 Add Segment.contour ShapeContour.contour (Edwin Jakobs)
  • b63ff5a3 Add Shape.toString (Edwin Jakobs)
  • 2a0b7da7 Add support for IntArray, DoubleArray in ShadeStyle (Edwin Jakobs)
  • f55b1f09 Add support for loading colorbuffers from .dds files (Edwin Jakobs)
  • e67a655e Add synchronized to writes to toRemove in CompositionDrawer (Edwin Jakobs)
  • 6d549e5c Add tools to get the last programmed animation for a property (Edwin Jakobs)
  • 2c3d6c3a Add triangle creation from centroid (#200) (Ricardo Matias)
  • 8c45cb27 Add window transparency (Edwin Jakobs)
  • 85c478a1 allow mixing lineTo with continueTo (Jonathan Ellis)
  • 6985a64f Blendmode: fix MULTIPLY and add REMOVE (Yvee1)
  • 26d6226a Convert from grayscale to RGB instead of forcing to RGBA (Edwin Jakobs)
  • fa4375fa Document shape and math classes/methods (#189) (Vechro)
  • 2e79b8ef Fix adaptivePositionsAndCorners (Edwin Jakobs)
  • 73380f08 Fix argument order in Polar.makeSafe() (#169) (Steven van den Broek)
  • 869938a2 Fix artifex intersections edge case (#201) (Abe Pazos)
  • 7d540f30 Fix circle strokes (Edwin Jakobs)
  • 66f0fce7 Fix concurrent modification problem in CompositionDrawer (Edwin Jakobs)
  • 56234fcf Fix empty shape handling in difference() (Edwin Jakobs)
  • 2ce26901 Fix equidistantPositions fixes #166 (Edwin Jakobs)
  • f0a2c31e Fix for grayscale to RGB conversion at load (Edwin Jakobs)
  • e6e02e79 Fix for linecaps (Edwin Jakobs)
  • acb8d77c Fix index out of bounds bug in drawing single line segments (Edwin Jakobs)
  • f497b539 Fix loading of stroke weights from SVG Add dimension overrides to ScreenRecorder.kt Add option to disable setting the pink application icon (Edwin Jakobs)
  • 78ac12c9 Fix mesh lines to work with orthogonal projections (Edwin Jakobs)
  • 421e6d01 Fix missing cursorHideMode in ApplicationNullGL (Edwin Jakobs)
  • c140c68e Fix problem in Artifex where Curve2.split is called with consecutive duplicates (Edwin Jakobs)
  • fed0a4f3 Fix zero division bug in Drawer when modelViewScaling is zero (Edwin Jakobs)
  • 708c4ab2 Force loading images through stb to result in RGBA formatted ColorBuffers (Edwin Jakobs)
  • e0da5326 Ignore vertical scale factor (Edwin Jakobs)
  • 687a35c2 Implement split(ShapeContour, ShapeContour) (#186) (Abe Pazos)
  • f3366023 Improve calculation of mirrored points in CatmullRomChain2/CatmullRomChain3 (Edwin Jakobs)
  • ac2a5f8f Improve character positioning (Edwin Jakobs)
  • 79e59a79 Improve ColorBufferGL3.copyTo(ArrayTexture such that it deals with compressed texture copies on GPU (Edwin Jakobs)
  • 1dc43c34 Improve DDS support, add support for copying from compressed ColorBuffer to compressed ArrayTexture (Edwin Jakobs)
  • b470e76b Improve documentation of LineSegment, remove unused functions (Edwin Jakobs)
  • 5c2462c8 Improve font rendering, add DrawStyle.textSetting (Edwin Jakobs)
  • a58312c4 Improve handling of corners in ExpansionDrawer, include stroke weight in distance tolerance (Edwin Jakobs)
  • d3c20702 Improve left-side bearing (Edwin Jakobs)
  • 17859a45 Improve minimum line width calculation in ShaderGeneratorsGL3 (Edwin Jakobs)
  • 9a834c6e Improve mouse cursor handling, add standard cursor types (Edwin Jakobs)
  • 4b0c48a7 Improve rectangle.scale, add List.bounds, List.bounds, Vector2.map(Rectangle, Rectangle) (Edwin Jakobs)
  • b6f9b0c7 Improve stroke rendering (Edwin Jakobs)
  • 74201418 Improve svg transform parsing (#178) (Steven van den Broek)
  • 4276fb15 Improve text rendering (Edwin Jakobs)
  • d07d8f04 Improve writer {} api by adding return values (Edwin Jakobs)
  • 68ab39ba Recover Vector2.fromPolar (Edwin Jakobs)
  • 816559c0 Rectangle: move intersects(), test, add ReplaceWith (#202) (Abe Pazos)
  • c9ce8be1 Refactor image loading, improve kdocs (Edwin Jakobs)
  • 0490113f Resolve toByte() conversion warnings (Edwin Jakobs)
  • b6b1a8b7 Revert and fix Expansion (Edwin Jakobs)
  • c49e445c Simplify shape boolean ops and intersections api (Edwin Jakobs)
  • b39d9f2f Split shape kt (#181) (Abe Pazos)
  • 8454b31f Tweak fringeWidth (Edwin Jakobs)
  • 7e6239ae Unify function argument names in ShapeOperations (Abe Pazos)
  • 3acd2579 update Gradle to 6.8 (#176) (Abe Pazos)
  • 97a93ef8 Upgrade to Gradle 6.8.2 (Edwin Jakobs)
  • c713ed7f Upgrade to Kotlin 1.4.30 (Edwin Jakobs)
openrndr - OPENRNDR 0.3.44

Published by edwinRNDR about 4 years ago

OPENRNDR 0.3.44

Summary of changes (from commit logs)

  • Add array size definitions to generated shaders in ShadeStructureGL3
  • Add Catmul-Rom to bezier conversions
  • Add Chaikin's cutting corners algorithm
  • Add Circle.fromPoints to construct a circle through 3 non co-linear points
  • Add ColorBuffer.crop Closes #147
  • Add CompositionNode.visitAll
  • Add fileExtension property to VideoWriterProfile
  • Add function overload to loadSVG which accepts a File
  • Add functions to add rectangles to batch
  • Add instance offset in Driver, add circle batching
  • Add intersection clip mode to CompositionDrawer
  • Add intersections(ShapeContour, ShapeContour)
  • Add Matrix44.toDoubleArray
  • Add normalization of t-values
  • Add org.openrndr.gl3.version property
  • Add OrientedRectangle
  • Add point batching
  • Add Ramer–Douglas–Peucker iterative end-point fit algorithm
  • Add rectangle batching
  • Add robustness in case RDP is used on looped point list
  • Add rotation to rectangle vertex shader generator
  • Add Segment and ShapeContour tForLength functions
  • Add segment/contour nearest point queries
  • Add ShaderStorageBuffer support
  • Add shader types, image bindings, OpenGL 4.5 support
  • Add support for layered RenderTarget attachments
  • Add SVG attribute support, improve CompositionDrawer interface
  • Add transformation targets to Drawer
  • Add uniform array
  • Add UNION clipmode
  • Allow optional UniformBlocks as some drivers detect they are not always used
  • Check for null in .parentFile()
  • Add outer and inner tangents calclations for Circle (#156)
  • Add luminance and contrast ratio to ColorRGBa (#151)
  • Fix #120, in file dialogs allow extension sets (#150)
  • Fix #97 - Implement namedTimestamp
  • Fix bounds for ShapeNode
  • Fix bug in contour position
  • Fix bug in sampleEquidistant Closes #135
  • Fix CatmullRomChains (too many points) (#142)
  • Fix ColorBufferGL3 copyTo behavior
  • Fix drawer matrices comment order
  • Fix for scaled shapes
  • Fix fringe geometry for beveled fills
  • Fix issue in ShadeStructureGL3 array definition generator
  • Fix issue with 3d line loops
  • Fix issue with UBOs that can be optimized away
  • Fix off-by-one bug in CatmullRom
  • Fix quotes in CompositionNode.svgId
  • Fix rendering circles and rectangles with negative width / height / radius (#154)
  • Fix uniform from parameter generation issue
  • Implement Array uniform
  • Implement CompositionDrawer.isolated/pushStyle/popStyle Closes #100
  • Implement default font for writing text
  • Improve color unification
  • Improve CompositionDrawer and SVG writing
  • Improve contour and segment intersection APIs
  • Improve shape/contour rendering
  • Improve stored circle batch interface
  • Make it easy to create squares out of Rectangle
  • Make namedTimestamp() accept no args
  • Merge openrndr-shape and openrndr-binpack into openrndr-core
  • Add support for loading images from SVG
  • Add shade styles to CompositionNode
  • Remove drawer style UBOs from shaders that don't use them
  • Remove newlines from base64 strings in ColorBufferDataGL3
  • Replace ShapeContour/Segment.project for nearest, update intersections API
  • Sanitize Catmull-Rom inputs
  • Unify color interfaces
  • Unify resolveTo and copyTo
  • Upgrade to Kotlin 1.4.10, JavaCPP 1.5.4, Gradle 6.6.1
  • Upgrade to Kotlin 1.4, Gradle 6.6
  • Work-around for issues in Drawer.contours
  • Work-around GLFW inconsistency Closes #127, #133
openrndr - OPENRNDR 0.3.43

Published by edwinRNDR over 4 years ago

OPENRNDR 0.3.43

Changelog

  • Add ability to disable clock synchronization in VideoPlayerFFMPEG
  • Add ArrayCubemap support, add character set customization
  • Add autodetection of video device instead of hardcoded name Closes #111
  • Add BufferTexture read/write
  • Add comparison to VertexFormat
  • Add configuration options to MP4Profile
  • Add Cubemap read
  • Add duration to VideoPlayerFFMPEG.kt, add h264_nvenc to MP4Profile
  • Add equals and turn types into data classes where possible
  • Add first and last segment to CamullRomChain2/3
  • Add flat qualifiers for integer varyings
  • Add geometry shader basics
  • Add integer vertex types
  • Add Matrix33.inversed Closes #125
  • Add Matrix44.fromDoubleArray
  • Add profiling and state tracking
  • Add program.ended and window.closed events Closes #126;
  • Add right property to CubemapSide
  • Add rotation method to Vector2 & LineSegment
  • Add saving and loading of BufferTexture
  • Add support for array cubemap filter parameters
  • Add support for boolean parameters in shade styles
  • Add support for float16 surfaces in DDSReader
  • Add support for integer outputs in shade styles
  • Add support for integer sampled buffer textures
  • Add support for IntVector2/3/4 uniforms and parameters
  • Add support for loading 16 bit PNG files
  • Add support for Vector2/3/4 arrays to ShadeStyle parameters
  • Add support for writing Int/IntVector2/3/4/ using BufferWriter
  • Add userArguments to MP4Profile
  • Add vsync configuration
  • Allow ColorBufferGL3 to used as texture when in multisample mode
  • Implement VideoPlayerFFMPEG.fromScreen() for capturing the desktop
  • Fix ApplicationEGLGL3
  • Fix argument name of BufferWriter.copyBuffer
  • Fix array cubemap creation
  • Fix buffer rewind issue in ColorBufferGL3
  • Fix bug in ArrayCubemapGL4.copyTo
  • Fix bug in DDSReader when loading mipmapped cubemaps
  • Fix bug in ffmpeg pix_fmt arguments
  • Fix clock bug in ApplicationEGLGL3
  • Fix cubemap mipmap issues, remove Cubemap.side interface
  • Fix custom character sets
  • Fix default levels argument for cubemap
  • Fix default/unnormalized path issues on Windows
  • Fix deprecation warnings
  • Fix EGL back-end render target
  • Fix hashCode of ColorRGBa
  • Fix issue #95 : Drawer accepts more types
  • Fix issue with display thread not stopping on dispose
  • Fix polar operations with swapped argument order
  • Fix Rectangle copypasta
  • Fix RenderTarget.attach(Cubemap, CubemapSide, Int, String) default argument
  • Fix RenderTargetGL3 array cubemap attaches
  • Fix unit test for Matrix33
  • Fix unproject
  • Improve OpenGL version checks
  • Improve profiling, increase cache size from 100 to 10000
  • Improve RenderTarget interface
  • Improve support for integer attributes. Add matrix44 array parameters
  • Make mouse drag event transmit the last pressed button
  • Remove Matrix44 * Vector3 as it is mathematically ambiguous
  • Upgrade gradle to 6.5.1
openrndr - OPENRNDR 0.3.42

Published by edwinRNDR over 4 years ago

Video

  • Add ScreenRecorder.shutdown
  • Add frame format/type checking in VideoWriter to prevent hard crashes
  • Fix x265 profile

Screenshots

  • Fix null-check for parentFile in Screenshots
  • Add Screenshots.beforeScreenshot and afterScreenshot events Closes #98
  • Add Screenshots.trigger
  • Allow delaying screenshots

Math and Vectors

  • Add addition/subtraction operators for Doubles/Vectors
  • Add clamp to map() (#85)
  • Add dimensions vector to Rectangle
  • Add distanceTo, squaredDistanceTo
  • Prevent division by zero in map
  • Add mixAngle, use it when mixing hues
  • Add Vector mix funcs, tests, fix Vec4.normalized
  • Add NaN tests to Double.map

Documentation

  • Update README.md
  • Improve API CSS
  • Add documentation for FileDialogs.kt

Development

  • Create pick-me.yml
  • Add workflows for bintray and apidocs

Contours and lines

  • Address shape contour split issue
  • Improve point deduplication for lineloops
  • Improve handling of compound shapes
  • Improve Shape.splitCompounds and triangulate
  • Improve ShapeContour.offset
  • Improve ShapeContour.sub
  • Improve shape winding and handling consistency
  • Make Shape and ShapeContour assumptions explicit, add contours {}
  • Add default argument value for ShapeContour.fromPoints
  • Fix bug in Contour.equidistantPositions
  • Fix bug in Drawer.contours
  • Fix consecutive duplicate point issues
  • Fix derivative for 3d quadratic beziers
  • Fix for quadratic bezier derivative
  • Fix for zero-length segments generated by BezierCubicSampler2D
  • Fix rounding bug in sampleEquidistant
  • Fix ShapeContour.offset issue where segments are disjoints
  • Change default tolerance for line-line intersection to 0

Interaction

  • Change mouse.clicked event to be an alias for mouse.buttonUp
  • Keep state of mouse buttons so it can be queried
  • Rename mouse.left to mouse.exited

Text writing

  • extend latin alphabet with Polish diacritics

Rendering

  • Add compound support for triangulateIndexed
  • Add (partial) openrndr-nullgl back-end, which can be used for testing
  • Add support for BufferTexture parameters in Filter
  • Fix handling of default VAO
  • Deprecate Drawer.background in favor of Drawer.clear
  • Add ignore options to ColorBuffer.isEquivalentTo
  • Add standard blend mode for non-premultiplied alpha
  • Change clear color to black to prevent flashes when working on installations
  • Switch to Java implementation of GLUTessellator
  • Add destroyContext to Driver

Other

  • Add elementOffset argument to VertexBuffer.put
  • Add feature request template for issues
  • Add multiplication symbol to default alphabet
  • Allow rgb(gray)
  • Disable sanitizing exception handler on windows, show cause chain
  • Fix bounds in ExpansionDrawer.kt
  • Fix small issues in SVGLoader
  • Resolve warnings emitted by compiler
  • Upgrade ffmpeg, kotlin, dokka, Gradle, kotlin-coroutines-core, Kluent
  • Work around lateinit issues in Application / Program

openrndr - OPENRNDR 0.3.40

Published by edwinRNDR over 4 years ago

openrndr_0340-800

OPENRNDR 0.3.40

What's new

  • Improved exception reporting
  • Improved handling of default locations for file dialog
  • Improved default names for ScreenRecorder and Screenshots
  • Improved controlPoints in continueTo
  • Improved ShadeStyle class
  • Added ColorBuffer.isEquivalentTo and ColorBuffer.createEquivalent
  • Added rgb, rgba, hsl, hsla, hsv, hsva short-hands
  • Added keyboard.pressedKeys
  • Added mouse.entered and mouse.left events
  • Fixed by in blend modes when using multiple Filter outputs
  • Added window resizing through program.window.size
  • Fixed bug in stencil buffer settings of ExpansionDrawer
  • Fixed visual artifacts in arcTo
  • Added names to events
  • Added names to shaders
  • Fixed bug in font loading that caused crash when loading multiple fonts
  • Fixed bugs in ShapeContour.offset
  • Fixed missing preambles in shade styles
openrndr - OPENRNDR 0.3.39

Published by edwinRNDR over 4 years ago

openrndr_39

OPENRNDR 0.3.39

What's new

OPENRNDR 0.3.39 is accompanied by ORX 0.3.47 and Panel 0.3.21. The template project openrndr-template has been updated to work with the latest versions.

In this release most of the new features are to be found in ORX.

  • Improved loading times of scripts and added async loading of scripts in orx-olive
  • Added orx-gui which provides tooling for automatic generation of user interfaces for prototyping and hacking. See the orx-gui chapter in the guide.
  • Added many filters to `orx-fx. Check out the filter index
  • Added preset shade styles in orx-shade-styles, check the shade style index
  • Revived and document orx-compositor, which is now an incredibly powerful tool to build layered graphics with extensive support for blending and post-processing. It now even has documentation in the guide.

OPENRNDR changelog

  • Add check for propagationCancelled in Screenshots
  • Fix bug that causes Screenshots to always work in async mode
  • Change Program.extend signatures to return generic type instead of Extension
  • Fix bug in ShapeContour where last segment is omitted in ShapeContour.offset()
  • Fix output of ShapeNode transforms to SVGWriter
  • Change Screenshots to use KeyEvent.name
  • Add key names for non-printable key
  • Fix for HiDPI inconsistencies on Linux
  • Add support for OpenGL / linux-arm64 platforms
openrndr - OPENRNDR 0.3.38

Published by edwinRNDR over 4 years ago

0338-800

OPENRNDR 0.3.38

What's new

  • A new GPU resource tracking system
  • Add writer {} extension methods that make the use Writer more fun
  • Mip-map level controls in ColorBuffer and ArrayTexture copy/write/read/resolve/attach operations
  • Change the default ShadeStyleFilter behaviour to be more like a Filter
  • Add Filter.apply(array<ColorBuffer>, RenderTarget)
  • Add OpenEXR loading and saving support to ColorBuffer
  • Fix shade style support for 3d lines
  • Add strokeWeight support when drawing Composition (submitted by @ilyasshafigin)
    ilyasshafigin
  • Add LINE_STRIP primitive support (submitted by @ricardomatias)
  • Add loadVideo and loadVideoDevice for easier video loading
  • Add ColorBuffer.anisotropy
  • Fix for ContourBuilder.close not adding an extra segment when needed
  • Add support for pausing and resuming VideoPlayerFFMPEG
openrndr - OPENRNDR 0.3.37

Published by edwinRNDR almost 5 years ago

0337_openrndr-3

OPENRNDR 0.3.37

What's new

  • Deprecated Drawer.reset()
  • Fixed small bug in grayscale() where c4r4 was not set to 1.0
  • Changed Vector2/3/4 get operator to be public
  • Added ColorBuffer.fromArray, ColorBuffer.fromBuffer
  • Moved most of openrndr-filter to orx-fx
  • Added clock synchronization between Program and Animatable
  • Added from and to base64 data url representations for ColorBuffer
  • Added ShadeStyleFilter
  • Moved AudioPlayer to openrndr-openal
  • Change Animatable to use nanosecond precision
  • Added Program.frameCount
  • Decommissioned FFMpegVideoPlayer

This release includes contributions by @ricardomatias and @MinteZ

openrndr - OPENRNDR 0.3.36

Published by edwinRNDR almost 5 years ago

openrndr-0 3 36

OPENRNDR 0.3.36

What’s new

  • A major revamp of VideoPlayerFFMPEG that adds OpenAL based sound support and simple input device listing.

  • VideoPlayerFFMPEG now has support for seeking.

  • VideoPlayerFFMPEG will now guess the right FPS when no FPS argument has been passed to VideoPlayerFFMPEG.fromDevice()

  • VideoPlayerFFMPEG now has draw functions with position and dimension arguments as well as source and target rectangles.

  • This release uses an OpenGL 4.3 context where available, it will drop back to a 3.3 core context if a 4.3 context can not be created.

  • The reason for using a 4.3 context is the added support for compute shaders. This release comes with basic (and somewhat experimental) support for compute shaders.

  • Program has an added deltaTime property that reflects that time (in seconds) since the last screen refresh.

  • Added support for 3D Beziers through Path3D an Segment3D. Drawer now has added path and segment primitives.

  • Added a point primitive to Drawer.

  • A shutdown() function has been added to the Extension class. Shutdown is called whenever an OPENRNDR application exits.

  • Added support for integer samplers.

  • Added extra constructors to Vector2, Vector3, Vector4 that allow GLSL like construction. For example one can now write Vector3(2.0) which is a short-hand for Vector3(2.0, 2.0, 2.0)

  • Added invoke() functions to Vector2, Vector3, Vector4, ColorRGBa, ColorHSVa, ColorHSLa that work exactly like the copy function but should be more convenient to use.

  • Added a Polar class that works analogous to the Spherical class.

  • Made the coroutine dispatcher code part of the public API, you can now create public dispatchers in an OPENRNDR program using the Dispatcher class.

  • Several tweaks and fixes to improve orx-olive

  • Upgraded LWJGL to 3.2.3 and Bytedeco JavaCPP to 1.5.2

This release includes contributions by @ricardomatias

openrndr - OPENRNDR 0.3.30

Published by edwinRNDR almost 6 years ago

Features

This release features:

  • Bugfix for performance bug in BufferTexture
  • Bugfix for degenerate triangle generation in mesh lines
  • Bugfix for Drawer.LineSegment(Vector3, Vector3) that would always dispatch to FastLineDrawer
  • Bugfix for Matrix44's column accessor
  • Improved CubeMapSide enumeration
  • Added support for DepthBuffer as ShadeStyle parameters
  • Added DEPTH16 DepthFormat
  • Added Mouse.position writability, and can now be used to set the cursor position
  • Added Mouse.cursorVisible
  • Added suppression of writing to default output in shader generator
  • Added safety checks to ColorBuffer.resolveTo

Api incompatibility

Several APIs have been changed and OPENRNDR 0.3.30 is binary incompatible with version 0.3.29. Additionally this version introduces source incompatibilities in the Mouse and Keyboard APIs. Add-on libraries will have to be recompiled for the 0.3.30 API.

openrndr - OPENRNDR 0.3.29

Published by edwinRNDR almost 6 years ago

Features

This release features:

  • Drawer improvements; notably 3d line rendering has been improved.
  • functional interface for Application; low-overhead API for quick sketches.
  • Triangulator improvements; replaced implementation with earcut4j, which provides support for polygons with holes
  • Bugfixes for ColorBufferShadow.read() when using R/RG formats
  • Bugfix for normal matrices that weren't stored in the ContextBlock UBO
  • CompoundBuilder improvements; unions / differences / intersections can now use more than 2 operands
  • Added Program.clock interface which can be used to override the time provided by seconds
  • ScreenRecorder uses Program.clock to provide time based on the frame index
  • ScreenRecorder now has maximumFrames, maximumDuration, quitAfterMaximum, multisample and frameClock configuration options
  • Subtractive blending, contributed by @MinteZ
  • Automated updates to the online API docs
  • Improved API docs for openrndr-animatable, contributed by @CodeCox
  • Multisample support through multisample ColorBuffer and DepthBuffer

Functional Application

The newly provided application builder function can be used to declare applications as simple as:

fun main() = application {
    configure {
        width = 640
        height = 480
    }

    program {
        extend {
            drawer.circle(width / 2.0, height / 2.0, 100.0)
        }
    }
}

Api incompatibility

Several APIs have been changed and OPENRNDR 0.3.29 will be binary incompatible with version 0.3.28. Add-on libraries will have to be recompiled for the 0.3.29 API.

openrndr - OPENRNDR 0.3.28

Published by edwinRNDR almost 6 years ago

This release features:

  • Kotlin 1.3.0
  • Multithreaded rendering and coroutine dispatchers on Program thread
  • Improved Program.extend interface
  • Code in Drawer.kt spread over multiple files
  • Implemented multiply blendmode

Bugfixes:

  • Contour winding in SVG loader
  • ShapeContour.sub now works correctly for sub-segments across the contour origin
  • Default path for openFilesDialog
openrndr - OPENRNDR 0.3.27

Published by edwinRNDR about 6 years ago

This release features:

  • Improved API consistency
  • ColorBufferShadow map functions
  • Reduced overhead from FFMPEG platform libraries
  • Upgrade to Gradle 4.10.2
  • Support for Cyrillic alphabets
  • Bugfix for problems with shared uniform blocks
  • Bugfix for dropping multiple files on program window
  • Bugfix for Writer.textWidth ignoring tracking
openrndr - OPENRNDR 0.3.26

Published by edwinRNDR about 6 years ago

Features:

  • easier Composition generation through CompositionDrawer
  • ColorBufferShadow []-accessors
  • kotlin 1.2.70 libraries
  • Screenshots a screenshot extension with up-scaling support
  • bezier bounds and ShapeContour offsets
  • Shape and ShapeContour boolean ops using Artifex
  • ColorBuffers can now be saved in JPEG format (thanks to @daniel5gh)

Bugfixes:

  • leading in multi-line texts is now correct
  • FontImageMapDrawer no longer generates out of bounds exceptions
openrndr - OPENRNDR 0.3.25

Published by edwinRNDR about 6 years ago

New features

  • Async headless mode support
  • Index buffer support
  • Improved transform builder
  • Improved drawer and driver API

Thanks to @ernstnaezer and @MinteZ for their contributions.

openrndr - OPENRNDR 0.3.24

Published by edwinRNDR about 6 years ago

Features:

  • Added lineStrips, lineSegments, lineLoops with stroke weights per instance

Bugfixes:

  • Added resolution checks for VideoWriter
  • ScreenRecorder now resets shadeStyle before drawing the screen contents
  • Proper uniform locations for arrays in vertex attributes
  • Fixes for VAO hashing