GithubHelp home page GithubHelp logo

processing / processing Goto Github PK

View Code? Open in Web Editor NEW
6.4K 428.0 1.5K 1.57 GB

Source code for the Processing Core and Development Environment (PDE)

Home Page: http://processing.org

License: Other

Java 95.71% Processing 1.56% HTML 0.18% Python 0.01% Shell 0.22% GLSL 0.81% GAP 0.87% ANTLR 0.22% Objective-C 0.19% Batchfile 0.01% Makefile 0.01% C 0.20% C++ 0.01% CSS 0.01%
art design learning education java pde processing

processing's Introduction

Since the release of Processing 3.5.4 in January 2020, development has moved to a new repository.

Using a 4.0 release (even an alpha or beta version) is recommended if you find an issue. To avoid confusion, this repo will remain open at least until a 4.0 release is the default download at https://processing.org/download. We chose to move to a new repository so that we could clean out old files accumulated over the last 20 years.

Processing

This is the official source code for the Processing Development Environment (PDE), the “core” and the libraries that are included with the download.

I've found a bug! Let us know here (after first checking if someone has already posted a similar problem). If it's a reference, web site, or examples issue, take that up with folks here. There are also separate locations for Android Mode, or the Video and Sound libraries. The processing.js project is not affiliated with us, but you can find their issue tracker here.

Locked Issues Where possible, I've started locking issues once resolved. This helps reduce the amount of noise from folks adding to an issue that's been closed for years. Because this project has existed for a long time and we have thousands of closed issues, lots of them may sound similar to an issue you're having. But if there's a new problem, it'll be missed if it's lost in a comment added to an already closed issue. I don't like to lock issues because it cuts off conversation, but it's better than legitimate problems being missed. Once an issue has been resolved for 30 days, it will automatically lock.

That processing-bugs fella is suspicious. The issues list has been imported from Google Code, so there are many spurious references amongst them since the numbering changed. Basically, any time you see references to changes made by processing-bugs, it may be somewhat suspect. Over time this will clean itself up as bugs are fixed and new issues are added from within GitHub. Help speed this process along by helping us!

Please help. The instructions for building the source are here. Please help us fix problems, and if you're submitting code, following the style guidelines helps save me a lot of time.

And finally... Someday we'll also fix all these bugs, throw together hundreds of unit tests, and get rich off all this stuff that we're giving away for free. But not today.

So in the meantime, I ask for your patience, participation, and patches.

Ben Fry, 20 January 2019

processing's People

Contributors

aengelke avatar akarshit avatar amnonowed avatar benfry avatar codeanticode avatar crazymaster avatar federicobond avatar fjenett avatar galsasson avatar gkfx avatar gohai avatar inkwellsiesta avatar jakubvaltar avatar joelmoniz avatar juniperoserra avatar kfeuz avatar lonnen avatar manindra29 avatar mckennapsean avatar peskal avatar pvrs12 avatar reas avatar rzats avatar sansumbrella avatar scollovati avatar scotthmurray avatar shiffman avatar tyfkda avatar wirsing avatar ybakos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

processing's Issues

Finalize Shader API

Changes in the uniform/uniforms in the GLSL shaders used by the P2D/P3D renderers:

  • Remove the prefix in from all vertex attributes (inVertex, inColor, etc)
  • For texture shaders: texCoord instead of inTexcoord, texMatrix instead of texcoordMatrix, texOffset instead of texCoordOffset.
  • shininess instad of inShine in light/texlight shaders
  • Matrices:
    projection instead of projectionMatrix
    modelview instead of modelviewMatrix
    transform instead of projmodelviewMatrix
    normalMatrix remains as it is to avoid conflict with the normal attribute
  • textureSampler renamed to texture
  • Remove built-in uniforms (mouse, pmouse, time)
  • previous frame is available in the sampler2D uniform buffer (pframeSampler in 2.0b7)
  • inLine and inPoint (line and point shaders, respectively) renamed to endpoint and offset.
  • lightFalloff instead of lightFalloffCoefficients, and lightSpot instead of lightSpotParameters in light and texlight shaders

Type detection mechanism:

Remove the auto-detection based on the presence of certain uniforms/attributes. Make it define-based:

  • #define PROCESSING_POINT_SHADER
  • #define PROCESSING_LINE_SHADER
  • #define PROCESSING_COLOR_SHADER
  • #define PROCESSING_LIGHT_SHADER
  • #define PROCESSING_TEX_SHADER
  • #define PROCESSING_TEXLIGHT_SHADER

error messages when running are too large for the error display

Original author: [email protected] (June 06, 2010 23:54:23)

This bug automatically added from:
http://dev.processing.org/bugs/show_bug.cgi?id=57

Comment from fry, 2005-07-15 15:33

text winds up running off the edge. gah.
http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074894329

this is something that needs to be fixed but i haven't yet arrived at a
good solution for it. at some point, it may be necessary to support
multiple errors or who knows what (warnings & errors.. oh my).

for the time being, it should all be in the console below, or the other
console, or you can also change the font size for that area in your
preferences.txt file.

Original issue: http://code.google.com/p/processing/issues/detail?id=18

“No library” warning when “import static” is used

When a static import is used, Processing will throw a compiler error, but the program will still run and the static import will occur successfully.

