Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
3010 lines (2699 sloc) 134 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
Something went wrong with that request. Please try again.