# Problems with Processing

**URL:** https://discourse.processing.org/t/problems-with-processing/43754
**Category:** Beginners
**Created:** [January 24, 2024, 11:52pm UTC](https://discourse.processing.org/t/problems-with-processing/43754 "2024-01-24T23:52:35Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Noodlybanan](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/noodlybanan/32/18897_2.png) [@Noodlybanan](https://discourse.processing.org/u/Noodlybanan)
#### Post date: [January 24, 2024, 11:52pm UTC](https://discourse.processing.org/t/problems-with-processing/43754/1 "2024-01-24T23:52:35Z")

</div>

This isn’t supposed to harrass anyone or bash on the language!

Sadly processing has a giant lack of documentation, stuff that is not incredibly basic is not in the new docs, only on old forums where almost all links are dead. There is stuff i only know from forums that was mentioned many years ago. An example is `hint` if you have autocomplete activated, it shows more options then are documented. Some more stuff is that the `frame` is now called `surface`, to access basic features. For example i was creating a complicated system to handle repeated key presses in processing P2D, even tho there is `hint(ENABLE_KEY_REPEAT);`  
Also how would anyone know on how to use a custom glsl shader? There is 0 documentation, how would one know shaders can be written in processing or glsl? [This Reddit post explains some of it, where some documentation is linked](https://www.reddit.com/r/processing/comments/ritpd8/shaders_in_processing/).

Also the editor is lacking very much, as i said in another post there are bugs and inconsistencies. For example:  
 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/b/3/b3251a23d88faf97523a37f4e7f50e45c78c1b56.png)  
Both functions work, even tho only one is highlighted.  
 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/4/2/42340c7418cdb5626f12255806cb1273d6c2cb86.png)  
Both divide as a float, only one is highlighted.  
 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/6/c/6c02c49c55752f6be333cba5c617ebfd8558240a.png)  
JOptionPane is not highlighted.

I have the feeling the processing language is being updated, but the editor and the Documentation is not. Just a list of every keyword would be outstanding.

Processing is possibly a great library, and great to use, if you had documentation. You can create complicated java things with basic code, which i love.

It is just, i’m rather learning rust or c++ if i have to spend as much time on it.

---

<div class="post-metadata">

### Author: ![GoToLoop](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/gotoloop/32/86_2.png) [@GoToLoop](https://discourse.processing.org/u/GoToLoop)
#### Post date: [January 27, 2024, 4:03am UTC](https://discourse.processing.org/t/problems-with-processing/43754/2 "2024-01-27T04:03:05Z")

</div>

> [@Noodlybanan](#):
>
> Sadly, Processing has a giant lack of documentation,

Processing’s web reference only contains the very basic, although they could add more to it:

> **[Reference](https://processing.org/reference/)**
>
> Find further documentation of the Processing language

For the most complete Processing’s API see its JavaDocs:  
[https://Processing.GitHub.io/processing-javadocs/core/](https://Processing.GitHub.io/processing-javadocs/core/)

There’s also the full source code on its repo:

> <https://github.com/benfry/processing4/tree/main/core/src/processing>
>
> //github.com/benfry/processing4/tree/main/core/src/processing

> [@Noodlybanan](#):
>
> There is 0 documentation, how would one know shaders can be written in Processing or GLSL?

GLSL is a completely different programming language targeting the GPU:

> **[OpenGL Shading Language](https://en.wikipedia.org/wiki/OpenGL_Shading_Language)**
>
> OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipeline without having to use ARB assembly language or hardware-specific languages.
> With advances in graphics cards, new features have been added to allow for increased flexibility in the rendering pipeline at the vertex and fragment level. Programmability at ...

Processing merely allows us to embed GLSL code in our sketches:

> **[PShader / Reference](https://processing.org/reference/PShader.html)**
>
> This class encapsulates a GLSL shader program, including a vertex and a fragment shader. It is compatible with P2D and P3D, but not with the default renderer. Use the loadShader() function to l…

> **[loadShader() / Reference](https://processing.org/reference/loadShader_.html)**
>
> Loads a shader into the PShader object. The shader file must be loaded in the sketch's "data" folder/directory to load correctly. Shaders are compatible with the P2D and P3D renderers, but not …

> [@Noodlybanan](#):
>
> JOptionPane is not highlighted.

JOptionPane `class` doesn’t belong to Processing’s API but Java’s standard library:

> **[JOptionPane (Java SE 17 & JDK 17)](https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JOptionPane.html)**
>
> declaration: module: java.desktop, package: javax.swing, class: JOptionPane

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [January 28, 2024, 5:40pm UTC](https://discourse.processing.org/t/problems-with-processing/43754/3 "2024-01-28T17:40:59Z")

</div>

Maybe @sableraph can also look in the OP proposal

Thank you!

---

<div class="post-metadata">

### Author: ![Noodlybanan](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/noodlybanan/32/18897_2.png) [@Noodlybanan](https://discourse.processing.org/u/Noodlybanan)
#### Post date: [January 28, 2024, 6:53pm UTC](https://discourse.processing.org/t/problems-with-processing/43754/4 "2024-01-28T18:53:43Z")

</div>

Thanks. However GLSL in processing is different because processing has some variables required as explained in the reddit post. Thanks for the javadocs. And for the syntax highlighting, i just wish that there would be everything highlighted, but i don’t know how big of a wish that is!

---

<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: [January 29, 2024, 2:11pm UTC](https://discourse.processing.org/t/problems-with-processing/43754/5 "2024-01-29T14:11:40Z")

</div>

Hi @Noodlybanan,

There was a PShader tutorial but it was outdated and other tutorials took priority when Processing4 was released and the website was updated. I hope we can work on an update to that tutorial soon.

You can still view the old PShader tutorial on the Internet Wayback Machine, and may find it helpful even though it is not up to date with the latest version of Processing.

> **[Shaders \\ Processing.org](https://web.archive.org/web/20160513094302/https://processing.org/tutorials/pshader/)**
>
> Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology.