For example: the statement "import static hermes.HermesMath;" will cause the compiler error "No library found for static hermes.HermesMath", but the static import still works and the sketch will still run.

My guess is that the Processing preprocesser reads the library name as "static hermes.HermesMath" instead of "hermes.HermesMath", but despite the error leaves the line in for the Java compilation step, which handles them correctly.
This forum thread seems to agree with me.

threading/flicker issues when resizing P2D/P3D/OPENGL

Windows 7 64-bit - NVIDIA Quadro 2000M - Processing 2.0b7

Not sure if it's a bug or it is something needed to be done for timing synchronization in Animation Thread. When changing size dynamically with setSize, PApplet's resizeRenderer flushes all PGraphics instances of the sketch completely. So if you're drawing to sketch surface without setting background then you'll lose previously drawn stuff to the surface (it keeps the last frame somehow though).

I've seen other posts about the flickering screen when changing size in P2D/P3D/OPENGL before but no one has mentioned occasional timing errors (NullPointerException or Cannot add texture twice) as I recall. This makes the sketch unstable when frame rate is lower specially if you're dealing with an offscreen buffer/PGraphics. I guess it is fixable through tweaking the resizeRenderer. I fixed the timing instability with invokeLater temporarily but that's not a good solution in long run. This isn't the case in 1.5 since it handles the resizing differently (it waits until mouse is released then resizes the renderer once only instead of every frame).

Simplest code to see the flushing and flickering issue:

void setup() {
size(100,100, OPENGL);
frame.setResizable(true);
}

void draw() {
fill(255);
ellipse(mouseX, mouseY, 10, 10);
}

save as/rename don't properly set focus

Original author: [email protected] (June 06, 2010 23:51:05)

This bug automatically added from:
http://dev.processing.org/bugs/show_bug.cgi?id=31

Comment from fry, 2005-05-12 20:25

this is particularly nasty to get working properly across all of the
platforms. some methods work on osx, others on windows, and who knows on linux.

http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075149929
http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Suggestions;action=display;num=1115487608;start=0

Original issue: http://code.google.com/p/processing/issues/detail?id=13

horizontal scroll bar in the editor is flakey

Original author: [email protected] (June 06, 2010 23:36:20)

This bug automatically added from:
http://dev.processing.org/bugs/show_bug.cgi?id=23

Comment from fry, 2005-05-12 19:44

lots of tweaks to this, but still seems to have trouble sometimes.
http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083787569

the jedit syntax package is fairly buggy, this might just be one of those
things.

Original issue: http://code.google.com/p/processing/issues/detail?id=10

Resizing this particular image takes forever

size(400,400);
PImage img=loadImage("http://www.matteosistisette.com/upf-redes-x/php/_processing/imagenes/archivos/1359935334_582755_520232458021096_435944676_n.jpg");
img.resize(width,height);
println("Done");

Expected: should resize in a tiny fraction of a second, as any other image of the same size usually does.

Observed: it starts consuming all CPU and takes forever.

If you comment out the resize you'll see that it loads very fast. It's the resizing that hangs.

Testing this in Java mode.

PGL protected inner classes should have *public* constructors

Quirk in Java: If you have a protected inner class then the default constructor is also protected. Which means that I can't override certain methods in PGL.java (e.g., initSurface) without creating brand new versions of all the inner classes.

The easiest fix is just to add a public constructor to each of these inner classes.

For example:

protected class PGLListener implements GLEventListener {
   public PGLListener() {}

   /** existing code... **/
}

I'm in the process of updating the stereographic library to use Processing 2.0 and I need to have access to setting the GLCapabilities. But because of the this protected inner class thing I can't pick and choose methods to override easily.

This may be a bug with rotate and text

This seems like a bug, but I may be mistaken. I have to change the y coordinate of subsequent text() calls so that the "bottom" of the text appears almost aligned. It appears as though the rotate is causing the problem.

void setup() {
size(250,250);
fill(0);
}

void draw() {
background(255);
rotate(-.75);
textAlign(LEFT) ;
text("hello world",10,100);
text("hello world",35,120);
text("hello world",55,140);
}

OpenGL performance issue in 2.0

Copied from an email exchange with Andres in which he confirmed this issue and suggested adding it here.

Following up on the forum discussion: https://forum.processing.org/topic/framerate-can-crash-2-0b7

Mac OSX 10.8.2, Processing 2.0b7

I linked at the bottom a sketch that simulates the performance issue that I'm seeing on my app that does not happen in 1.5.1 (& JOGL 1). Framerate indicators show a good 60fps, but if you see the same thing I do, you'll noticed jerkyness of the nodes and skybox as the sketch rotates, which we should not see at 60fps. It should be a very smooth animation.. even at 30fps, it should be smooth, just slower but that is not what I see.

I was using VisualVM, which is free for my profiling and sampling. I can't tell where it is getting hung up. Turning off the vSync or increasing the frameRate value in the sketch does not seem to effect it (like I said before, it reports 60fps, so it thinks it's running smooth).

If you really want to kick the wheels, hit a key which turns on lines. I've always had issues with line performance (even using a direct GL_LINES VBO), so if you know a better way to implement that (some new shader) would love it, but the point being, it slows the framerate for me down to about 30fps, but visually - it's more like 10fps. So again, a disconnect from what I'm seeing to what is reported.

Example Sketch: https://dl.dropbox.com/u/95395455/sphereofpoints6.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.