# Processing Sketch Browser

**URL:** <https://discourse.processing.org/t/processing-sketch-browser/48452>\
**Category:** Gallery\
**Created:** [April 21, 2026, 3:45am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452 "2026-04-21T03:45:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [April 21, 2026, 3:45am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/1 "2026-04-21T03:45:10Z")

</div>

![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/9/4/942c9760052761285244b21e1eb32f91ab50bea7.jpeg)

processsing sketch browser  
Video

[![](https://img.youtube.com/vi/3UPGjDTa050/maxresdefault.jpg "Processing Sketch Browser") ](https://www.youtube.com/watch?v=3UPGjDTa050)

Video  
[https://youtu.be/3UPGjDTa050](https://www.youtube.com/watch?v=3UPGjDTa050)

---

<div class="post-metadata">

**Author:** ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)\
**Post date:** [April 21, 2026, 7:05am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/2 "2026-04-21T07:05:59Z")

</div>

Although I am not sure what is happening the output looks pretty. 😀

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [April 21, 2026, 10:41am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/3 "2026-04-21T10:41:19Z")

</div>

@quark It’s a sketch browser. The mini tiles are sketches. So this is sketches running inside a sketch. I can rotate them, I can invert, I can pixelate. Basically each is a PGRAPHICS layer so the code of the sketch is one layer and I can stack layers on top of code.

Its a really cool sandbox

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [April 26, 2026, 6:04am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/4 "2026-04-26T06:04:05Z")

</div>

![betasketch](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/f/f/ffed9e581ccd5184d2de530dcb6a1d0249d361eb.png)  
Here is an update

[![](https://i.ytimg.com/vi/UglFbKKQAQc/hqdefault.jpg "sketchBrowser beta1") ](https://www.youtube.com/watch?v=UglFbKKQAQc)

[![](https://i.vimeocdn.com/video/2150374782-0798acc9dae5399d6bc65967f957de55fb6a32433ae08aa9376b7a3854a04c81-d?f=webpion=us "sketchBrowser\_beta1") ](https://vimeo.com/1186632335)

---

<div class="post-metadata">

**Author:** ![sableraph](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/sableraph/32/251_2.png) [@sableraph](https://discourse.processing.org/u/sableraph)\
**Post date:** [April 27, 2026, 10:59am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/5 "2026-04-27T10:59:52Z")

</div>

You mentioned in another thread that you use an older version of Processing for this:

> [@Launcher for Multi-Renderer PApplets](https://discourse.processing.org/t/launcher-for-multi-renderer-papplets/46764/3):
>
> I love this. I can see how this can work with my project as well however I use a very old version 1.51

It’s amazing to see there are people still using the OG version in 2026 😊 Just out of curiosity, what made you stick with Processing 1.5.1 instead of newer releases?

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [April 28, 2026, 4:13am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/6 "2026-04-28T04:13:50Z")

</div>

Glad you asked actually

- Native Java Applet Export (.jar)
- Direct Hardware Access via beginGL() and endGL()
- Legacy Move via Quicktime for Java
- Seamless PApplet Embedding
- This is by far the most popular reason (Processing 1.51) has a smooth() function in P3D that later versions do not have so I can only use processing 1.51 to create ‘these specific’ visuals

That and Iove manipulating pixels and using the CPU only is a pain in java I run the heavy lifting to the GPU render complex 3d then filter it back to a 2d plane and i can literally do anything

Also processing has no real textbox or buttons you have to create things from scratch

I can use [processing.org](http://processing.org) 1.51 to render any UI i want in an offscreen buffer and then show real GUI and i can literally create any fancy GUI interface I want

With just ‘pixels’!

So i get stability. If i need a faster app i can always port to to 2.x or 3.x or whenever 4.x is ready but 1.51 is ROCK STABLE!

Great question

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 18, 2026, 12:13pm UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/7 "2026-05-18T12:13:23Z")

</div>

Huge update coming end of month!

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [May 19, 2026, 4:29pm UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/8 "2026-05-19T16:29:20Z")

</div>

> [@adaptinnovative](#):
>
> Direct Hardware Access via beginGL() and endGL()

Hello @adaptinnovative ,

Experimenting a bit…

I was able to run this Advanced OPENGL example with Processing 4.5.2:  
_[Opengl \ Libraries \ Processing 1.0](https://www.andrew.cmu.edu/course/60-257/reference/libraries/opengl/index.html)_

> **Code**
>
> ```processing
> import processing.opengl.*;
> import com.jogamp.opengl.GL2;
> 
> float a;
> 
> /*
> Processing 4 version of the original OpenGL example.
> 
> Same intent as the original:
> use direct fixed-function OpenGL calls for color, transform,
> rotation, and rectangle drawing.
> 
> Processing 4 changes:
> 1. Request legacy-compatible OpenGL with PJOGL.profile = 1.
> 2. Replace old pgl.beginGL() with beginPGL().
> 3. Get GL2 from JOGL with pgl.gl.getGL2().
> */
> 
> void settings()
> {
> // Original: 
> //size(800, 600, OPENGL);
>   
> // Replaced:
> PJOGL.profile = 1;
> size(800, 600, P3D);
> }
> 
> void setup()
> {
> }
> 
> void draw()
> {
> background(255);
> 
> // Original: 
> //PGraphicsOpenGL pgl = (PGraphicsOpenGL) g;
> //GL gl = pgl.beginGL();
>   
> // Replaced:
> PJOGL pgl = (PJOGL) beginPGL();
> GL2 gl = pgl.gl.getGL2();
> 
> // Original:
> gl.glColor4f(0.7, 0.7, 0.7, 0.8);
> 
> gl.glPushMatrix();
> 
> gl.glTranslatef(width/2, height/2, 0);
> gl.glRotatef(a, 1, 0, 0);
> gl.glRotatef(a*2, 0, 1, 0);
> 
> gl.glRectf(-200, -200, 200, 200);
> 
> gl.glRotatef(90, 1, 0, 0);
> gl.glRectf(-200, -200, 200, 200);
> 
> gl.glPopMatrix();
> 
> // Original: 
> // pgl.endGL();
>   
> // Replaced:
> endPGL();
> 
> a += 0.5;
> }
> 
> /*
> //Original:
> //https://www.andrew.cmu.edu/course/60-257/reference/libraries/opengl/index.html
> 
> import javax.media.opengl.*;
> import processing.opengl.*;
>   
> float a; 
>   
> void setup() {
> size(800, 600, OPENGL);
> }
>   
> void draw() {
> background(255);
>   
> PGraphicsOpenGL pgl = (PGraphicsOpenGL) g; // g may change
> GL gl = pgl.beginGL(); // always use the GL object returned by beginGL
>   
> // Do some things with gl.xxx functions here.
> // For example, the program above is translated into:
> gl.glColor4f(0.7, 0.7, 0.7, 0.8);
> gl.glTranslatef(width/2, height/2, 0);
> gl.glRotatef(a, 1, 0, 0);
> gl.glRotatef(a*2, 0, 1, 0);
> gl.glRectf(-200, -200, 200, 200);
> gl.glRotatef(90, 1, 0, 0);
> gl.glRectf(-200, -200, 200, 200);
>   
> pgl.endGL();
>     
> a += 0.5;
> }
> */
> 
> ```

> [@adaptinnovative](#):
>
> (Processing 1.51) has a smooth() function in P3D that later versions do not have so I can only use processing 1.51 to create ‘these specific’ visuals

Can you elaborate? Please provide an example.

I have Processing 1.5.1 working in W10 in _Windows 98 SE_ compatibility mode. There are some issues with _File \> Open_ (hangs) and _File \> Save_ (closes app) or _File \> Save as …_ (closes app).

`:)`

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 21, 2026, 12:37am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/9 "2026-05-21T00:37:20Z")

</div>

I have [processing.org](http://processing.org) 1.51 on Windows 11 and it works beautifully.

Regarding the smooth i looked at [Processing.org](http://Processing.org) 1.51 source code and it is in PSmoothTriangle.java that the code is different. I will have to give you a visual example. It got changed in later versions so I always liked 1.51 way of smoothing.

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 2:01am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/10 "2026-05-22T02:01:05Z")

</div>

![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/2/9/2941b3118aead255c7e37d195a27f33ddb8e1638.jpeg)

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 2:02am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/11 "2026-05-22T02:02:15Z")

</div>

![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/6/6/66cf0557e1058f863b3f8b7c74575968028e5ed7.jpeg)

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 2:09am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/12 "2026-05-22T02:09:50Z")

</div>

I will be opening slots for sketch submissions shortly

---

<div class="post-metadata">

**Author:** ![svan](https://avatars.discourse-cdn.com/v4/letter/s/82dd89/32.png) [@svan](https://discourse.processing.org/u/svan)\
**Post date:** [May 22, 2026, 2:22am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/13 "2026-05-22T02:22:05Z")

</div>

Impressive graphics. I missed which renderer you are using in 1.5.1.

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 2:32am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/14 "2026-05-22T02:32:44Z")

</div>

Plain old pixels I am using P2D

---

<div class="post-metadata">

**Author:** ![svan](https://avatars.discourse-cdn.com/v4/letter/s/82dd89/32.png) [@svan](https://discourse.processing.org/u/svan)\
**Post date:** [May 22, 2026, 3:02am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/15 "2026-05-22T03:02:16Z")

</div>

You’re getting 3D images out of a 2D renderer? The output is better than what I usually see out of OpenGL and on par with Apple’s Metal. Is there any available source code?

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 10:20am UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/16 "2026-05-22T10:20:07Z")

</div>

yes its a custom procedure I wrote. Basically manipulates pixels to ‘look’ 3D

Crazy beautiful.  
Yes sure I am opening slots pretty soon for persons to access the source.

---

<div class="post-metadata">

**Author:** ![svan](https://avatars.discourse-cdn.com/v4/letter/s/82dd89/32.png) [@svan](https://discourse.processing.org/u/svan)\
**Post date:** [May 22, 2026, 3:23pm UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/17 "2026-05-22T15:23:45Z")

</div>

It may or may not be relevant, but I notice that the function PSmoothTriangle takes a PGraphics3D parameter, ie `PSmoothTriangle(PGraphics3D iparent).` I’m anxious to see your innovation; thanks for posting.

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 8:03pm UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/18 "2026-05-22T20:03:41Z")

</div>

yes I am very excited. You expressed seeing the code. Do you want to host one of your sketches ?

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 22, 2026, 8:11pm UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/19 "2026-05-22T20:11:34Z")

</div>

![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/e/b/eb09c935f9304a8746741f045a4a2e0ece5d204e.jpeg)Both these sketches are 100% the Tower 100% pixels the cloud 100% pixels

---

<div class="post-metadata">

**Author:** ![adaptinnovative](https://avatars.discourse-cdn.com/v4/letter/a/2acd7d/32.png) [@adaptinnovative](https://discourse.processing.org/u/adaptinnovative)\
**Post date:** [May 26, 2026, 7:23pm UTC](https://discourse.processing.org/t/processing-sketch-browser/48452/20 "2026-05-26T19:23:25Z")

</div>

Added new feature that you can hotswap code in just by clicking area in the browser and

1. it checks to see if the clipbard has a .pde file text
2. you can paste in .pde code as text and it autoloads the sketch into the browser

[Next page](https://discourse.processing.org/t/processing-sketch-browser/48452.md?page=2)
