Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

3010 lines (2699 sloc) 137.543 kb
0178 core (private)
X dilate(boolean) has bug in clamping of top kernel coordinate
X deprecated 'screen', adding screenW and screenH
X write implementation for get/set methods inside PImage (w/o pixels[])
0177 core (private)
X no changes
0176 core (private)
X opengl sketches run at 30fps in present mode on OS X
o still having problems w/ full screen non-FSEM
X PFont not working well with lots of characters
X only create bitmap chars on the fly when needed (in createFont)
X Implement better caching mechanism when creating large fonts
X fix problem with "create font" still showing anti-aliased text
X don't make fonts power of 2
X PGraphics3D: beginDraw does not release old textures
X fix from taifun_browser
X removing camera() and perspective() from setSize() trashes resize
X probably regression b/c camera/perspective can't be called then
0175 core (private)
X changed createInputRaw() to only bother checking URLs if : present
0174 core (private)
X svg paths that use 'e' (exponent) not handled properly
0173 core (private)
X Re-enabled hack for temporary clipping.
X Clipping still needs to be implemented properly, however. Please help!
0172 core (private)
X no changes to the core (or were there?)
0171 core (1.0.9)
X Blurred PImages in OPENGL sketches
X removed NPOT texture support (for further testing)
0170 core (1.0.8)
X added some min/max functions that work with doubles
X not sure if those are staying in or not
X filter(RGB) supposed to be filter(OPAQUE)
X implement non-power-of-2 textures
X fix get() when used with save() in OpenGL mode
X immediately update projection with OpenGL
X in the past, projection updates required a new frame
X also prevents camera/project from being reset with setSize() (regression?)
X which was a problem anyway because it made GL calls outside draw()
X partial fix for texture edge problems with opengl
X some camera problems may be coming from "cameraNear = -8" line
X this may cause other problems with drawing/clipping however
X opengl camera does not update on current frame (has to do a second frame)
X remove methods from PApplet that use doubles
0169 core (1.0.7)
X remove major try/catch block from PApplet.main()
X hopefully will allow some exception stuff to come through properly
X PVector.angleDistance() returns NaN
0168 core (1.0.6)
X getImage() setting the wrong image type
X strokeWeight() makes lines 2x too thick with P2D
X image() doesn't work with P2D, P3D, and OPENGL with noFill()
o maybe using rgb instead of tint inside drawing loops?
0167 core (1.0.5)
X changed text layout methods from private to protected
0166 core (1.0.4)
X disable point() going to set() from PGraphicsJava2D
X set() doesn't honor alpha consistently
X also causes problems with PDF
X preliminary thread() implementation
X double param version of map()
X PImage cacheMap problem when using PImage.get()
X problems with > 512 points and P3D/OPENGL (thx DopeShow)
X imageMode(CENTER) doesn't work properly with P2D
X reset matrices when using beginRecord() with PDF
X resizing window distorts gl graphics
X patch from Pablo Funes
X significant point() and set() slowdown on OS X
0165 core (1.0.3)
X update to itext 2.1.4
X endRecord or endRaw produces RuntimeException with PDF library
X problem with beginRaw/endRaw and OpenGL
X set strokeWeight with begin/endRaw
X fix strokeWeight with P3D (better version of line hack)
X make P3D use proper weights
X ArrayIndexOutOfBoundsException with point()
0164 core (1.0.2)
X requestImage() causing problems with JAVA2D
X fix minor strokeWeight bug with OpenGL
X text() with char array
o add documentation
o add this for text in a rectangle?
X minor bug fix to svg files that weren't being resized properly
X OpenGL is rendering darker in 0149+
X the fix has been found, just incorporate it
X thanks to dave bollinger
X OutOfMemoryError with ellipse() in P3D and OPENGL
X should also fix problem with AIOOBE
X point(x,y) ignores noStroke() (in some renderers)
X fix startup problem when scheme coloring was odd
X fix several point() problems with P3D
X nextPage() not working properly with PDF as the renderer
X save styles when nextPage() is called
X beginRaw() broken (no DXF, etc working)
X Fix algorithm for quadratic to cubic curve conversion
X wrong algorithm in PGraphicsOpenGL and PShapeSVG
X (thanks to user 'shambles')
X tint() not working in P2D
X blend() y coordinates inverted when using OpenGL
X Processing will not start with non-standard disk partitioning on OS X
X Got NoClassDefFoundError exception when accessing quicktime API
X not using present mode correctly
X apparent graphics driver conflict on vista
X does not create parent directories
X sketch turning blue and not working on osx
X dupe: blend() inaccurary
X glPushAttrib style function
X calling saveFrame() in noLoop() (update reference)
X fix for xml elements that have null names
X added listChildren() method
X added optional toString(boolean) parameter to enable/disable indents
0163 core (1.0.1)
X do not parse split() with regexp
X ArrayIndexOutOfBoundsException in ellipseImpl() with 1.0
0162 core (1.0)
X no additional changes for 1.0
0161 core
X present on macosx causing strange flicker/jump while window opens
X using validate() for present mode, pack() otherwise
0160 core
X stroked lines drawing on top of everything else in P3D
X 100x100 sketches not working
0159 core
o disable present mode? (weirdness with placements on mac)
X deal with some present mode issues
X use FSE on mac within the PDE
X when exporting, never use FSE
_ document changes re: can specify --exclusive on command line
X do we need to do glEnable for multisample with gl?
o just need to test this on a few platforms
X doesn't seem to be the case
X Present mode and OPENGL not working in 0156 with Windows Vista
X Seems to be limited to Java 6u10 (but verify)
o -Dsun.java2d.d3d=false seems to fix the problem
o can probably add that to PApplet.main()
X does not work
0158 core
X beginShape(TRIANGLE_FAN), and therefore arc(), broken in P2D
X also a typo in the ColorWheel example
X P2D - null pointer exception drawing line with alpha stroke
X P2D endShape() is working like endShape(CLOSE)
X (mark as dupe)
X arc() center transparent
X mark as dupe of bug #200
X but fixed for the P2D case, still afflicts P2D
X P2D - alpha stroke rendered at full opacity
X smooth() on single line ellipses not coming out smooth
X sort of works, just not great
X improve (slightly) the quality of ellipse() and arc() with P2D
X don't use TRIANGLE_FAN on ellipseImpl() and arcImpl() with P2D
X split out ellipseImpl and arcImpl from PGraphics into P2D and P3D
X figure out better model for adaptive sizing of circles
X also goes for arcs, though will be weighted based on arc size
X Bring back CENTER_RADIUS but deprecate it
X enable smoothing by default in opengl
X change hints to instead only be able to DISABLE 2X or 4X
X bring back .width and .height fields for PShape
o need to update the examples to reflect
X no examples to update
X change reference re: smoothing in opengl
X hint(), smooth(), and size()
X rev the version number
0157 core
X SVG polygon shapes not drawing since loadShape() and PShape changes
X image(a, x, y) not honoring imageMode(CENTER)
X need to just pass image(a, x, y) to image(a, x, y, a.width, a.height)
X rather than passing it directly to imageImpl()
o disable P2D before releasing (unless implementation is finished)
0156 core
X clarify the "no variables in size() command" rule
X present mode broken in general?
X placement of elements in present mode is messed up
X "stop" button hops around, window not centered on screen
X disable P2D for size() and createGraphics() before releasing
X already was disabled, just a bug in detecting it
0155 core
X hint(DISABLE_DEPTH_TEST) throws null pointer exception with OpenGL
0154 core
X only set on osx, otherwise security error
X add skewX() and skewY() to PMatrix
X Add support style attribute for path tag to Candy SVG (ricard)
X remove setX/Y/Z from PVector, copy() (use get() instead), add mult/div
X remove copy() from PVector?
X add mult() and div() with vector inputs?
0153 core
X make PImage.init() public again
0152 core
X no changes to 0152 core
0151 core
X NullPointerException on curveVertex() when using more than 128 vertices
X Text not bounding correctly with x, y, w, h
o dataFolder() might be flawed b/c it's referring to contents of jar file
o for input, better to use openStream
X clear up the javadoc on this
X odd-size height will make blue line across image in saveFrame()
X probably the pixel flipping code (and endian sorting) not happening
X because the blue comes from the byte order flip
X ArrayIndexOutOfBoundsException in PLine
X random AIOOBE with P3D and points
X alter bezier and curve matrices to use PMatrix
X float array stuff is redundant with code that's in PMatrix
X and PMatrix has to be included even w/o P3D so...
X add texture support to begin/endRaw
X should we do joins when alpha is turned off?
X no, because it's too processor intensive to draw a lotta ellipses
X but added a note about it to the reference for 0151
X strokeWeight() doesn't work in opengl or p3d
o gl smoothing.. how to disable polygon but keep line enabled
o or at least make a note of this?
o leave smooth off, get the gl object, then enable line smooth
X don't bother, this is a workaround for another bug
o PPolygon no longer in use and PLine is a mess
o make a version of PGraphics3 that uses it for more accurate rendering?
0150 core
X no changes to processing.core in 0150
0149 core
X remove MACOS9 constant from processing.core.*
X because code no longer runs on os9 since dropping 1.1 support
X specular() with alpha has been removed
X GLDrawableFactory.chooseGraphicsConfiguration() error with OpenGL
X fix problem with unregisterXxxx()
X make parseFloat() with String[] array return NaN for missing values
X fix problems with text in a rectangle
X finish getImage() method inside PImage
X delay() is broken
X remove extra ~ files from core.jar
X also fix for other libraries in the make scripts across platforms
X fix problems in PApplet regarding signed code
X createInput() wasn't bothering to check files when not online
X unhint() has been removed, see the reference for hint() for changes
o enable() and disable() instead of hint()/unhint()
o should these use text strings? how will that be compiled?
X remove unhint(), add opposite hints for those that need to be disabled
o maybe update hint() ref to be more clear about screen not accumulating
X no, it's explicitly stated as such
X make decisions about whether PGraphics is an abstract class or not
X method signature is a real problem
X figure out how to handle constructor mess
X clean up setMainDrawingSurface()
X should instead be inside size(), and init(), no?
X or clearing the zbuffer for P3D
X also add a note to the hint() reference
X have to clear the zbuffer to make it work
X this may be specific to lines
X though it also seems to be a problem with opengl
X also make a note of disabling as a way to help font appearance
o Font width calculation fails when using vectorfonts and PDF
X um, this is gross: getMatrix((PMatrix2D) null)
X no changing point sizes when using beginShape(POINTS)
X this is an opengl restriction, should we stick with it elsewhere?
X and changing stroke weight in general (with lines/shapes)
o no renderer does this, we should probably disable it
X added a note to the reference about it
X may need to add to PApplet.main() for OS X 10.5
X System.setProperty("", "true");
X deprecate arraycopy(), change to arrayCopy()
o chooseFile() and chooseFolder() with named fxn callbacks
o the function must take a File object as a parameter
o add better error messages for all built-in renderers
o i.e. "import library -> pdf" when pdf is missing
o cameraXYZ doesn't seem to actually be used for anything
o since camera functions don't even look at it or set it
o registerSize() in arcball is causing trouble
o some sort of infinite loop issue
o textMode(SCREEN) is broken for opengl
o textSpace(SCREEN) for opengl and java2d
o don't use loadPixels for either
o use font code to set the cached color of the font, then call set()
o although set() with alpha is a little different..
o resizing opengl applet likely to cause big trouble
o componentlistener should prolly only do size() command outside of draw
o fjen says blend() doens't work in JAVA2D
o the functions are fairly well separated now in PMethods
o just go through all the stuff to make sure it's setting properly
X java2d - if strokeWeight is 1, do screenX/Y and set()
X if strokeWeight larger, should work ok with line()
X no, use an ellipse if strokeWeight is larger
X gl points not working again
X need to implement point() as actual gl points
X this means adding points to the pipeline
X point() doesn't work with some graphics card setups
X particularly with opengl and java2d
X point() issues
o point() being funneled through beginShape is terribly slow
X go the other way 'round
X sometimes broken, could be a problem with java 1.5? (was using win2k)
X fix getFontMetrics() warning
X need to have a getGraphics() to get the actual Graphics object
X where drawing is happening. parent.getGraphics() works except for OpenGL
X Java2D textLinePlacedImpl should check for ENABLE_NATIVE_FONTS hint
X also try to check native font on textFont() commands
X in case the hint() has been enabled in the meantime
X or rather, always load native font, even w/o the hint() being set
PGraphics API changes
X setMainDrawingSurface() -> setPrimarySurface()
X mainDrawingSurface = primarySurface;
X resize() -> setSize() (roughly)
X endShape() with no params is no longer 'final'
X MX/MY/MZ -> X/Y/Z (for sake of PShape)
X render_triangles -> renderTriangles()
X depth_sort_triangles -> sortTriangles()
X render_lines -> renderLines()
X depth_sort_lines -> sortLines()
X no longer any abstract methods in PGraphics itself
X removed support for specular alpha (and its 'SPA' constant)
X clear() -> backgroundImpl()
X add DIAMETER as synonym for CENTER for ellipseMode and friends
X textFontNative and textFontNativeMetrics have been removed
X they've been re-implemented per-PGraphics in a less hacky way
X hint(ENABLE_NATIVE_FONTS) goes away
X need to mention in createFont() reference
X also maybe cover in the loadFont() reference? (maybe problem...)
X image.cache has been removed, replaced with get/set/removeCache()
X this allows per-renderer image cache data to be stored
X imageMode has been removed from PImage, too awkward
X this also means that imageMode ignored for get(), set(), blend() and copy()
X smooth is now part of PGraphics, moved out of PImage
X raw must handle points, lines, triangles, and textures
X light position and normal are now PVector object
X changed NORMALIZED to NORMAL for textureMode()
X maybe finish off the svg crap for this release
X working on pshape
X add shape() methods to PGraphics/PApplet
X test and fix svg examples
X revisions.txt for x/y/z/ tx/ty/tz.. other changes in api.txt
X bring svg into main lib
X need to straighten out 'table' object for quick object lookup
X maybe add to all parent tables? (no, this gets enormous quickly)
X fix svg caps/joins for opengl with svg library
X save/restore more of the p5 graphics drawing state
X not setting colorMode(), strokeCap, etc.
X ignoreStyles is broken - how to handle
X need a whole "styles" handler
X handle cap/join stuff by
X if it's setting the default, no error message
X if it's not the default, then show an error msg once
X have a list Strings for errors called, rather than constants for all
X that way, no need to have an error message for every friggin function
X PMatrix now PMatrix3D (maybe not yet?)
X change svg library reference
X option to have renderer errors show up
X 1) as text warnings 2) as runtime exceptions 3) never
X add warning system for pgraphics, rather than runtime exceptions
X keep array of warning strings, and booleans for whether they've called
X ENABLE_DEPTH_SORT not really working for GL
X because the zbuffer is still there, it's still calculating
X actually, this is probably because it happens after the frame
X so really, flush is required whenever the depth sort is called
X need to check this--isn't this referring to DISABLE_DEPTH_TEST?
X ENABLE_DEPTH_SORT causing trouble with MovieMaker
X need to make the flush() api accessible
X image smoothing
X straighten out default vs. ACCURATE vs. whatever
X Java2D and P3D and OpenGL are all inconsistent
o need to be able to do hint() to do nearest neighbor filtering
o imageDetail(), textDetail(), etc?
o decisions on image smoothing vs. text smoothing vs. all
0148 core
X tweaks to PGraphicsOpenGL to support GLGraphics
0147 core
X processing sketches not restarting after switching pages in safari
X misshapen fonts on osx (apple fixed their bug)
0146 core
X fix the internal file chooser so that people don't need to make their own
X threading is a problem with inputFile() and inputFolder()
X dynamically load swingworker?
o remove saveFile() methods?
o write up examples for these instead?
o start an integration section?
X get() in java2d not honoring imageMode or rectMode
X add imageMode(CENTER) implementation
X add a bunch of changes to the reference to support this
X Duplicate 3d faces in beginRaw() export
X this was actually doubling geometry, potentially a bit of a disaster
o bezierVertex YZ Plane fill problem
X weird coplanar stuff, shouldn't be doing 3D anyway
X switch to requestImage() (done in 0145)
o can bug 77 be fixed with a finalizer? (no, it cannot)
X make sure that images with alpha still have alpha in current code
X text in rectangle is drawing outside the box
X points missing in part of screen
0145 core
X separate x/y axis on sphereDetail() params
X make sure docs for PImage use createImage
X add notes about JOGLAppletLauncher
X added to javadoc
o need a halt() method which will kill but not quit app (sets finished?)
o exit() will actually leave the application
o this may in fact only be internal
X this is just the stop() method, though maybe we need to document it
X text(String, float, float, float, float) draws text outside box
X implement textAlign() for y coords in text rect
X need to add reference for this
X textAlign() bottom now takes textDescent() into account
X remove gzip-related hint()
X major threading overhaul before 1.0 (compendium)
X ewjordan has added a good trace of the badness
X need to move off anim off the main event thread
X move away from using method like display
X look into opengl stuff for dealing with this
X move addListeners() calls back out of PGraphics
X resize window will nuke font setting
X textFont() used in setup() is null once draw() arrives
X colorMode() set inside setup() sometimes not set once draw() arrives
X applet sizing issues with external vm
X could this possibly be related to the linux bug?
X alloc() stuff not fixed because of thread halting
X problem where alloc happens inside setup(), so, uh..
X should instead create new buffer, and swap it in next time through
X sonia (and anything awt) is locking up on load in rev 91
X prolly something w/ the threading issues
X paint is synchronized in 0091
X however this is a necessity, otherwise nasty flickering ensues
X and using a "glock" object seems to completely deadlock
o claim that things are much slower in 107 vs 92
X hopefully this is cleaned up by removing some of the synchronization
X sketches lock up when system time is changed
X can draw() not be run on awt event thread?
X look into opengl stuff for dealing with this
o "is there a better way to do this" thread in lists folder
X framerate that's reported is out of joint with actual
X accuracy of frame timer is incorrect
X seems to be aliasing effect of low resolution on millis()
X so rates coming out double or half of their actual
X probably need to integrate over a rolling array of 10 frames or so
X frameRate() speeds up temporarily if CPU load drops dramatically
o perhaps add a hint(DISABLE_FRAMERATE_DAMPER)
X fix the flicker in java2d mode
X framerate(30) is still flickery and jumpy..
X not clear what's happening here
X appears to be much worse (unfinished drawing) on macosx
X try turning off hw accel on the mac to see if that's the problem
0144 core
X if loading an image in p5 and the image is bad, no error msg shown
X that is, if a loadImage() turns up an access denied page
X added an error message for this, and the image width and height will be -1
X added loadImageAsync() for threaded image loading
opengl fixes
X incorporate changes from andres colubri into PGraphicsOpenGL
X most of the changes incorporated, something weird with constructors
X use gluErrorString() for glError() stuff
X directionalLight() and .pointLight() are both calling
X glLightNoAmbient() which then creates a new FloatBuffer
0143 core
X some fonts broken in java 1.5 on osx have changed again
X filed as bug #4769141 with apple
X appears that asking for the postscript name no longer works
o fix "create font" and associated font stuff to straighten it out
X was grabbing the wrong native font with ico sketch
X seems that the psname is no longer a good way to grab the font? related?
X available font issues
X is getFontList returning a different set of fonts from device2d?
X try it out on java 1.3 versus 1.4
X getAllFonts() not quite working for many fonts
X i.e. Orator Std on windows.. macosx seems to be ok
X is getFamilyNames() any different/better?
X when did this break? 1.4.1? 1.4.x vs 1.3?
X may be that cff fonts won't work?
X or is it only those with ps names?
o leading looks too big, at least in PGraphics2 with news gothic
X though prolly the converted version of the .ttf?
X add a fix so that negative angle values won't hork up arc() command
X add resize() method to PImage
0142 core
X update iText in PDF library to 2.1.2u
X loadStrings(".") should not list directory contents
0141 core
X no changes to core in 0141
0140 core
X add static version of loadBytes() that reads from a File object
X slightly clearer error messages when OpenGL stuff is missing
0139 core
X no changes to core in 0139
0138 core
X improve tessellation accuracy by using doubles internally
0137 core
X add gz handling for createOutput()
X change openStream() to createInput() (done in 0136)
X add createOutput()
X deprecate openStream() naming
0136 core
X add static version of saveStream() (uses a File and InputStream object)
X A "noLoop()" sketch may be unresponsive to exit request
X Fixed bug with subset() when no length parameter was specified
X figure out why tiff images won't open with after effects
X open with photoshop, resave, see which tags change
X specifically, which tags that were in the original image file
X perhaps something gets corrected?
X had a fix, but decided not to re-implement the loadTIFF stuff too
X fix for bezierTangent() problem from dave bollinger
X implement curveTangent (thanks to davbol)
X fix problem with get() when imageMode(CORNERS) was in use
X fix bug with splice() and arrays
X 'screen' is now static
X undo this--may need to be better about specifying screen and all
X PImage mask doesn't work after first call
X load and save tga results in upside down tga
X fix problem with g.smooth always returning false in JAVA2D
X add XMLElement (not filename) constructor to SVG lib
0135 core
X modelX/Y/Z still having trouble
X add docs for model/screen/Y/Z
X added for model, along with example.
X screen was already complete
X bring back opengl mipmaps (create them myself? try w/ newer jogl?)
X opengl mipmaps are leaking (regression in spite of #150 fix)
X seems to not actually be a problem on mbp, try desktop?
X copy() was needing updatePixels() when used with OPENGL or JAVA2D
X check on the bug report for this one as well
o add notes about fixing serial on the mac to the faq (and link to bug)
X not necessary, hopefuly things working better now
X utf8 and encodings
X createWriter() and createReader() that take encodings
X xml files seem to be a lot of UTF-8
X xml stuff
X getItem("name");
X getItems("name"); (same, but looks for multiple matches
X getItem("path/to/item");
o or could use getItem and getItemList? getItemArray()?
o read more about xpath
X parse xml from a string object
X not have to just use Reader
X add mention of this to the board
o update to new version of jogl
X fix mini p5 bugs for eugene
0134 core
X add noLights() method
X redraw the screen after resize events (even with noLoop)
o problem with transparency in mask()
X mark bug as invalid, using fill() instead of tint()
X move to UTF-8 as native format for core file i/o operations
X update reference to document the change
o jogl glibc 2.4 problem on linux
o move back to previous jogl until 1.1.1 is released
o deal with opengl applet export changes
o what is deployment suggestion for all the different platforms?
o can the jar files actually provide the DLLs properly?
X revert back to jogl 1.0
0133 core
X fix problem with "export to application" and opengl
X add focus requests so that better chance of keys etc working
X argh, these make things worse (P3D run internal)
X add stuff about classversionerrors to the reference
X also update the libraries page
X fix background() with P3D and beginRaw()
X endRaw() has a problem with hint(ENABLE_DEPTH_SORT)
X because the triangles won't be rendered by the time endRaw() is called
X force depth sorted triangles to flush
X is mousePressed broken with noLoop() or redraw()?
X sort of but not really, add notes to reference about it
o calling graphics.smooth(), graphics.colorMode() outside begin/endDraw
o this causes everything to be reset once the draw occurs
o kinda seems problematic and prone to errors?
X nope, just need to say to do all commands inside begin/endDraw
o finish implementation so 1.1 support can return
o check into ricard's problems with beginRecord()
X i believe these were caused by linux java2d issues
X beginFrame()/beginDraw() and defaults()
X when should these be called, when not?
X seems as though the begin/end should happen inside beginRaw/Record
X defaults() gets called by the size() command in PApplet
o would be cool if could sort w/o the sort class..
o meaning use reflection to sort objects, just by implementing a few methods
o would be much simpler and less confusing than new Sort() etc
o or would it be ridiculously slow?
X just using Comparator instead, since moving to Java 1.4
X make a PException that extends RuntimeException but packages an ex?
X no, not necessary, and exceptions suck
o need to write an error if people try to use opengl with 1.3 (i.e. on export)
o don't let users with java < 1.4 load OPENGL
o catch security exceptions around applet i/o calls
o not just for saving files, but provide better error msgs when
o attempting to download from another server
X nope, just cover this in the reference
o files not in the data folder (works in env, not in sketch)
X mentioned repeatedly in the docs
o fix link() to handle relative URLs
X more trouble (and bug-worthy) than it's worth
o put SecurityException things around file i/o for applets
o rather than checking online(), since applets might be signed
X no, better to let errors come through
o slow on java2d, fast on p3d
o strokeWeight is still broken
o setting stroke width on circle makes odd patterns
o more weirdness with stroke on rect, prolly not alpha
o rect is not getting it's stroke color set
o weird problem with drawing/filling squares
o alpha of zero still draws boogers on screen
o break apart functions into local (placement) and override (blitting)
o just have a "thin_flat_line" option in opengl code
o is quad strip broken or not behaving as expected?
X may be correct, it worked for nik
X inside draw() mode, delay() does nothing
X delay might be a good way to signal drawing to the screen/updating
X set(x, y, image) x, y not setting with processing
fixed earlier
X is the texture[] array in PGraphics3D causing the problems with memory?
X actually it's a PGraphicsGL problem..
X maybe the image binding not getting unbound?
o should image i/o be moved into PImage?
o still needs applet object, so it's not like this is very useful
o external PImage methods could take stream, i suppose..
X relevant parts were moved in, others not
o loadImage() using spaces in the name
o if loadImage() with spaces when online(), throw an error
o get tiff exporter for p5 to support argb and gray
X would also need to modify the tiff loading code,
X because the header would be different
X map() is not colored, neither is norm
X image outofmemoryerror for casey's students
X this may be related to a ton of other memory bugs
X 1.5.0_07 and 1.4.2_12 contain the -XX:+HeapDumpOnOutOfMemoryError switch
X invaluable for tracking down memory leaks
X can't replicate anymore
X texture mapping
X very odd, "doom era" stuff
X would it be possible to have a 'slow but accurate' mode?
X fixed in release 0125
X add hint() and unhint()
X also add unhint() to the keywords file
X and maybe remove hint() from keywords_base?
o present mode is flakey.. applet doesn't always come up
o seems like hitting stop helps shut it down?
o is full screen window not being taken down properly?
o has this fixed itself, or is it an issue with launching externally?
X seems to be fixed in later java versions
X rewrite getImpl/setImpl inside opengl
X placement of 100x100 items is odd
X happens with P3D and maybe also P2D?
0132 core
X an image marked RGB but with 0s for the alpha won't draw in JAVA2D
X images with 0x00 in their high bits being drawn transparent
X also if transparency set but RGB is setting, still honors transparency
X improve memory requirements for drawing images with JAVA2D
X now using significantly less memory
X tint() and noTint() switching problem in P2D
X this should be a quick fix
X related to the fill bugs: when fill is identical, no fill applied
X actually tint() should take over for fill as per-vertex color
X when textured images are being used
X tint() should set texture color, fill() is ignored with textures
X add to the reference
X fix tint() for PGraphics3 (what could be wrong?)
X tint() honoring alpha but not colored tint
X maybe not setting fill color when drawing textures
X guessing it's an implementation issue in sami's renderer
X check with the a_Displaying example and tint(255, 0, 0, 100);
0131 core
X hint(DISABLE_DEPTH_TEST) not behaving consistently
o make hints static - cannot do that
X clean up hinting mechanism a bit
X look into jogl anti-aliasing on osx
o smoothMode(2) and smoothMode(4), right after size()?
X look into capabilities stuff from mike creighton
X also sets the aa mode on the pc so it no longer needs control panel bunk
X update to JOGL 1.1.0
X add gluegen-rt back to the applet export
X add print() and println() for long and double
X fix minor bug in saveStream() (undocumented)
X "this file is named" errors don't like subdirectories
X need to strip off past the file separator or something
0130 core
X fixed problem with size() and the default renderer
X the renderer was being reset after setup(),
X so anything that occurred inside setup() was completely ignored.
0129 core
X width and height not always set properly
X bring back background() with alpha
0128 core
X remove PFont reflection stuff
X remove cursor reflection stuff
X fix up sorting functions
X implement sortCompare() and sortSwap()
X discuss this with casey
X also could be using Arrays.sort(blah) with Comparable (1.2+)
X make sorting functions static
X use methods from Arrays class, cuts down on code significantly
X implement sortCompare() and sortSwap()
X discuss this with casey
o also could be using Arrays.sort(blah) with Comparable (1.2+)
X make sorting functions static?
o should loadFont() work with ttf files (instead of createFont?)
X otherwise loadFont() would work with font names as well, awkward
X better to use createFont() for both
o jogl issues with some cards on linux, might be fixed with newer jogl
X remove methods for background() to include an alpha value
X this is undefined territory because of zbuffer and all
X if you want that effect, use a rect()
X saveFrame() produces a black background because bg not set correctly:
X background not being set properly
X having shut off the defaults reset, background not getting called for java2d
X so this will make that other stuff regress again
X in particular, when the applet is resized, but renderer not changed
X why aren't background() / defaults() being called for opengl?
o simon reports borders on P3D and OPENGL if background() not called
X window fixed at 100x100 pixels
X width/height on problem machine prints out as:
X 100x100 issues are exhibited on bh140c PCs, test and fix!
X 100,200 and 128,200
o AIOOBE on PLine 757.. halts renderer
o fix erik's problems with export (also in bugs db)
X draw() called twice in vista with java 1.6
cleanup from previous releases
X P3D not doing bilinear interpolation in text and images
X because smooth() has to be set (and smooth throws an error in P3D)
X how should this be handled? a hint? allowing smooth()?
X probably just allow smooth() but don't smooth anything
o pdf export ignoring transparency on linux
o check to see if this is the case on other linux machines
o seems to be working fine on windows
X change how java version is determined on mac
X (this tn provides no guidance for macos8/9.. gah)
o little window showing up on macosx when running
X never able to confirm, probably just old java bug
o flicker happening on osx java 1.4, but not 1.3:
o don't let users on < 1.3 load JAVA2D
X set upper bound on framerate so as not to completely hose things?
fixed in 0127
X ARGB problems with createGraphics
o P3D from createGraphics needs to be marked RGB not ARGB
reasons to drop 1.1 support (and support 1.3+)
X remove reflection from createFont() constructor/methods in PFont
X this would make PFont much smaller
X array functions could be done through class
X although some of these may be built in
X sorting could be done through built-in sort() class
X split() function could echo the built in split/regexp setup
X and add features for regexp
X could introduce use of Timer class in examples
X also use SwingWorker to launch things on other threads
X weirdness of two modes of handling font metrics
X textFontNativeMetrics gives deprecation error
X getFontList stuff in PFont causes problems
0127 core
X pixel operations are broken in opengl
X get(), set(), copy(), blend(), loadPixels, updatePixels()
X set(x, y, image) y reversed in openGL
X background(image) also broken
X also textMode(SCREEN)
o replaceAll() not supported by 1.1
o make version of loadBytes that checks length of the stream first
o this might not be worth it
o the number of cases where this works is small (half of url streams)
o and who knows if the value returned will be correct
o (i.e. will it be the uncompressed or compressed size of the data?)
createGraphics() issues
X offscreen buffers fail with texture mapping
X pixels not being set opaque (only with textures?)
X add note to createGraphics() docs that opacity at edges is binary
X PGraphics problem with fillColor
fixed earlier
X add to open() reference problems with mac
X need to use the 'open' command on osx
X or need to do this by hand
X prolly better to do it by default, since on windows we use cmd?
X check to see if the user has 'open' in there already
X they can call Runtime.getRuntime().exec() if they want more control
fixed earlier (in 0125) by ewjordan
X accuracy in P3D is very low
X textured polys throwing a lot of exceptions (ouch)
X polygons in z axis with nonzero x or y not filling properly
0126 core
o rect() after strokeWeight(1) gives wrong coords
X bug in osx java 1.4 vs 1.5
X fix bug in str() methods that take arrays
X method was not working properly, was using the object reference
X new version of saveStream()
X implement auto-gzip and gunzip
X fix bug where sort() on 0 length array would return null
X instead, returns an array
X unregisterXxxx() calls to remove methods from libs
X implemented by ewjordan
X sort() on strings ignores case
X mention the change in the reference
X throw AIOOBE when min() or max() called on zero length array
o fix lerpColor() to take the shortest route around the HSB scale
o loadBytes() doesn't do auto gunzip? but loadStrings and createReader do?
X this might be a good solution for dealing with the differences
o with loadBytes(), they can use gzipInput (or loadBytesGZ?)
o although what does openStream do? (doesn't do auto?)
X auto-gunzip on createReader()
o add auto-gunzip to loadStrings()
X others for auto-gunzip?
X do the same for createWriter() et al
X disable mipmaps in 0126
X add match() method that returns an array of matched items
0125 core
X more blend() modes (the five listed on the thread below?)
X figure out what the modes should actually be:
X photoshop: normal, dissolve; darken, multiply, color burn,
X linear burn; lighten, screen, color dodge, linear
X dodge; overlay, soft light, hard light, vivid light,
X linear light, pin light, hard mix; difference,
X exclusion; hue, saturation, color, luminosity
X illustrator: normal; darken, multiply, color burn; lighten,
X screen, color dodge; overlay, soft light, hard light;
X difference, exclusion; hue, sat, color, luminosity
X director: Copy, Transparent, Reverse, Ghost, Not copy,
X Not transparent, Not reverse, Not ghost, Matte, Mask;
X (below seems more useful:
X Blend, Add pin, Add, Subtract pin, Background transparent,
X Lightest, Subtract, Darkest, Lighten, Darken
X flash:
X MULTIPLY: C = (A * B ) / 255
X SCREEN: C= 255 - ( (255-A) * (255-B) / 255 )
X OVERLAY: C = B < 128 ? (2*A*B/255) : 255-2*(255-A)*(255-B)/255
X HARD_LIGHT: C = A < 128 ? (2*A*B/255) : 255-2*(255-A)*(255-B)/255
X SOFT_LIGHT: C = B < 128 ? 2*((A>>1)+64)*B/255 : 255-(2*(255-((A>>1)+64))*(255-B)/255)
X jre 1.5.0_10 is still default at blech
X constant CENTER_RADIUS will be changed to just RADIUS
X CENTER_RADIUS is being deprecated, not removed
X remove CENTER_RADIUS from any p5 code (i.e. examples)
X split() inconsistency (emailed casey, will discuss later)
X make split(String, String) behave like String.split(String)
X and make current split(String) into splitTokens(String)
X that means split(String) no longer exists
o add splitTokens() documentation
o document new version of split() and regexp
o should we mention String.split?
X ironed out more of the preproc parseXxxx() functions
X deal with targa upside-down and non-rle encoding for tga images
X change println(array) to be useful
o document using join() for old method
X remove print(array) since it's silly?
X make sure it's not in the reference
X [0] "potato", [1] "tomato", [2] "apple"
X fix filter(GRAY) on an ALPHA image to produce a good RGB image
X updatePixels ref is wrong
X has x/y/w/h version
X the reference is also cut off
X make ENTER, TAB, etc all into char values (instead of int)
X some way to vertically center text
X either by setting its middle vertical point
X or by setting a top/bottom for the rectangle in which it should be placed
o maybe textAlign(CENTER | VERTICAL_CENTER);
o textAlign(CENTER | TOP);
o could even have textAlign(CENTER) and textAlign(TOP) not replace each other
X or textAlign(LEFT, MIDDLE); -> this one seems best
X add reference for new param, and update keywords.txt
X given to andy
X method is not working with get()
X NullPointerException in Create Font with "All Characters" enabled
X added min() and max() for float and int arrays
X need to update reference
X moved around min/max functions
X opengl image memory leaking
X when creating a new PImage on every frame, slurps a ton of memory
X workaround is to write the code properly, but suggests something bad
X opengl keeping memory around..
X could this be in vertices that have an image associated
X or the image buffer used for textures
X that never gets cleared fully?
X registerSize() was registering as pre() instead
X set() doesn't bounds check
X this shouldn't actually be the case
X get()/set() in PGraphicsJava2D don't bounds check
X was actually a dumb error in setDataElements()
X set modified to true on endDraw() so that image updates properly
0125p4 (in progress)
X significant improvement to text and images in opengl
X now using mipmaps to interpolate large and small images
X fix bug with mipmapping on radeon 9700
X things not showing up in linux
X this may be fixed along with bug #341
X probably threading issue, 98 doesn't have any trouble
X signs point to Runner or PApplet changes between 98 and 99
X commenting out applet.setupFrameResizeListener()
X in line 307 from solved the problem
X size of sketch different in setup() and draw() on linux
X make sure that the sketch isn't being sized based on bad insets
X problem with resizing the component when the frame wasn't resizable
X major rework of the open() command
X add gnome-open/kde-open for with
X add open (-a?) on osx to the open() command
X make changes in the javadoc and reference
X opengl crashes when depth sorting more than two textured shapes
ewjordan stuff (changes checked in)
X rect() changes size as it changes position
X strange texture warping in P3D
X lines skip on 200x200 surface because of fixed point rounding error
X this may be same as 95
X Polygons parallel to z-axis not always filling with nonzero x or y
0124 core
X with smooth() turned off, shouldn't be smoothing image on resize
X but on osx, apple defaults the image smoothing to true
X background(0, 0, 0, 0) was resetting stroke, smooth, etc.
X make imageImpl() use WritableRaster in an attempt to speed things up
X fix weird situation where fonts used in more than one renderer wouldn't show
X opengl doesn't draw a background for the raw recorder
X change P3D to smooth images nicely (bilinear was disabled)
X ambientLight(r,g,b) was still ambientLight(r,g,r)
X fix from dave bollinger for the POSTERIZE filter
X fix PImage regression in 0124 and the cache crap
X added a version of trim() that handles an entire array
X removed contract(), one can use expand() and subset() instead
X backgroundColor to cccccc instead of c0c0c0
X loadImage() requires an extension, maybe add a second version?
X loadImage("blah", "jpg");
X otherwise people have to use strange hacks to get around it
X also chop off ? from url detritus
X also just pass off to default createImage() if no extension available
X java 1.5.0_10 breaks jogl
X add error message to p5 about it
X upgrade to 1.5.0_11 or later:
X or downgrade to 1.5.0_09
X no disk in drive error
X was this something that changed with the java updates? (1.5_10)
X doesn't seem to be, still not sure
X problem was the floppy drive.. gak
X copy() sort of broken in JAVA2D
X example sketch posted with bug report
o saveStrings(filename, strings, count)
o otherwise the save is kinda wonky
o or maybe that should just be done with the array fxns
fixed earlier
o sketches often freeze when stop is hit on an HT machine
o need to test the examples cited on pardis' machine
X debug NumberFormat InterruptedException on dual proc machine
X use notify() instead of interrupt()?
X or Thread.currentThread() should be checked first?
o svg loader is on the list for 1.0
o maybe include as part of PApplet (casey thinks so)
X using gl, lines don't show up in pdf with record (they're ok with p3d)
o with network connection
o download a copy of the source for 0069, get the renderer
o svn mv PGraphics2 PGraphicsJava
o version of BApplet that replaces g. with ai. or pdf.
0123 core
X setup() and basic mode apps not working
0122 core
X noiseSeed() only works once, before the arrays are created
X make lerpColor honor the current color mode
X lerpColor(c1, c2, amt, RGB/HSB/???)
o test this out for a bit
o though that's awkward b/c colors always RGB
X regression in P3D that prevents point() from drawing
X problem is with setup_vertex() not adding similar points
X if doing openstream on url, says that "the file" is missing or invalid
X add notes about it being a url
fixed earlier, bug cleaning
X gray background in pdf (using both gl and p3d)
X verified as fixed in 0122
0121 core
X need to document changes to int() (no longer accepts boolean)
X background(0, 0, 0, 0) is the way to really clear everything with zeroes
X or background(0, 0), but the former is prolly better conceptually
X how to clear the screen with alpha? background(0, 0, 0, 0)?
o background(EMPTY) -> background(0x01000000) or something?
X size(), beginRecords(), beginRaw(), createGraphics()
X broken for file-based renderers in 0120
0120 core
X fixed error when using hint(ENABLE_NATIVE_FONTS) with JAVA2D
X java.lang.IllegalArgumentException:
X null incompatible with Global antialiasing enable key
X fix issue where ambientLight(r, g, b) was instead ambientLight(r, g, r)
X createFont() should always use native fonts
X need to warn that fonts may not be installed
X recommend that people include the ttf if that's the thing
X or rather, that this is only recommended for offline use
X fix 3D tessellation problems with curveVertex and bezierVertex
X actually was z = Float.MAX_VALUE regression
X two examples in sketchbook
X this has been reported several times
X concave polygons having trouble if points come back to meet
X tesselator/triangulator gets confused when points doubled up
X might need to avoid previous vertex hitting itself
X graphics gems 5 has more about tessellation
X polygons perpendicular to axis not drawing
X is this a clipping error?
X probably a triangulation error, because triangles work ok
X problem is that the area of the polygon isn't taking into account z
X lookat is now camera(), but not fixed in the docs
X add notes to the faq about the camera changes on the changes page
o update run.bat for new quicktime
o unfortunately this is messy because qtjava sometimes has quotes
o and qtsystem might be somewhere besides c:\progra~1
X run.bat has been removed from current releases
X registering font directories in pdf.. is it necessary?
X (commented out for 0100)
X re-added for 0120
o when re-calling size() with opengl, need to remove the old canvas
o need to check to see if this is working properly now
X passing applet into createGraphics.. problems with re-adding listeners
X since the listeners are added to the PApplet
X i think the listeners aren't re-added, but need to double check
X createGraphics() having problems with JAVA2D, and sometimes with P3D
X with default renderer, no default background color?
X only sometimes.. why is this?
X only call defaults() when it's part of a PApplet canvas
X make sure that defaults() is no longer necessary
X don't want to hose PGraphics for others
X both for pdf, and making background transparent images
X PGraphics3D should alloc to all transparent
X unless it's the main drawing surface (does it know on alloc?)
X in which case it should be set to opaque
X have createGraphics() create a completely transparent image
X and also not require defaults() to be called
X make a note in the createFont() reference that 1.5 on OS X has problems
o if calling beginPixels inside another, need to increment a counter
o otherwise the end will look like it's time to update
o which may not actually be the case
o i.e. calling filter() inside begin/end block
X get creating new PGraphics/2/3 working again
X maybe createGraphics(200, 200) to create same as source
X createGraphics(200, 200, P2D) to create 2D from 3D
X also, drawing a PGraphics2 doesn't seem to work
X new PGraphics2 objects are set as RGB, but on loadPixels/updatePixels
X they're drawn as transparent and don't have their high bits set
X problems between modelX between alpha and beta
X y may be flipped in modelX/Y/Z stuff on opengl
X is this the same bug? assuming that it is
in previous releases
X when using PGraphics, must call beginFrame() and endFrame()
X also need to be able to turn off MemoryImageSource on endFrame
X call defaults() in beginFrame()
X should PGraphics be a base class with implementations and variables?
X then PGraphics2D and PGraphics3D that subclass it?
X (or even just PGraphics2 and PGraphics3)
X also rename PGraphics2 to PGraphicsJava
X it's goofy to have the naming so different
X tweak to only exit from ESC on keyPressed
o probably should just make this a hint() instead
X just documented in reference instead
o metaballs example dies when using box()
o long string of exceptions, which are also missing their newlines
X grabbing sun.cpu.endian throws a security exception with gl applets
0119 core
X add saveStream() method
X change to handle Java 1.5 f-up where URLs now give FileNotFoundException
X add unlerp() method
0118 core
X replace jogl.jar with a signed version
X fix the export.txt file for the linux release
X fix problem with setting the parent and the PDF renderer
0117 core
X no changes, only to the build scripts
0116 core
X make background() ignore transformations in JAVA2D
o createGraphics to not require defaults()
X can't do, because an end() function must be called to clear the renderer
X add "hide stop button" arg for PApplet
X beginFrame/endFrame -> beginDraw/endDraw
X add new constant for the DXF renderer
X array utilities on Object[] are worthless.. fix it with reflection?
X see if reflection will allow expand for all class types
X expand, append, contract, subset, splice, concat, reverse
X typed version of array functions:
X append(), shorten(), splice, slice, subset, concat, reverse
X fix issue where processing applets would run extremely fast
X after having been starved of resources where there framerate dropped
X added color/stroke/tint/fill(#FF8800, 30);
X test imageio with images that have alpha (does it work?)
X nope, doesn't, didn't finish support
X openStream() fails with java plug-in because non-null stream returned
X update jogl to latest beta 5
X make framerate into frameRate (to match frameCount)
X AIOOBE in P3D during defaults/background/clear
X PGraphics.clear() problem from workbench and malware stuff
X had to put synchronized onto draw and size()
X actually it'll work if it's only on size()
X the sync on the mac hangs an applet running by itself
X even though it seems to be ok for a component
X thread sync problem with allocation
X major threading change to use wait()/notifyAll() instead of interrupt/sleep
X noLoop() at end of setup is prolly b/c of interruptedex
X need to not call Thread.interrupt()
X opengl + noLoop() causes InterruptedException
X check to see noLoop() breakage is fixed in 92 vs 91
X checked, not fixed
X remove image(filename) and textFont(filename) et al.
X revision 115 may be saving raw files as TIFF format
X may be a bug specific to java 1.5 (nope)
X saveFrame() not working for casey
X problem with tiff loading in photoshop etc
X check http:// stuff to see if it's a url first on openStream()
X it's the most harmless, since prolly just a MFUEx
X fix problem where root of exported sketch won't be checked
X createFont not working from applets (only with .ttf?)
X throws a security exception because of the reflection stuff
X urls with ampersands don't work with link()
X Runtime.getRuntime().exec("cmd /c start " + url.replaceAll("&","^&"));
X fix bug where smooth() was shut off after using text
X (that had the smoothing turned off when used in "Create Font")
X fix dxf to use begin/endDraw instead of begin/endFrame
X fixes axel's bug with dxf export
X set default frameRate cap at 60
X otherwise really thrashing the cpu when not necessary
X jpeg loading may be extremely slow (loadBytes?)
X seems specific to 0115 versus the others
X loadImage() problems with png and jpg
X actually it's an issue with some types of jpeg files
X java.lang.IllegalArgumentException:
X Width (-1) and height (-1) cannot be <= 0
X identical to what happens when the image data is bad
X for instance, trying to load a tiff image with the jpg loader
o blend() mode param should be moved to the front
X nah, works better with the other format
X make sure there's parity with the copy() functions
X remove single pixel blend functions
o blend() should prolly have its mode be the first param
X move blend() to blendColor() when applying it to a color
X added lerpColor(), though it needs a new name
X went back to old image i/o (sometimes caused trouble when exported)
X change reader() to createReader() for consistency?
X though printwriter is odd for output..
X also createWriter() and the rest
o add to docs: save() on a PImage needs savePath() added
X hint(DISABLE_NATIVE_FONTS) to disable the built-in stuff?
X or maybe this should be hint(ENABLE_NATIVE_FONTS) instead?
X figure out default behavior for native text fonts
X make sure insideDrawWait() is in other resize() methods
X begin/end/alloc waits to PGraphicsJava2D, PGraphicsOpenGL, PGraphics3D
X fix bug with fill(#ffcc00, 50);
X toInt() on a float string needs to work
X need to check for periods to see if float -> int first
X shape changes
X remove LINE_STRIP - tell people to use beginShape() with no params
X remove LINE_LOOP - tell people to use endShape(CLOSE)
o also remove POLYGON?
X may as well remove it
X though something still needed as an internal constant
X add endShape(CLOSE) or CLOSED
X when running as an applet, sketchPath won't be set
X change the error message slightly
X use parseFloat instead of toFloat()? to be consistent with javascript
X also clean up some of the casting silliness
more recent
X only update mouse pos on moved and dragged
X also updates a bug that caused sketches to jump in funny ways
fixed in 0115 / quicktime 7.1
X color values on camera input flipped on intel macs
X checked in a change for this recommended on qtjava list
really old stuff
o get loop, noLoop, redraw, and framerate all working in opengl
o needs custom animator thread..
o depth() shouldn't be needed for opengl unless actually 3D
o right now the camera doesn't get set up unless you call depth()
o box and sphere are broken in gl
o what should the update image function be called?
0115 core
X remove debug message from loadPixels()
X remove debug message from
X fix error message with dxf when used with opengl
X if file is missing for reader()
X return null and println an error rather than failing
X add arraycopy(from, to, count);
X fix fill/stroke issues in bugs db (bug 339)
X saveTIFF, saveHeaderTIFF, saveTGA no longer public/static in PImage
X this was a mistake to expose the api this way
X more image file i/o in java 1.4
X add dynamic loading of the jpeg, png, and gif(?) encoder classes
X P5 cannot read files generated by saveFrame()
X need to update docs re: tga
X and add support for reading its own uncompressed TIFs
0114 core
X added createGraphics(width, height, renderer)
X no need to use (..., null) anymore
X fix set() for JAVA2D, also fixes background(PImage) for JAVA2D
X remove "max texture size" debug message
X flicker with depth sort enabled
X implement basic depth sorting for triangles in P3D and OPENGL
X add option to sort triangles back to front so alpha works
o at least add it to the faq, or this would be a test case w/ the sorting
0113 core
X fix for open() on macosx submitted by chandler
0112 core
X saveFrame() issues with JAVA2D on osx
o implement hint(NO_DEPTH_TEST) for opengl
X already done hint(DISABLE_DEPTH_TEXT);
X check min/max texture sizes when binding to avoid problems
X minimum texture size may be 64x64
X maximum appears to be 2048, on macs maybe 512
X fix non-bound textures from mangling everything else
X fix enable/disable textures for some objects
X also a big problem for fonts
X calling updatePixels() on each frame fixes the issue (sorta)
X images are memory leaking pretty badly
X texture re-allocated on each frame
X lighting bug introduced in rev 109
X spotLight has troubles with an invalid value
X probably somethign weird about the params (3 vs 4) being sent
X the first spotLight works fine, it's something with the second
X (the one that follows the mouse)
X just something to debug in the example
X regression from contributed code..
X was using apply() instead of set() in PMatrix inverse copy
X filter() is also broken (not rewinding the intbuffer)
sound has been removed
o duration as an internal param, not a function
o When a sound is finished playing,
o it should return to 0 so it can play again
o Putting sound.loop() in draw() seemed to spawn multiple sounds threads?
o After a sound is paused, it will only play from where it was paused
o to its end and will not loop again
o The ref in PSound2 says volume accepts vals from 0...1
o but values larger than one increase the volume.
o SoundEvent // is sound finished?? Can't access now.
o make java 1.1 version of PSound work properly
o merge PSound and PSound2 via reflection?
o once debugged, merge these back together and use reflection
o (unless it's a messy disaster)
o Unsupported control type: Master Gain
o what's actually causing this error?
o won't play the sound a 2nd time (reopened)
o loadSound apparently broken in java 1.5?
X need to just remove PSound altogether
0111 core
X need to have a better way of getting/figuring out the endian
X use ByteOrder class in jdk 1.4, since issue is local to JOGL
X security ex when run as an applet
X also can no longer assume that macosx is big endian
o making 'run' synchronized caused a freeze on start w/ opengl
X display() as a function name is problematic
X causes nothing to show up.. either rename or mark it final
X fix for lights throwing a BufferOverflowException
0110 core
X finish updates for osx and opengl
X find/build universal version of jogl
0109 core
X loadImage("") produces weird error message
X still having strokeCap() problems
X fixes contributed by willis morse to deal with memory wastefulness
X should help speed up some types of OPENGL and P3D mode sketches
0108 core
X image(String filename, ...) and textFont(String filename, ...) implemented
X add notes to faq about video fix
X look into code that fixes crash on camera.settings()
X finish dxf writer that'll work with recordRaw()
0107 core
X no changes, only fixes for "save" bugs
0106 core
X fix bug where more than 512 vertices would cause trouble in P3D and OPENGL
0105 core
X fix some issues with beginRaw and opengl
0104 core
X don't open a window the size of the pdf if in pdf mode
X need to have some sort of flag in the gfx context that it's visible or not
o handled inside updateSize()?
X if it doesn't display to the screen, needs to never show a window
X basically if the main gfx context isn't viewable, close the window
X since it may have already been opened at 100x100
X avoid opening it in the first place?
X added toolkit getFontMetrics() for shape mode fonts to be able to change size
X recordRaw() to a PGraphics3 should send 3D data.
X but recordRaw() to a PGraphics(2) should send only 2D data.
0103 core
X fix stack overflow problem
X bug in itext implementation on osx (10.4 only?)
in previous releases
X recordFrame() and beginFile()/endFile()
X how to deal with triangles/lines and triangleCount and lineCount
X maybe just need a triangleImpl and lineImpl
X because it's too messy to retain the triangle objects and info
X calling recordFrame() from mousePressed is important
X dangerous tho because mouse fxn called just before endFrame
0102 core
X no changes, windows-only release to deal with processing.exe
0101 core
X add dispose() call to the shutdown part of PApplet
0100 core
X user.dir wasn't getting set properly
X when graphics can be resized, resize rather than creating new context
X change savePath() et al a great deal, include better docs
X straighten out save() and saveFrame()
o use File object for when people know what they're doing?
X same issue occurs with pdf and creating graphics obj
get initial version of pdf working
X get rid of beginFrame/endFrame echo to recorders?
X that way begin/end can just be where the recorder starts/stops?
X recordRaw is really confusing..
X when to use beginFrame/endFrame
X is beginRaw/endRaw really needed?
X seems to be a problem that it's an applet method
X but then it's called on the g of the applet
X but then it's the recorderRaw of that g that gets it called..
X how to flush when the sketch is done
X inside dispose method? explicit close?
X call exit() at end of pdf apps? exit calls dispose on gfx?
X beginRecord() and endRecord() so that record doesn't stop after frame?
X enable PGraphicsPDF for inclusion
X write documentation on images (they suck) and fonts (use ttf)
0099 core
X removed playing() method from PSound
X integrate destroy() method from shiffman as dispose() in PSound2
X ComponentListener is probably what's needed for resize()
X make sure that components can be resized properly via size()
X or that it properly responds to a setBounds() call
X calling size() elsewhere in the app doesn't quite work
X A second call to size almost works.
X The buffer apparently gets allocated and saveFrame saves the
X new size but drawing appears to be disabled.
0098 core
X change recordShapes() to just record() and recordRaw()
X width, height set to zero in static mode
X probably only set when resize() is called, and it's not happening
X be careful when fixing this, bugs 195/197 were a result:
X won't play the sound a 2nd time
X (have to call stop() first)
0097 core
X no changes, only export to application stuff
0096 core
X set applet.path to user.dir if init() is reached and it's not set
X add DISABLE_DEPTH_TEST to PGraphics3
X need to document this somewhere
X also need to add to PGraphicsGL
X access logs are being spammed because openStream() gets a 404
X the default should be to check the .jar file
X openStream() doesn't work with subfolders
X screwed up movie loading paths (quick fix)
X additional cleanup in the Movie class
X make path thing into getPath() or something?
X sketchPath(), dataPath(), savePath(), createPath()
X applet shouldn't be resizing itself
X opens at correct size, then makes itself small, then large again
X setup() mode apps often don't open at the correct placement
X because of their resizing
X check into bug where applet crashing if image not available
X probably need to add a hint() to make things not halt
X loadBytes() and openStream() et al need to return null
X loadImage() can too, but print an error to the console
X "not available in P3D" should read "OPENGL" in opengl lib
X keypressed ref: repeating keys
X also remove "no drawing inside keypressed"
X text block wrap problem with manual break character (\n)
draw mode issues
X when run externally without a draw, applets will exit immediately
X when run internally (no code folder or .java files) will just wait
X shouldn't quit draw mode apps immediately
X otherwise something gets drawn then the applet exits
X should instead use exit() when they need to exit
X NullPointerException when no draw()
X window closing immediately with library imports
X check into loadImage() with jars bug, very frustrating
o when using loadImage() on a jar, turn off "no cache" option?
X image no load halts the program (rather than returning null)
X note in the reference: png images work with java 1.3+
X add bug re: gif image break missing to revisions.txt
image pile
X get loadImage() to work properly with data folder
X should probably use the code from loadStream
X and the url stuff should be an alternate method altogether
o loadImage() seems to be caching everything from the jar
o make a note of how to disable this
o bizarre image loading error with
X couldn't find/replicate this
o read uncompressed tiff
X read uncompressed tga files.
o updated png encoder
older stuff, no longer an issue
o don't cache stuff from loadStrings and others
o mac java vm won't give up old version of file
o or use setUseCaches(false)
o too many push() will silently stop the applet inside a loop
X allow save(), saveFrame() et al to properly pass in absolute paths
X (so that it doesn't always save to the applet folder)
X could require that save() takes an absolute path?
X loadImage must be used inside or after setup
X either document this and/or provide a better error message
X expose function to write tiff header in PImage (advanced)
X helps with writing enormous images
X tag release 93 (francis thinks it's rev 1666)
0095 core
X undo the fix that causes the width/height to be properly set
0094 core
X fix bug that was causing font sizes not to be set on opengl
X apply fix from toxi to make targa files less picky
X "folder" has been renamed to "path" to match savePath().
X added "dataPath" to return the full path to something in the data folder
X savePath should maybe be appletPath or sketchPath
X because can be used for opening files too
X (i.e. if needing a File object)
X width, height set to zero in static mode
X probably only set when resize() is called, and it's not happening
X g.smooth is always false in opengl
o triangleColors are different because they're per-triangle
o as opposed to per-vertex, because it's based on the facet of the tri
X make vertexCount etc properly accessible in PGraphics3
X so that people can do things like the dxf renderer
X also have a simple way to hook in triangle leeches to PGraphics3
X this exists, but needs to be documented, or have accessors
0093 core
X upgrade jogl to a newer rev to fix osx "cannot lock" issues
X faster blur code contributed by toxi
X filter(ERODE) and filter(DILATE) contributed by toxi
o textAscent() should probably be g.textAscent instead
o more like textLeading() etc
X nope, because it requires grabbing the font metrics and other calculations
X bezierDetail, curveDetail made public
X added textMode(SHAPE) for OPENGL
X error message saying that strokeCap and strokeJoin don't work in P3D
X textMode(SHAPE) throws ex when drawing and font not installed
X fix a bug with filename capitalization error throwing
X add NO_DEPTH_TEST to PGraphics3
X java 1.4 code snuck into PApplet, causing problems on the mac
X prevent from inserting a file prefix
X so that people can use absolute paths
X or add a version that takes a file object
nixed or fixed in previous releases
X textMode(SCREEN) having issues on Mac OS X
X seem to be problems with updatePixels() on the mac
X appears to run asynchronously
X move zbuffer et al into PGraphics so that people don't have to cast to P3
o noLoop() is behaving strangely
0092 core
X rle-compressed tga save() method added by toxi
X also version that only saves RGB instead of ARGB
X proper/consistent api to access matrices in PGraphics/PGraphics3
X first use loadMatrix(), then m00, m01 etc
X find the post on the board and make a note of this
X proper api for access to Graphics2D object in PGraphics2
X just add the current "g2" thing to the faq
X and make a note of it on the suggestions board
X vars like cameraX etc need to be in PGraphics
X otherwise g.xxxx won't work
X how far should this go? vertices etc?
X vertices not included because switching to triangleImpl and lineImpl
X fix for copy() in java2d to make things a little speedier
X make PApplet.main() for java 1.3 friendly (Color class constants)
X remove call to background() in PGraphics2
o change PGraphics to PGraphics2
o or not, because PGraphics has all the base stuff for 3D
o change PGraphics2 to PGraphicsJava or PGraphicsJava2D
o maybe wait until the new shape stuff is done?
X move font placement stuff back into PGraphics?
X figure out how to get regular + java fonts working
X use that do drive how the api is set up
X optimize fonts by using native fonts in PGraphics2
X especially textMode(SCREEN) which is disastrously slow
X in java2d, can quickly blit the image itself
X this way, can isolate it for gl too, which will use glBitmap
X danger of this setup is that it may run much nicer for the author
X i.e. with the font installed, and then super slow for their users
X add "smooth" as a field inside the font file
X and when smooth field is set, make sure JAVA2D enables smoothing
X since otherwise smooth() has to be called for the whole g2
X rob saunders contributed a fix for a bug in PImage.copy()
X the wrong boundaries were being copied in the code
X fix bug where noLoop() was waiting 10 secs to call exit()
X add ability to draw text from the current text position
0091 core
X change to synchronization to hopefully fix some update issues
X curveVertex() problem in P2D when > 128 points fixed
X for present mode, need to set a default display
X currently crashes if only --present is specified w/o --display
o make the 1.4 code in PApplet load via reflection
X doesn't appear necessary with 1.3 applets
o or is some of the stuff usable in 1.3 but not all?
o ie. the device config classes exist but not the set full screen method
X currently some bugs in the main() because it's not sizing applets
X if running in present mode it works ok
X but that also needs its display set.. argh
X add exit() function to actually explicitly quit
X scripts will just require that people include exit at the end
X esc should kill fullscreen mode (actually now it just quits anything)
X can a key handler be added to the window? not really
X add an escape listener to the applet tho.. but will it work with gl?
X how can this be shut off for presentations?
X present mode wasn't reading the stop button color
X cleaned up the createFont() functions a little
X java 1.3 required message isn't clickable
0090 core
X added arraycopy() function that calls System.arraycopy()
X also the useful shortcut fxn
0089 core
X no changes since 88
0088 core
X createFont crashes on verdana (win2k)
X made ceil(), floor(), and round() return ints instead of floats
X fix for PSound: Unsupported control type: Master Gain
X just shuts off the volume control
cleared out / completed in previous releases
X typed version of expand() and contract()
o fishwick bug with text() and shapes
o ellipses no longer completed when g.dimensions = 2 or 3,
o or not even drawn.. what a mess.
X go through and figure out what stuff to make public
o depth testing of lines vs text is problematic
o probably need to patch in an older version of the line code
o use depth()/noDepth() to handle depth test
X on exceptions, use die to just kill the applet
X make the file i/o stuff work more cleanly
X if people want to use their own file i/o they can do that too
o this could also be contributing to the hanging bug
X static applets need to be able to resize themselves on 'play'
X figure out what to do with static apps exported as application
X needs to just hang there
o scripts (w/ no graphics) will need to call exit() explicitly
o actually.. just override the default draw() to say exit()
X may need a fileOutput() and fileInput() function
X to take care of exception handling
o or maybe scripts are just handled with a different method? (yech)
o or maybe setup() can actually throw and Exception?
o but that's inserted by the parser, and hidden from the user?
o implement size(0, 0) -> just doesn't bother doing a;
o too abstract, just have draw() call exit by default
o so if nothing inside draw, just quits
o make properly exit after things are finished
o still some weirdness with thread flickering on the mac
o and frenetic display updates on the pc
o move really general things out of PConstants (X, Y, Z..) ?
X add something to PApplet to have constants for the platform
o needed for error messages (don't talk about winvdig on mac)
X and also useful for programs
X bring screen space and font size settings back in to PGraphics
X causing too much trouble to be stuck down in PFont
0087 core
fixed in previous releases
X The PushPop example in Transformations is not working
X with lights() callled
X The transparency of the Rotate3D example in Translformations
X is not as expected
X lighting totally sucks (both PGraphics3 and PGraphicsGL)
X bring in materials for opengl as well?
X don't include a class, just make it similar to the light functions
X sphere() and box() should set normals and take textures
X background color seems to be wrong?
X check this once lighting actually works
X printarr() of null array crashes without an error
X actually, errors from many crashes not coming through on the mac?
0086 core
X java 1.4 getButton() was inside the mouse handler
X color() doesn't work properly because g might be null?
X textMode(RIGHT) etc causing trouble.. tell ppl to use textAlign()
X saveFrame with a filename still causing trouble:
X fov should be in radians
X present mode not working on macosx 10.2?
X ex on endshape if no calls to vertex
X is camera backwards, or staying fixed and moving the scene?
X camera() is broken, should be ok to call it at beinning of loop
X end of lookat might be backwards
X or endCamera might be swapping camera and cameraInv
X beginCamera also grabs it backwards
0085 core
X camera() was missing from PGraphics
X some tweaks to openStream() for loading images and less errors
X basic clipping in P3D from simon
0084 core
X fixed create font / incremented font file version number
X simon lighting fixes
X added simon's lighting docs to lights() fxn in javadoc
X set default stroke cap as ROUND
X otherwise smooth() makes points disappear
X hack for text with a z coordinate
0083 core
X fix double key events
X fix mrj.version security error on the pc
X set() fixes for PGraphics2 and setImpl inside PGraphics
X remove angleMode (also from PMatrix classes)
X remove/rename postSetup() stuff from PGraphics/PApplet
X camera(), perspective(), ortho()
X matrix set by the camera on each beginFrame
X push/pop are now pushMatrix/popMatrix
o get engine working again
lighting stuff
X make fill() cover ambient and diffuse
X provide separate call for ambient to shut it off
o why does diffuse just mirror fill()?
o seems to cover just diffuse, not ambient_and_diffuse like fill
o maybe fill() should set diffuse, and sep call to ambient() sets ambient?
X removed it
X move dot() to the bottom w/ the other math
already done
X remove PMethods as actual class, use recordFrame(PGraphics)
X size(200, 200, "processing.illustrator.PGraphicsAI");
api questions
o image(String name) and textFont(String name)
o do we change to font(arial, 12) ?
X remove angleMode() ?
X be consistent about getXxx() methods
X just use the variable names.. don't do overkill on fillR et al
X or just what functions are actually made public
X is fillRi needed? it's pretty goofy..
X how to handle full screen (opengl especially) or no screen (for scripts)
tweaking up simong light code
o what's up with resetLights?
o add PLight object to avoid method overflow
o preApplyMatrix, invApplyMatrix?
o applyMatrixPre and applyMatrixIn
o rotateXInv is ugly..
o irotateX?, papplyMatrix?
wednesday evening
X expose api to launch files, folders, URLs
X use with/in place of link()
X call it open()
X what to call firstMouse
X implement rightMouse?
X yes, mouseButton = LEFT, CENTER, or RIGHT
X error when running on 1.1...
X You need to install Java 1.3 or later to view this content.
X Click here to visit and install.
X make inverseCamera into cameraInv
X fix messages referring to depth()
X route all of them through a single function rather than current waste
X fix bezierVertex() in P3D for newer api
wednesday late
X track loadImage() with filenames that are inconsistent
X really a problem with the ves61r kids
X i.e. mixed case filename in sketch is different in windows
X but when uploaded to a unix server causes a serious problem
X use canonicalPath to flag possible problems
o fix shapes in P3D (line loop, polygons, etc)
o should we include a from and to for the directional light?
X no, cuz it doesn't do much really..
X fromX-toX etc is all that's different
thursday day
X set modelview to camera on endCamera
X add ortho() and perspective() to
thursday evening
o textMode(ALIGN_LEFT) etc, should make sure that left/center/right not used
X though since have to change to LEFT, should be easy to switch
friday night
o should toInt('5') return the ascii or the char?
X since (int) '5' returns the ascii, that's what it does
X made a note in the PApplet reference
text api
X use built-in font if available? yes
o text() with \n is semi-broken
X does the font or PApplet control the size? (the font, ala java)
X without setting the font, SCREEN_SPACE comes out weird
o move SCREEN_SPACE into ScreenFont() class?
o probably not, casey thinks screen space text is prolly more useful
o that way can clear up some of the general confusion in the code
X textFont with a named font can use the renderer/os font
X illustrator api can get the ps name from the java font name
X since it's associated with the font file.. wee!
X for postscript, can grab the real font
o altho problem here is that really the fonts just need a name
o since needs to render to screen as well
o font has to be installed to get psname
X fine because why would you embed a ps font that you don't have?
o need to resolve SCREEN_SPACE vs OBJECT_SPACE
o can this be auto-detected with noDepth()?
o how does rotated text work?
o PFont.rotate(180) rotate(PI)
o or can this be detected from the matrix?
X don't use pixels to do screen space text inside PFont
X add a function in PGraphics for direct pixel image impl
X store the font name in the vlw font file (at the end)
o could include multiple names for multi platforms
X get text impl stuff working properly
o look into fixing the texture mapping to not squash fonts
o NEW_GRAPHICS totally smashes everything
friday postgame
X implement createFont()
X with a .ttf does a create font internally (1.3+ only)
X although the images aren't populated
X until a P2D/P3D/OPENGL tries to draw them, which triggers it
X but if PGraphics2, just uses the built-in font
X also works for font names and just creating them
X if font name doesn't end with otf or ttf, then tries to create it
X change objectX/Y/Z to modelX/Y/Z
X PFont.list() to return string list of all the available fonts
X probably not a mode of use that we really want to encourage
X actually important because the whole graphicsdevice crap is silly
X and we need a 1.1 versus 1.3/1.4 version
X implement printarr() as println() ?
X actually deal with all the array types.. oy
X should nf() handle commas as well?
X just add a basic nfc() version for ints and floats
o yes, and add nf(int what) so that non-padded version works
o but don't put commas into the zero-padded version
o make nf/nfs/nfp not so weird
o nf(PLUS, ...) nf(PAD, ...) nfc(PLUS, ...)
X unhex was broken for numbers bigger than 2^31
saturday late afternoon
X fix bug with openStream() and upper/lowercase stuff
X do a better job of handling any kind of URLs in openStream()
sunday morning
X incorporate simon's new lighting code
0082 core
X make jdkVersion, jdkVersionName, platform, platformName variables
X additional note about screen sizes and displays
X sto instead of stop in present mode
X appears that opengl libraries weren't correctly added in 81?
X requestFocus() now called on gl canvas
X basic lights now work by default
0081 core
X background(PImage) now works in opengl
X when running externally, applets don't always get placed properly
X if size is never set, then doesn't always layout
X problem is in gl and in core, and is inconsistent
X move more logic for layout into PApplet.. maybe a static method?
X this way can avoid duplicating / breaking things
o what is the stroked version of a sphere? a circle?
X write list of params that can be passed to PApplet
o document in the code a note about how size() et al place themselves
X saveFrame was double-adding the save path because of save() changes
size(200, 200, P3D) - createGraphics and placement issues
X make pappletgl work back inside papplet
X and then size(300, 300, DEPTH) etc
X get rid of opengl renderer menu
o otherwise hint() to use the p5 renderer instead of java2d
X applet placement is screwy
X how to force PGraphics() instead of PGraphics2()
X size(300, 200, P2D);
X size() doing a setBounds() is really bad
X because it means things can't be embedded properly
o applets on osx (and windows) sometimes show up 20 pixels off the top
X how to shut off rendering to screen when illustrator in use?
X need size(30000, 20000) for illustrator, problem in papplet
X size(30000, 20000, ILLUSTRATOR)
X make Graphics2 et al load dynamically using reflection
X can this be done with g2 and if exception just falls back to g1?
X this way people can remove g1 by hand
o size() that changes renderer will throw nasty exception in draw()
X or maybe that's ok? document that no changing renderers?
X take a look to see what needs to happen to get PAppletGL merged in
X i.e. can i just extend GLCanvas?
present mode
o call present() from inside the code?
o that if applet is 500x500, centers on a 800x600 window
X no, that's nasty... use --present to launch in present window
X though how do you get the screen size?
X screen.width and screen.height? - yes
X write java 1.4 code for full screen version of PApplet
X this might be used for presentation mode
X proper full screen code for present mode
X why do mouse motion events go away in full screen mode
X or with a Window object
X use screen manager to run present mode properly
X set both versions to require java 1.4
X change the Info.plist inside macosx
X and add something to PdeBase to make sure that it's in 1.4
X running present mode with a bug in the program hoses things
X make sure the program compiles before starting present mode
0080 core
X PApplet.saveFrame() is saving to sketch folder, is not
X will save to the applet folder,
X but or will save only to the current
X working directory, usually the Processing folder.
X removed static version of mask() from PImage
X no more PImage.mask(theImage, maskImage)
X just use theImage.mask(maskImage)
X PImage.filter()
X maybe use quasimondo's gaussian blur code?
o filter() on subsections? yes, in keeping with rest of api
X no, in keeping with getting shit done
X BLUR - write simple blur
X how does photoshop handle this?
X BLUR - add gaussian blur
X email re: credit/attribution and descrepancy between algos
X forgot to mention the line hack to get points working in 78
X implemented PGraphicsGL.set(x, y, argb)
X implement PGraphicsGL.set(x, y, PImage)
X blend, copy, filter all implemented for opengl
X copy(Pimage, x, y) has become set(x, y, PImage)
X textMode -> textAlign
X textSpace -> textMode
X text in a box is broken (at least for PGraphics2)
o check to see if it's a rounding error with width()
o get text rect working again (seems to be in infinite loop)
X nope, was just that the space width wasn't being scaled up properly
X clean up the javadoc so no more errors
X change mbox to PFont.size?
o make width() return values based on natural size?
X not a great idea.. plus java2d uses 1 pixel font for things
X email simon re: lighting api
X things are actually more on track than expected
X camera is swapping colors in gl (on mac?)
X in fact, all textures on mac were swapping colors
X test this on windows to see if fixed
X sphere x,y,z,r or box w,h,d.. need to make them consistent
X goodbye sphere(x, y, z, r)
o should available() be waiting() or something like that instead?
o go through and see what functions (no pixel ops?) frame recorders should have
X decided instead to use recordFrame(PGraphics)
o remove SCREEN_SPACE altogether?
X can't do this for now
implemented in 79
X make sure arc goes in the right direction that we want it to
X (make sure that PGraphics3 goes the same direction)
0079 core
X no changes to core in this release
0078 core
X text fixes
X lines were getting horizontally mashed together
X lines also getting vertically smashed together
X make a note of the change to font.width()
X backwards rects and backwards ellipses weren't properly drawn
X code now compensates for negative widths or swapped x1/x2
X what to do about backwards images
X imageMode() wasn't being set properly
X fix noLoop() not properly running
X If noLoop() is called in setup(), nothing is drawn to the screen.
X also fix redraw() to include interrupt() again
X loadPixels throwing NPEs
X fixes to SCREEN_SPACE text not being sized properly
X loadPixels()/updatePixels() on screen space text (ouch)
X get SCREEN_SPACE text working again
X patch in newer jogl.. too many BSODs
X saveFrame seems to be broken
X fixed for PGraphics2
X fixed for PGraphicsGL
X also implemented loadPixels/updatePixels for gl
X fix tint() with color and alpha for PGraphics2
X alpha() colors are inverted (white is opaque.. doesn't make sense)
X should we swap this around? no - this is how photoshop works
X fix arc
X get() is back
X set camera.modified so that it draws properly
X it's annoying not having a copy() function inside PImage
X formerly get() with no params
o clone throws an exception
o PImage constructor that takes itself?
o PImage copy = new PImage(another);
X hack for points to work in opengl, but still not working broadly
X work on filter() functions
X POSTERIZE - find simple code that does it?
X there must be a straightforward optimized version of it
o EDGES - find edges in casey's example is differen than photoshop
o which version do people want with their stuff
X edges filter removed
X several fixes to Movie and Camera to work with the new gfx model
X PImage.get(x, y, w, h) had a bug when things went off the edge
X set defaults for strokeCap and strokeJoin
X get() and gl images were broken for screen sizes less than full size
X fix arcs, were badly broken between java2d and pgraphics
X look at curve functions more closely
X should we switch to curveVertex(1,2,3) (ala curveto)
X because some confusion with mixing types of curves
o make sure we don't want curveVertices(1,2,3,u,v)
o also make test cases so that java2d and java11 behave the same
X implement PGraphics2.curveVertex()
X updatePixels() not setting PApplet.pixels
X make loadPixels in PGraphics ignored, and put it in PApplet
X made loadStrings() and openStream(File) static again
X test loadPixels()/updatePixels()/saveFrame() on the pc
X better, just assume that they need the endian swap
X fixed draw mode apps for opengl
X (gl was missing a beginFrame)
X pmouseX, pmouseY are not working in OpenGL mode
X (as they are working in Processing mode)
o screenX/Y aren't properly working for 2D points against a 3D matrix
o (ryan alexander rounding bug)
o Just to clarify, it works completely correctly with rounding
o screenX/Y and also using the 3 arg version of translate -
o ie translate(hw,hh,0) instead of just translate(hw,hh).
X no longer an issue because moving to 2D and 3D modes
o PImage: remove the static versions of manipulators?
o probably not, because they're inherited by PApplet
o i.e. mask(image, themask);
X no PImage needed b/c PGraphics is a PImage
o colorMode(GRAY) to avoid stroke(0) causing trouble?
o or maybe get rid of stroke(0)? hrm
0077 core
X bring back pmouseX/Y using a tricky method of storing separate
X values for inside draw() versus inside the event handler versions
X debug handling, and make firstMouse public
X explicitly state depth()/nodepth()
X don't allocate zbuffer & stencil until depth() is called
X arc with stroke only draws the arc shape itself
X may need a 'wedge' function to draw a stroke around the whole thing
X only allocate stencil and zbuffer on first call to depth()
X this will require changes to PTriangle and PLine inside their loops
X try running javadoc
X die() may need to throw a RuntimeException
o call filter() to convert RGB/RGBA/ALPHA/GRAY
o cuz the cache is gonna be bad going rgb to rgba
X don't bother, people can re-create the image or set cache null
X fix font coloring in PGraphics2
X fix tint() for PGraphics2
X get text working again
X partially the problem is with ALPHA images
X how should they be stored internally
X also colored text, requires tint() to work properly
X move textMode and textSpace back out of PFont
X use die() to fail in font situations
X can't, just use a RuntimeException
covered in previous
X before graphics engine change, attach jogl stuff
X need to try jogl to make sure no further changes
X and the illustrator stuff
o massive graphics engine changes
o move to new graphics engine
o test with rgb cube, shut off smoothing
o make sure line artifacts are because of smoothing
o implement 2x oversampling for anti-aliasing
o renderers can plug in:
o at direct api level
o taking over all color() functions and vertex collection
o at endShape() level
o where vertices are collected by core and blit on endShape()
o (takes polygons and lines)
o at post tesselation level
o takes only line segments and triangles to blit (dxf writer)
o api for file-based renderers
o need to work this out since it will affect other api changes
o size(0, 0) and then ai.size(10000, 20000)
o size 0 is code for internal to not show any window
o saveFrame(PRenderer) or saveFrame("name", PRenderer)
o saveFrame gets called at the beginning of loop()
o or is just a message to save the next frame (problem for anim)
X vertices max out at 512.. make it grow
X add gzipInput and gzipOutput
X light(x, y, z, c1, c2, c3, TYPE)
X also BLight with same constructor, and on() and off() fxn
X make sure applet is stopping in draw mode
X loadImage() is broken on some machines
X hacked for a fix in 72, but need to better coordinate with openStream()
X pushing all intelligence down into class that implements PMethods
o keep hints about type of geometry used to reconstruct
o no special class, just uses public vars from PGraphics
o how to hook into curve rendering so that curve segments are drawn
o maybe lines are rendered and sorted,
o but they point to an original version of the curve geometry
o that can be re-rendered
o also integrate catmull-rom -> bezier inverse matrices
o even with the general catmull-rom, to render via ai beziers
api changes
X removed circle.. it's dumb when ellipse() is in there
X (it's not like we have square() in the api)
X arcMode is gone.. just uses ellipseMode()
X save tga and tif methods are static and public
X imageMode(CORNER) and CORNERS are the only usable versions
X alpha(PImage) is now called mask() instead
X already have an alpha() function that gets alpha bits
X on start, mouseX is 0.. how to avoid?
X use firstMouse variable.. figure out naming
X get frame recording working
X not tested, but at least it's there
image stuff
o could also do PImage2, which would need a getPixels() before messing w/ it
o bad idea, distinction not clear
o even in java 1.1, could use regular java.awt.Image and require getPixels()
o -> 1.1 wouldn't help anything, because needs pixels to render, oops
X the updatePixels() in PGraphics has to be overridden (from PImage)
X to make itself actually update on-screen
X actually, should be no different than the check_image function
X PGraphics2 and PGraphicsGL will need loadPixels() to be called
X in order to read pixels from the buffer
X loadPixels() and updatePixels() prolly should be shut off in opengl
X make people use get() instead to grab sub-images
X PGraphicsGL.copy() needs to be overridden.. use glDrawBitmap
o loadImage() needs to handle 1.1 vs 1.3 loading
o set image.format to be BUFFERED? no.. just use RGBA always
o have a flag to always use the cache, i.e. with BufferedImage
o turn that off when someone modifies it (nope, no need to)
X PImage.getPixels(), updatePixels(), updatePixels(x, y, w, h),
o PImage.setPixels(int another[]);
X imageMode(CENTER) is weird for copy() and updatePixels()
X perhaps copy() and get() ignore imageMode and use xywh or x1y1x2y2?
X or disallow imageMode(CENTER) altogether?
o in java 1.3, getPixels() can call getRGB() via reflection
o cache.getClass().getName().equals("BufferedImage")
X readPixels/writePixels?
X has to happen, since this is so fundamental to gl as well
X loadImage in 1.3 leaves pixels[] null (not in 1.1)
X 1.3 plus gl is a problem, since conflicting caches
X gl has no need for a bufferedimage tho
X so maybe checks to see if the cache is a BufferedImage
X if it is, calls getPixels to set the int array
X then replaces cache with glimageache
X pappletgl loadimage could take care of this instead
X calls super.loadImage(), if cache != null, proceed..
X this is prolly a mess
X PImage.getPixels() and PImage.getPixels(x, y, w, h) ->
X (the xywh version still allocates the entire array, but only updates those)
X only needed for java2d
X not (necessarily) needed when loading images,
X but definitely needed when setting pixels on PGraphics
X PImage.updatePixels() and PImage.updatePixels(x, y, w, h)
X (this is actually just setModified)
X in opengl, marks all or some as modified
X so next time it's drawn, the texture is updated PGraphicsGL.image()
X in java2d, updates the BufferedImage on next draw
X can't use regular getPixels() on PGraphics, because its image isn't 'cache'
X also, the cache may be used to draw the whole surface as a gl texture (?)
X not a problem for the main PGraphics, but for any others created to draw on
X make light() functions actually do something in PGraphicsGL
X box() and sphere() working again
X make opengl work in draw mode
X set initial size using --size=
X color channels seem to be swapped on windows in image example
X check on the mac to see what it looks like
X default to single byte input from serial port
X and add serial.setBuffer() for message length as alternative
X or serial.setDelimiter() to fire message on delim
X named it bufferUntil();
0076 core
X no changes, only launcher issues
X textureMode(NORMAL_SPACE) screws up the image() command
X image() appears to require IMAGE_SPACE to function properly.
X added focusGained() and focusLost()
X lots of changes to internal naming of vars
X screenX(x, y) and screenY(x, y) added for noDepth()
X eyeX, eyeY etc have been renamed cameraX/Y/Z, and cameraNear/Far
X modify targa and tiff writing routines to break into header writing
X writeTIFF, writeHeaderTIFF, writeTGA, writeHeaderTGA
X MAJOR CHANGE: RGBA becomes ARGB for accuracy
o uv coords > 1 shouldn't clamp, they should just repeat ala opengl
o actually i think opengl has a setting for it
o remove need to use depth() at the beginning
X need only be set once
X pmouseX is broken again
X remove pmouseX/Y altogether
X maintain things a bit different
o email the beta@ list to see how people are using pmouseX
X changed PMovie.length to PMovie.duration
X move around/simplify loadImage() inside PApplet
X working to add more die() statements inside PApplet
o can ALPHA fonts work using the other replace modes?
fixed in previous releases
X text stuff
X text() with alignment doesn't work for multiple lines
X don't change the size of a font when in screen space mode
X patch rotated text (from visualclusto) into bfont
X what sort of api? textSpace(ROTATED) ?
X rotated text has a bug for when it goes offscreen
X why is the thing hanging until 'stop' is hit?
X what happens when stop is hit that sets it free?
X (at what point does it start working properly?)
X cache needs to also make things a power of 2
X if images are already a power of 2, then needn't re-alloc
X cacheIndex needs to be set to -1 when the image is modified
X or maybe have a modified() function?
X debug why certain spots are having errors (see 'problem here' notes)
X INVALID_OPERATION after drawing lines for cube
X fix noLoop bug
X remove errors when drawing textures
X reverse y coordinates
X make play button un-highlight with opengl
X also make window move messages work properly
X very necessary, since opens window at 100x100
X problem was the threading issues
X bring back renderer menu
X reading/saving pref for opengl renderer
X remove cameraMode(PERSPECTIVE) on each frame
X why is the first one failing?
X still threading issues with running opengl
X threading really horks up dual processor machine..
X first run hangs until quit
X though doesn't seem to replicate when p5 is restarted
X make sure background() gets called at least once with opengl
X otherwise screen never actually updates
X beginFrame() around setup()
X draw mode stuff happens inside setup..
o or maybe need to get better at size() inside of draw() ?
X make this consistent with the regular PApplet
X otherwise things are going to be weird/difficult for debugging
0074 core
X removed zbuffer precision hack in PLine to improve z ordering
X no longer set g.dimensions = 3 when using vertex(x, y, 0)
0073 core
X tweak to fonts to use TEXT_ANTIALIAS because of macosx @#$(*&
X loadImage() is broken on some machines
X hacked for a fix in 72, but need to better coordinate with openStream()
0072 core
X make m00, m01 etc public
X hack to make loadImage() work
X cache settings are ignored, may be slow as hell
X make hints[] no longer static
X they weren't properly resetting
0071 core
X properly swap alpha values when lines need to be rendered backwards
X make cursor() commands public
X ltext and rtext for screen space stuff
X ltext is broken when it goes y < 0 or y > height
X ltext & rtext completely working
X make sure font creator is making fonts properly fixed width
X probably not using java charwidth for the char's width
X probably wasn't using textFont() properly
X now that it's actually a key, should it be a char? (what's keyChar?)
X that way println(c) would work a little better..
X libraryCalls() not properly working for pre, post, or draw()
o image(myg, x, y) doesn't work but image(myg, x, y, w, h) does
o (image kind prolly not set right and so image() gets pissy)
text fixes
X make text rect use rectMode for placement
X if a word (no spaces) is too long to fit, insert a 'space'
X move left/center/right aligning into the font class
X otherwise text with alignment has problems with returns
X could PFont2 be done entirely with reflection?
X that way other font types can properly extend PFont
o font char widths from orator were not fixed width
o may just need to regenerate. if not, widths may be set wrong.
0070 core
o check ordering of split() in java vs perl for regexp
X don't include empty chars in font builder
X .vlw font files are enormous with full charset
X check to see if the character exists before adding it to the font
X fixed (unreported) problem with char lookup code
o split() with multiple args (i think this is completed)
X trim() not chop().. whups
X random(5, 5) -> return 5, random(6, 4) return error
X use random.nextFloat() because it's faster
X make grayscale image in p5
X could be used with alpha() to properly set alpha values
X made into filter(GRAYSCALE) and filter(BLACK_WHITE) functions
X make g.depthTest settable as a hint
X #ifdef to remove client and server code as well
X need to resolve issues between rendering screen/file
X illustrator-based rendering needs to work for ars projects
X screen may be 400x400 pixels, but file be 36x36"
X launcher.cpp broke serial.. see versions in processing.notcvs
X rewrite bagel code..
X for this release, because it will break things along with the lib stuff
X switch to PImage, PApplet, etc
o bug in BImage.smooth() when resizing an image
X shut off the automatic gunzipping of streams, keep for fonts
X fix for duplicated points in polygons that foiled the tesselator
X cleaned up texture() code between NEW/OLD graphics
X not quite so much duplicated in cases etc.
X lines: vertex coloring bug with my swap hack
X last vertex on LINE_LOOP fades out
X include values in PConstants for additional blend modes:
X include a lerp()? is there one in flash?
X should it be called lerp or mix?
X acos, asin, atan, log, exp, ceil/floor, pow, mag(x,y,z)
X color issues
X doesn't work when outside a function:
X color bg_color = color(255,0,0);
X colorMode broken for red() green() etc
X add color(gray) and color(gray, alpha)
o update() mode needs to be hacked in (?)
X make 'online' a boolean
X pass in args[] from main
X angleMode(DEGREES) and angleMode(RADIANS)
X fixes to line and curve code
X api to properly sense when applet has focus
X add a 'focused' variable to the applet
X code now in zipdecode, maybe just list this as a standard thing?
X do applets know when they're stopped? stop? dispose?
X would be good to set a param in p5 so that the thread dies
X if people have other threads they've spawned, impossible to stop
cleaning up
X make bagel more usable as standalone
X breakout BGraphics (have its own BImage)
o breakout BApplet into BComponent ? (fix out-of-bounds mouse - doesn't)
o opengl export / rendering mode
o currently implemented, but somewhat broken
o finish this once all the line code is done
o make possible to use to create versions w/ stuff removed
o build gl4java for java 1.4
o separating of BGraphics and BApplet
o change copyrights on the files again (to match ?)
X loadStrings has a problem with URLs and a code folder
o turned out to be a problem with firewall/antivirus software
o when running as an applet, need to loadStream from documentBase too
o problem is that BGraphics has the loadStream code, not BApplet
o new sphere code from toxi
o already added a while back
o sphere code needs only front face polygon
o all triangles must be counter-clockwise (front-facing)
X fix loadImage to be inside PApplet
X saveFrame() to a folder horks things up if a mkdirs() is required
X on macosx, this makes things hang; on windows it complains
X decide on whether to use PTools
X decided against, since it doesn't help anything
X and some functions need the applet object, so it's just annoying
o i.e. move math functions into utility library
o check what other functions require PGraphics to exist but shouldn't
o look at BGraphics to see if setting an 'applet' could be used
o then other than that, if no applet set, no connection to PApplet
X change font api to not use leading() as a way to reset the leading
X resetLeading and resetSize are the things
X embed all available chars from a font, so japanese, etc works
X fix a bunch of font bugs regarding charsets and lookup
X array operations: boolean, byte, char, int, float, String
X expand/contract
X append, shorten
o shift/unshift
o slice
X splice
X reverse
X concat
X make clone() into copy()
X add a method BApplet.setPath() or something like that
X use it to repair saveBytes, saveStrings, etc
X put screenshots into their sketch folder
X full casting operations on primitives and arrays of them
X text(String text, x, y, width, height) // based on rectMode
X textMode() for align left, center, right (no justify.. har!)
X hex(), binary(), unhex(), unbinary()
X fix array functions not returning a value
X noiseSeed and randomSeed
X incorporated NO_FLYING_POO line/poly hack developed for axel
X sort() should return an array, rather than sort in place
X fix binary function, had wrong offset number
X casey: i wan't able to get binary() to work at all:
o Typography: Helix won't compile
o works fine, just needs BFont -> PFont
X standalone 'alpha' function for PImage (static methods for alpha fxns)
X Image: Edge, Image: Blur: Alpha not set? The error is easier to see on Blur
X turns out bounds checking wasn't working properly on colors
X fix mouse/key events, make properly public for the package stuff
X The biggest problem was the key and mouse functions not working.
X Input: Mouse_Functions
X Input: Keyboard_Functions
X -> PClient, PServer
X write client/server implementations for new-style api
X basic test with old net server has things working fine
X inputFile, outputFile, reader, writer commands
X also loadStrings(File file)
X printarr instead of print/println for arrays
X println(Object o) conflicts with println(int a[])
X but println(Object o) is very needed
X loop/noLoop setup
X make loop/noLoop work properly
X fixes/changes to key and mousehandling
X tab key not working?
X mousePressed, keyPressed, others.. queue them all
X queue multiple times
X strangeness with key codes on keyPressed
X key codes not properly coming through for UP/DOWN/etc
X had to bring back keyCode
X add redraw() function
X call redraw() on the first time through (to force initial draw)
X otherwise noLoop() in setup means no drawing happens at all
040920 evening
X defaults for PApplet and PGraphics are different
o PGraphics has none.. PApplet has fill/stroke
X actually not the case, only that wasn't calling decent superclass
X set PImage.format as RGB by default?
X this was problem with rendering an image from PGraphics on board
040921 morning
X bug in get() that was removing the high bits (rather than adding)
040921 evening
X lots of work on libraries, figuring out PLibrary api
X get library stuff debugged
X port arcball and finish up dxf writer
X beginCamera() no longer sets an identity matrix
X make savePath() and createPath() accessible to the outside world
X useful for libraries saving files etc.
X sizing bug fix to fonts, they now match platform standards
X however, *this will break people's code*
X text in a box not written
X make sure to note in the docs that text/textrect position differently
o for this reason, should it be called textrect()?
X font heights and leading are bad
X get good values for ascent and descent
X if ScreenFont subclasses PFont.. can that be used in textFont()?
X check to make sure the tops of fonts not getting chopped in font builder
0069 bagel
X text(x, y, z)
X fixed camera modes / replaced how isometric is handled
X whoa.. BGraphics.screenX() et al had the camera stuff shut off
X and that's what shipped in 67. shite.
X need to get things fixed up properly so camera is properly set
X ISOMETRIC was completely broken.. need to implement properly
X also, the default camera is perspective
X cameraMode(PERSPECTIVE) and cameraMode(ORTHOGRAPHIC) setup basic cameras
X if the user wants a custom camera, call cameraMode(CUSTOM); before begin()
X printMatrix() and printCamera() to output the matrices for each
X more functions made static (loadStrings, loadBytes) that could be
X print() commands in BApplet were among these
X die() command to exit an application or just stall out an applet
X die(String error) and die(String error, Exception e)
X more documentation in comments for functions
X chop() function that properly also handles nbsp
X join() was handled weird
X run nf() and nfs() on arrays
X nfp() to show plus sign
X toInt, toFloat, toDouble (nf is for toString.. inconsistent)
o split() function splits strings instead of splitStrings()
o ints() converts an array of strings/doubles/floats to an int array
o split() should also use StringTokenizer
o to do countTokens() and then stuff into an array
o shave() or chomp() or trim() method to remove whitespace on either side
o including unicode nbsp
X min() and max() with three values were broken (now fixed)
X CONTROL wasn't properly set in BConstants
X macosx.. flickering several times on startup
X fixed this, along with other sluggishness related threading issues
X bug with charset table on older fonts
X index_hunt was look through the table, not what was in the font
X seems to be some difficult threading problems still present
X fixed many threading issues across macosx and linux
X side-porting changes
X new(er) line code is not in the main 'processing'
X making perlin non-static not in the main bagel
X polygon stroking hack code from the end of 68
X erikb found a bug inside split(), it would die on empty strings
X fixed it, also modified behavior of split() with a delimeter
X previously, it would remove the final delimeter and an empty entry
X but that's now disabled, since the split cmd is very specific
X code from toxi to support .tga files in loadImage
X fix bug where single pixel points were ignoring their alpha values
X static loadStrings and loadBytes aren't being added to BApplet
X (the versions that use an inputstream)
X added support for handling static functions in
X threading is broken again on windows
X windows needs a sleep(1) instead of the yield()
X random(3) should be non-inclusive of the 3
api changes
X loadStream -> openStream for better consistency
X dynamic loading of code for setting cursor (removed JDK13 ifdef)
X why aren't cursors working on the mac?
X fix from jdf to just set size to 0,0
Jump to Line
Something went wrong with that request. Please try again.