# How to?

**URL:** https://openrndr.discourse.group/c/openrndr/how-to/7.md

[Latest](https://openrndr.discourse.group/latest.md) · [Categories](https://openrndr.discourse.group/categories.md)

---

## [About the How to? category](https://openrndr.discourse.group/t/about-the-how-to-category/17)

<div class="topic-metadata">

**Author:** [@edwin](https://openrndr.discourse.group/u/edwin)\
**Replies:** 0

</div>

Questions about how to get things done using OPENRNDR go here.

---

## [Add gradient colors to lines](https://openrndr.discourse.group/t/add-gradient-colors-to-lines/754)

<div class="topic-metadata">

**Author:** [@anoniim](https://openrndr.discourse.group/u/anoniim)\
**Replies:** 2\
**Last updated:** [September 3, 2025, 10:18am UTC](https://openrndr.discourse.group/t/add-gradient-colors-to-lines/754 "2025-09-03T10:18:09Z")

</div>

I drew a shape composed of many lines. Can I add gradient to the lines going from the center to the edges? I can’t change color of the lines separately. I draw them in a batch so they have to use the same drawer. T…

---

## [How to mask an image with a custom shape](https://openrndr.discourse.group/t/how-to-mask-an-image-with-a-custom-shape/749)

<div class="topic-metadata">

**Author:** [@fleximeter](https://openrndr.discourse.group/u/fleximeter)\
**Replies:** 2\
**Last updated:** [July 12, 2025, 10:18am UTC](https://openrndr.discourse.group/t/how-to-mask-an-image-with-a-custom-shape/749 "2025-07-12T10:18:35Z")

</div>

The image page in the tutorial (https://guide.openrndr.org/drawing/images.html) shows how to display part of an image in a Rectangle. Is it possible to display an image inside another shape, like a Circle? I tried using …

---

## [Do Skew + perspective transform on a rectangle and then check if a mouse cursor is on it](https://openrndr.discourse.group/t/do-skew-perspective-transform-on-a-rectangle-and-then-check-if-a-mouse-cursor-is-on-it/723)

<div class="topic-metadata">

**Author:** [@ajitid](https://openrndr.discourse.group/u/ajitid)\
**Replies:** 8\
**Last updated:** [January 7, 2025, 4:43pm UTC](https://openrndr.discourse.group/t/do-skew-perspective-transform-on-a-rectangle-and-then-check-if-a-mouse-cursor-is-on-it/723 "2025-01-07T16:43:04Z")

</div>

New to creative coding but familiar to programming here. I’m talking wrt 2D context in this post. I’m unable to figure out how I would be able to identify if my mouse cursor is on a skewed rectangle with a perspective t…

---

## [Video mapping 2d](https://openrndr.discourse.group/t/video-mapping-2d/720)

<div class="topic-metadata">

**Author:** [@supernihil](https://openrndr.discourse.group/u/supernihil)\
**Replies:** 24\
**Last updated:** [December 30, 2024, 3:56pm UTC](https://openrndr.discourse.group/t/video-mapping-2d/720 "2024-12-30T15:56:37Z")

</div>

hi i am trying to figure out how to do the following: a video is played using ffmpeg and into a render target (A) four coordinates (Q) describe a polygon inside the render target (A) four other coordinates (E) describe…

---

## [Rendertarget to udp broadcast](https://openrndr.discourse.group/t/rendertarget-to-udp-broadcast/715)

<div class="topic-metadata">

**Author:** [@supernihil](https://openrndr.discourse.group/u/supernihil)\
**Replies:** 9\
**Last updated:** [December 7, 2024, 3:31pm UTC](https://openrndr.discourse.group/t/rendertarget-to-udp-broadcast/715 "2024-12-07T15:31:16Z")

</div>

Hi, i currently use ffmpeg ro do mpegts h264 udp broadcast on lan by piping ffmpeg into socat. Can anybody point me in a direction of how to get rendertarget drawn using ffmpeg but with udp output?

---

## [How to process every single frame of a video?](https://openrndr.discourse.group/t/how-to-process-every-single-frame-of-a-video/688)

<div class="topic-metadata">

**Author:** [@dedos](https://openrndr.discourse.group/u/dedos)\
**Replies:** 18\
**Last updated:** [November 27, 2024, 5:40pm UTC](https://openrndr.discourse.group/t/how-to-process-every-single-frame-of-a-video/688 "2024-11-27T17:40:39Z")

</div>

I have succesfully written a simple program inside my main program that exports a video off-screen using Render Targets. The problem is: my computer sucks. Therefore, the video output sucks as well, with lots of lag and…

---

## [Compute Shaders and buffers](https://openrndr.discourse.group/t/compute-shaders-and-buffers/434)

<div class="topic-metadata">

**Author:** [@Alessandro](https://openrndr.discourse.group/u/Alessandro)\
**Replies:** 8\
**Last updated:** [October 23, 2024, 4:45pm UTC](https://openrndr.discourse.group/t/compute-shaders-and-buffers/434 "2024-10-23T16:45:24Z")

</div>

Hallo there, trying to find my way with compute shaders in Openrndr (I have experience with them in Unity), but the guide is particularly dense on the subject. In particular, is there a way to send/bind a general type b…

---

## [Building program with jpackage for Windows](https://openrndr.discourse.group/t/building-program-with-jpackage-for-windows/692)

<div class="topic-metadata">

**Author:** [@dedos](https://openrndr.discourse.group/u/dedos)\
**Replies:** 1\
**Last updated:** [October 11, 2024, 5:36am UTC](https://openrndr.discourse.group/t/building-program-with-jpackage-for-windows/692 "2024-10-11T05:36:48Z")

</div>

I have arrived at a point of my OPENRNDR program which I want to export as a standalone Windows application. When i use ./gradlew clean shadowJar, it exports a .jar file which I can run and it works perfectly. However,…

---

## [How to debug a Ffmpeg --11 error](https://openrndr.discourse.group/t/how-to-debug-a-ffmpeg-11-error/686)

<div class="topic-metadata">

**Author:** [@dedos](https://openrndr.discourse.group/u/dedos)\
**Replies:** 7\
**Last updated:** [October 3, 2024, 1:01pm UTC](https://openrndr.discourse.group/t/how-to-debug-a-ffmpeg-11-error/686 "2024-10-03T13:01:01Z")

</div>

My current OPENRNDR program does the following: loads videos and image files from a ‘playlist’ folder and assigns them to Scenes on a timeline plays these files sequentially after the project is loaded and I press spac…

---

## [Video playback (play, pause etc)](https://openrndr.discourse.group/t/video-playback-play-pause-etc/685)

<div class="topic-metadata">

**Author:** [@dedos](https://openrndr.discourse.group/u/dedos)\
**Replies:** 5\
**Last updated:** [October 1, 2024, 12:45pm UTC](https://openrndr.discourse.group/t/video-playback-play-pause-etc/685 "2024-10-01T12:45:32Z")

</div>

I’m working on a program that loads a timestamped Transcript txt file + an Audio file that corresponds to the Transcript. It then builds a timeline divided by scenes. Each scene loads an image or video file inside a ‘pla…

---

## [How to efficiently write OSC values in a MutableList?](https://openrndr.discourse.group/t/how-to-efficiently-write-osc-values-in-a-mutablelist/664)

<div class="topic-metadata">

**Author:** [@far\_io](https://openrndr.discourse.group/u/far_io)\
**Replies:** 2\
**Last updated:** [June 26, 2024, 10:29am UTC](https://openrndr.discourse.group/t/how-to-efficiently-write-osc-values-in-a-mutablelist/664 "2024-06-26T10:29:28Z")

</div>

Hello everyone, I am trying to find a convenient way to parse osc value from almost identical addresses (like « /test1, /test2, /test3 etc…) into a MutableList so I can then reuse this values into chosen parameters, let…

---

## [Stipple portraits](https://openrndr.discourse.group/t/stipple-portraits/569)

<div class="topic-metadata">

**Author:** [@Tankian](https://openrndr.discourse.group/u/Tankian)\
**Replies:** 10\
**Last updated:** [June 22, 2024, 6:27pm UTC](https://openrndr.discourse.group/t/stipple-portraits/569 "2024-06-22T18:27:41Z")

</div>

Could you help me with creating a program that produces a similar effect as in the link, using the files provided by the author in the comment below the post? https://www.reddit.com/r/generative/comments/lbodjy/morphing…

---

## [Running OPENRNDR on Raspberry Pi 4](https://openrndr.discourse.group/t/running-openrndr-on-raspberry-pi-4/151)

<div class="topic-metadata">

**Author:** [@kazik](https://openrndr.discourse.group/u/kazik)\
**Replies:** 4\
**Last updated:** [March 10, 2024, 9:29am UTC](https://openrndr.discourse.group/t/running-openrndr-on-raspberry-pi-4/151 "2024-03-10T09:29:19Z")

</div>

I was able to install 64bit Raspberry Pi OS on my Pi 4. I know that aarch64 is supported now, so I thought that maybe OPENRNDR will work out of the box. I can build opernrndr-template, but when I run it, it throws Invoc…

---

## [How to use OrbitalCamera and OrbitalControls in only some parts of your program?](https://openrndr.discourse.group/t/how-to-use-orbitalcamera-and-orbitalcontrols-in-only-some-parts-of-your-program/53)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 4\
**Last updated:** [February 8, 2024, 6:54pm UTC](https://openrndr.discourse.group/t/how-to-use-orbitalcamera-and-orbitalcontrols-in-only-some-parts-of-your-program/53 "2024-02-08T18:54:19Z")

</div>

Hi! I have the following in my program: val camera = OrbitalCamera(Vector3.UNIT\_Z \* 1000.0, Vector3.ZERO, 90.0, 0.1, 2000.0) val controls = OrbitalControls(camera, keySpeed = 10.0) extend(camera…

---

## [Loading 3D lines from an OBJ file](https://openrndr.discourse.group/t/loading-3d-lines-from-an-obj-file/626)

<div class="topic-metadata">

**Author:** [@abe](https://openrndr.discourse.group/u/abe)\
**Replies:** 0\
**Last updated:** [February 7, 2024, 1:26pm UTC](https://openrndr.discourse.group/t/loading-3d-lines-from-an-obj-file/626 "2024-02-07T13:26:31Z")

</div>

For a project I’m working on I needed to load a 3D model and a bunch of 3D line segments. To load the model in .obj file format I used orx/orx-obj-loader at master · openrndr/orx · GitHub but that orx does not yet suppo…

---

## [Parallel Reduction in Compute Shaders](https://openrndr.discourse.group/t/parallel-reduction-in-compute-shaders/620)

<div class="topic-metadata">

**Author:** [@Alessandro](https://openrndr.discourse.group/u/Alessandro)\
**Replies:** 0\
**Last updated:** [December 19, 2023, 12:03pm UTC](https://openrndr.discourse.group/t/parallel-reduction-in-compute-shaders/620 "2023-12-19T12:03:23Z")

</div>

This is a post inspired by a conversation with @kazik at the latest Creative Coding Jam in Berlin. Here’s the context: suppose you have a data structure on the GPU (like a texture, a shader buffer object, etc.) and want…

---

## [Screenshots without GUI](https://openrndr.discourse.group/t/screenshots-without-gui/610)

<div class="topic-metadata">

**Author:** [@anoniim](https://openrndr.discourse.group/u/anoniim)\
**Replies:** 2\
**Last updated:** [November 6, 2023, 8:53pm UTC](https://openrndr.discourse.group/t/screenshots-without-gui/610 "2023-11-06T20:53:54Z")

</div>

Hi hello, I wonder if there is a way to take screenshots (using org.openrndr.extensions Screenshots extension) that do not contain the UI added through org.openrndr.panel.ControlManager. I thought I would use beforeSc…

---

## [BackIn Easing function](https://openrndr.discourse.group/t/backin-easing-function/608)

<div class="topic-metadata">

**Author:** [@myreauks](https://openrndr.discourse.group/u/myreauks)\
**Replies:** 5\
**Last updated:** [November 1, 2023, 2:38pm UTC](https://openrndr.discourse.group/t/backin-easing-function/608 "2023-11-01T14:38:35Z")

</div>

Hi! I noticed that there is a BackIn easing function in the source that is not made available in the easings-package. Is there a reason why it is omitted? How would I go about making it available to my program? Best, …

---

## [Geometry Shader support in Shadestyle](https://openrndr.discourse.group/t/geometry-shader-support-in-shadestyle/604)

<div class="topic-metadata">

**Author:** [@Alessandro](https://openrndr.discourse.group/u/Alessandro)\
**Replies:** 3\
**Last updated:** [October 31, 2023, 10:44am UTC](https://openrndr.discourse.group/t/geometry-shader-support-in-shadestyle/604 "2023-10-31T10:44:58Z")

</div>

Hello there, long time since my last post here! I was reading a little bit about geometry shaders here, and after finding out that there’s support in shadestyle for them, I decided to give it a try :slight\_smile: . I t…

---

## [Drawing and modifying SVG's](https://openrndr.discourse.group/t/drawing-and-modifying-svgs/606)

<div class="topic-metadata">

**Author:** [@myreauks](https://openrndr.discourse.group/u/myreauks)\
**Replies:** 6\
**Last updated:** [October 27, 2023, 6:25am UTC](https://openrndr.discourse.group/t/drawing-and-modifying-svgs/606 "2023-10-27T06:25:05Z")

</div>

Hi! Are there any examples on how to draw multiple SVG’s and choosing a different fill for each? I have tried drawing with the ‘drawer.composition()’ but nothing shows up. Should I somehow access the data inside the co…

---

## [Compiling for Android app](https://openrndr.discourse.group/t/compiling-for-android-app/601)

<div class="topic-metadata">

**Author:** [@LH99](https://openrndr.discourse.group/u/LH99)\
**Replies:** 1\
**Last updated:** [October 12, 2023, 8:45pm UTC](https://openrndr.discourse.group/t/compiling-for-android-app/601 "2023-10-12T20:45:24Z")

</div>

Hey there, I soon have a uni project, where I want to build an app for Android and want to show off some cool OPENRNDR stuff. The main page says under FAQ “Long-term goals: Support for iOS and Android”, so I guess this…

---

## [How to read from a VertexBuffer?](https://openrndr.discourse.group/t/how-to-read-from-a-vertexbuffer/596)

<div class="topic-metadata">

**Author:** [@camrawne](https://openrndr.discourse.group/u/camrawne)\
**Replies:** 4\
**Last updated:** [September 18, 2023, 1:12pm UTC](https://openrndr.discourse.group/t/how-to-read-from-a-vertexbuffer/596 "2023-09-18T13:12:43Z")

</div>

It’s pretty clear based on the guide + code how to write to a buffer using VertexBuffer.put(). Is it similarly possible/easy to read from a VertexBuffer? I see there’s a VertexBuffer.read(data: ByteBuffer, offset: Int = …

---

## [Updating panel elements during runtime](https://openrndr.discourse.group/t/updating-panel-elements-during-runtime/594)

<div class="topic-metadata">

**Author:** [@daymon](https://openrndr.discourse.group/u/daymon)\
**Replies:** 1\
**Last updated:** [August 28, 2023, 3:18am UTC](https://openrndr.discourse.group/t/updating-panel-elements-during-runtime/594 "2023-08-28T03:18:14Z")

</div>

Hey folks! How exactly should one go about updating the UI (org.openrndr.panel) during runtime? For example, given the following: extend(ControlManager()) { layout { p { "Shapes on screen: ${shapes.length}" } …

---

## [Drawing on a Retina / HiDPI Screen](https://openrndr.discourse.group/t/drawing-on-a-retina-hidpi-screen/583)

<div class="topic-metadata">

**Author:** [@Seyka](https://openrndr.discourse.group/u/Seyka)\
**Replies:** 4\
**Last updated:** [July 16, 2023, 8:04pm UTC](https://openrndr.discourse.group/t/drawing-on-a-retina-hidpi-screen/583 "2023-07-16T20:04:12Z")

</div>

Hello everyone, I recently started playing with OpenRNDR and I haven’t been able to figure out how to make it use a high density screen properly. In processing there is a function called PixelDensity() and usually calli…

---

## [How do I lock the cursor to the window?](https://openrndr.discourse.group/t/how-do-i-lock-the-cursor-to-the-window/498)

<div class="topic-metadata">

**Author:** [@AeroSoap](https://openrndr.discourse.group/u/AeroSoap)\
**Replies:** 5\
**Last updated:** [July 11, 2023, 8:39am UTC](https://openrndr.discourse.group/t/how-do-i-lock-the-cursor-to-the-window/498 "2023-07-11T08:39:15Z")

</div>

Something like you’d see in a first person game. I’ve already figured out how to hide the cursor, but there doesn’t seem to be any function or variable with a name suggesting it would lock the cursor and I can’t find any…

---

## [VideoPlayerFFMPEG buffer issues](https://openrndr.discourse.group/t/videoplayerffmpeg-buffer-issues/560)

<div class="topic-metadata">

**Author:** [@LH99](https://openrndr.discourse.group/u/LH99)\
**Replies:** 3\
**Last updated:** [May 26, 2023, 8:30pm UTC](https://openrndr.discourse.group/t/videoplayerffmpeg-buffer-issues/560 "2023-05-26T20:30:12Z")

</div>

I struggled with VideoPlayerFFMPEG quite a lot recently. Upon posting this issue, I found a solution which I’d like to share. Faulty setup (on macOS with M1 chip): val videoPlayer = VideoPlayerFFMPEG.fromFile("path/to…

---

## [How to export 3D geometry to SVG](https://openrndr.discourse.group/t/how-to-export-3d-geometry-to-svg/553)

<div class="topic-metadata">

**Author:** [@camrawne](https://openrndr.discourse.group/u/camrawne)\
**Replies:** 4\
**Last updated:** [April 25, 2023, 2:20pm UTC](https://openrndr.discourse.group/t/how-to-export-3d-geometry-to-svg/553 "2023-04-25T14:20:10Z")

</div>

I’m coming to OPENRNDR from Processing, and I’ve found something comparable for everything I used to do there except for rendering 3D geometry to SVG. Processing’s SVG package had a way to do this easily. According to th…

---

## [Read/write Stencil buffer and pass to glsl filter](https://openrndr.discourse.group/t/read-write-stencil-buffer-and-pass-to-glsl-filter/548)

<div class="topic-metadata">

**Author:** [@LH99](https://openrndr.discourse.group/u/LH99)\
**Replies:** 4\
**Last updated:** [April 20, 2023, 7:45am UTC](https://openrndr.discourse.group/t/read-write-stencil-buffer-and-pass-to-glsl-filter/548 "2023-04-20T07:45:09Z")

</div>

I am currently working on a stencil buffer to hold shape references 1,2,3… The idea is to draw a shape like a rect or circle with drawer.isolatedWithRenderTarget(rt) and draw the shapes at different z-values (maybe ?) o…

---

## [Using OPENRNDR as a websocket client](https://openrndr.discourse.group/t/using-openrndr-as-a-websocket-client/532)

<div class="topic-metadata">

**Author:** [@aahdee](https://openrndr.discourse.group/u/aahdee)\
**Replies:** 12\
**Last updated:** [March 25, 2023, 9:04am UTC](https://openrndr.discourse.group/t/using-openrndr-as-a-websocket-client/532 "2023-03-25T09:04:50Z")

</div>

Right now I’m using KTor as a way to expose websockets to Kotlin I’d like to be able to receive data from a preexisting server while the sketch runs, but Ive had limited success. It seems like theres difficulty in keepin…

[Next page](https://openrndr.discourse.group/c/openrndr/how-to/7.md?page=1)
