mirror of
https://github.com/processing/processing4.git
synced 2026-02-13 18:35:37 +01:00
starting development on rev 78
This commit is contained in:
144
core/done.txt
144
core/done.txt
@@ -1,3 +1,147 @@
|
||||
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()
|
||||
|
||||
postscript
|
||||
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
|
||||
|
||||
opengl
|
||||
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
|
||||
|
||||
|
||||
152
core/todo.txt
152
core/todo.txt
@@ -1,139 +1,4 @@
|
||||
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()
|
||||
|
||||
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
|
||||
|
||||
opengl
|
||||
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();
|
||||
|
||||
|
||||
//
|
||||
|
||||
0078 or later
|
||||
0078 core
|
||||
|
||||
- applets on osx sometimes show up 20 pixels off the top
|
||||
|
||||
@@ -269,17 +134,6 @@ _ if just rotate/translate, then can use SCREEN_SPACE for fonts
|
||||
_ bring screen space and font size settings back in to PGraphics
|
||||
_ causing too much trouble to be stuck down in PFont
|
||||
|
||||
postscript
|
||||
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
|
||||
|
||||
random tasks
|
||||
_ someone to figure out a good model for adaptive sizing of circles
|
||||
_ also goes for arcs, though will be weighted based on arc size
|
||||
@@ -367,10 +221,6 @@ _ better lighting model to show darkness at various depths
|
||||
_ maybe just ultra-high res bitmaps from gl
|
||||
o version of BApplet that replaces g. with ai. or pdf.
|
||||
|
||||
_ mkoser wish list
|
||||
_ filled polygons working with smooth()
|
||||
_ z-clipping
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
20
done.txt
20
done.txt
@@ -1,3 +1,23 @@
|
||||
0077 pde
|
||||
X make compatible with jikes 1.22
|
||||
X fix all warnings generated by the new jikes
|
||||
X update windows version of jikes.exe
|
||||
X update macosx version of jikes
|
||||
X get source and build on osx (or is it shipped by default?)
|
||||
X make sure that fink is not in the path when building
|
||||
X what are the args to configure a release version?
|
||||
X update linux version of jikes
|
||||
X look for size() method to determine default size of applet
|
||||
X (same as applet exporter function)
|
||||
o when using core graphics, don't show applet frame until first frame
|
||||
o (in opengl, open frame early, make sure this isn't inhibited)
|
||||
X probably can't do this, since don't know at runtime if it's gl
|
||||
X RuntimeException errors are a little prettier
|
||||
X updated windows icon
|
||||
X make macosx use kUserDomain to grab Documents folder
|
||||
X this is just-in-case, who knows what they're up to over in cupertino
|
||||
|
||||
|
||||
0076 pde
|
||||
X fix launcher issues on windows (didn't include registry.jar)
|
||||
X also fix run.bat and run-expert.bat
|
||||
|
||||
21
todo.txt
21
todo.txt
@@ -1,23 +1,4 @@
|
||||
0077 pde
|
||||
X make compatible with jikes 1.22
|
||||
X fix all warnings generated by the new jikes
|
||||
X update windows version of jikes.exe
|
||||
X update macosx version of jikes
|
||||
X get source and build on osx (or is it shipped by default?)
|
||||
X make sure that fink is not in the path when building
|
||||
X what are the args to configure a release version?
|
||||
X update linux version of jikes
|
||||
X look for size() method to determine default size of applet
|
||||
X (same as applet exporter function)
|
||||
o when using core graphics, don't show applet frame until first frame
|
||||
o (in opengl, open frame early, make sure this isn't inhibited)
|
||||
X probably can't do this, since don't know at runtime if it's gl
|
||||
X RuntimeException errors are a little prettier
|
||||
X updated windows icon
|
||||
X make macosx use kUserDomain to grab Documents folder
|
||||
X this is just-in-case, who knows what they're up to over in cupertino
|
||||
|
||||
//
|
||||
0078 pde
|
||||
|
||||
create a new sketch
|
||||
create a new tab named "a"
|
||||
|
||||
Reference in New Issue
Block a user