Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 783 lines (682 sloc) 37.71 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782
0179 core
X screenWidth/Height instead of screenW/H
X open up the pdf library more (philho)
X http://dev.processing.org/bugs/show_bug.cgi?id=1343
X cache font information for the PDF library to improve setup time
X when using createFont("xxxx.ttf"), should use textMode(SHAPE) with PDF
X because ttf files will not be installed on the system when opening pdf
X added error messages for users
X bring back old-style textAscent()
X needs to just quickly run characters d and p
X only takes a couple ms, so no problem
X pdf library
X throw an error with the black boxes
X throw an error if loading fonts from a file, and not using mode(SHAPE)
X implement default font
X this can be done to replace the exception handler in PGraphics
o however it needs to be a legit font, so that it works w/ pdf
o or maybe pdf just has its own default?
X create characters on the fly when createFont() is used
o memory leak problem with fonts in JAVA2D
X can't get this to crash anymore
o http://dev.processing.org/bugs/show_bug.cgi?id=1252

earlier
X if no draw() method, and renderer is not displayable, then exit
X static mode PDFs shouldn't just hang


big ones
_ ortho() behaving differently in P3D vs OPENGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=100
_ shows a blank canvas
_ (was only happening once b/c was drawing first in perspective)
_ seems to be mapping to 0, 0 - width/2, height/2
_ fix 3D > OrthoVsPerspective example once ortho works properly
_ there's a depth problem in addition to the ortho weirdness
_ modelx/y/z broken when aiming a camera
_ http://dev.processing.org/bugs/show_bug.cgi?id=1074
_ opengl + resize window => window content garbled
_ http://dev.processing.org/bugs/show_bug.cgi?id=1360
_ modify PVector to include better methods for chaining operations
_ http://dev.processing.org/bugs/show_bug.cgi?id=1415

quickies
_ img.get() weirdness
_ http://dev.processing.org/bugs/show_bug.cgi?id=1198
_ copy and blend scale when unnecessary
_ http://dev.processing.org/bugs/show_bug.cgi?id=1482
_ add a limit to pushStyle() to catch unmatched sets?
_ http://dev.processing.org/bugs/show_bug.cgi?id=1368
_ P2D transformation bug from ira
_ http://dev.processing.org/bugs/show_bug.cgi?id=1175
_ resize not working in revision 5707
_ camera() and perspective() were commented out in setSize()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1391
_ chopping out triangles in OpenGL (though it's only 2D drawing)
_ http://dev.processing.org/bugs/show_bug.cgi?id=1359
_ make sure that get() and set() (for pixels and subsets) work w/ loaded images
_ make sure that get() and set() (for pixels and subsets) work w/ P2D
_ make sure that get() and set() (for pixels and subsets) work w/ P3D
_ consider adding skewX/Y
_ do them as shearX/Y
_ http://dev.processing.org/bugs/show_bug.cgi?id=1448

_ add setOutput() method across other renderers?

_ opengl applet problems
_ http://dev.processing.org/bugs/show_bug.cgi?id=1364

_ method of threading but queue an event to be run when safe
_ e.g. queueing items like mouse/keybd, but generic fxns

_ inconsistent anti-aliasing with OpenGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=1413
_ modify PVector to include better methods for chaining operations
_ http://dev.processing.org/bugs/show_bug.cgi?id=1415

_ selectInput() fails when called from within keyPressed()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1220

_ add java.io.Reader (and Writer?) to imports

_ changing vertex alpha in P3D in a QUAD_STRIP is ignored
_ with smoothing, it works fine, but with PTriangle, it's not
_ smooth() not working with applets an createGraphics(JAVA2D)
_ but works fine with applications
_ get() with OPENGL is grabbing the wrong coords
_ http://dev.processing.org/bugs/show_bug.cgi?id=1349

_ gl power of 2 with textures
_ P3D also seems to have trouble w/ textures edges.. bad math?

_ No textures render with hint(ENABLE_ACCURATE_TEXTURES)
_ http://dev.processing.org/bugs/show_bug.cgi?id=985
_ need to remove the hint from the reference
_ need to throw an error when it's used
_ deal with issue of single pixel seam at the edge of textures
_ http://dev.processing.org/bugs/show_bug.cgi?id=602
_ should vertexTexture() divide by width/height or width-1/height-1?

looping/events
_ key and mouse events delivered out of order
_ http://dev.processing.org/bugs/show_bug.cgi?id=638
_ key/mouse events have concurrency problems with noLoop()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1323
_ need to say "no drawing inside mouse/key events w/ noLoop"
_ redraw() doesn't work from within draw()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1363

_ make the index lookup use numbers up to 256?

_ decide whether to keep:
_ public float textWidth(char[] chars, int start, int length)

_ textAlign(JUSTIFY) (with implementation)
_ http://dev.processing.org/bugs/show_bug.cgi?id=1309

_ Semitransparent rect drawn over image not rendered correctly
_ http://dev.processing.org/bugs/show_bug.cgi?id=1280

_ should map() actually constrain to the low and high values?

_ file chooser fails with opengl on linux
_ http://dev.processing.org/bugs/show_bug.cgi?id=1221

_ resizing opengl destroys context and textures
_ http://dev.processing.org/bugs/show_bug.cgi?id=1176
_ what's the difference with ascent on loadFont vs. createFont?
_ noCursor() doesn't work in present mode
_ http://dev.processing.org/bugs/show_bug.cgi?id=1177
_ in P2D, two vertex() line calls with fill() causes duplicate output
_ works fine in other renderers, has to do with tesselation
_ http://dev.processing.org/bugs/show_bug.cgi?id=1191
_ extra triangles being seen in P2D
_ http://dev.processing.org/bugs/show_bug.cgi?id=1192
_ noloop ref even says that redraw will be called on resize, make sure it is
_ public PImage(java.awt.Image) sets format to RGB (but could be ARGB)


[ features ]

_ add version of math functions that use doubles?
_ what other methods should work with doubles? all math functions?
_ seems like internal (mostly static) things, but not graphics api
_ look into replacing nanoxml
_ http://www.exampledepot.com/egs/javax.xml.parsers/pkg.html


[ known problems ]

_ OPENGL sketches flicker w/ Vista when background() not used inside draw()
_ http://dev.processing.org/bugs/show_bug.cgi?id=930
_ Disabling Aero scheme sometimes prevents the problem
_ Updating graphics drivers may prevent the problem

[ need problem sketch ]

_ if too many errors come through during setup, app will terminate
_ printStackTrace() throttles on osx and poops out
_ seen especially on old mac laptops (slow ppc garbage)
_ can this be confirmed properly?
_ * this may just be an OutOfMemoryError happening

[ needs verification ]

_ Frame skipping with processor intensive applets using 1.6
_ http://dev.processing.org/bugs/show_bug.cgi?id=766
_ may be fixed, but not verified
_ focus not coming through, ESC no longer working(?)


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


createGraphics() and load/updatePixels() mess [1.0]
_ text characters showing up as opaque rectangles in tga files
_ http://dev.processing.org/bugs/show_bug.cgi?id=641
_ solution is to implement alpha compositing across all of P3D
_ http://en.wikipedia.org/wiki/Alpha_compositing
_ text() not setting zbuffer in P3D because not fully opaque
_ http://dev.processing.org/bugs/show_bug.cgi?id=696
_ alpha not set on saveFrame, so can't be used in photoshop as a layer
_ http://processing.org/discourse/yabb/YaBB.cgi?board=general;action=display;num=1078441623
_ when drawing into a JAVA2D surface, have to call loadPixels()
_ to draw it later with P3D (or OPENGL prolly)
_ http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1171574044
_ an offscreen JAVA2D graphics needs loadPixels() before being drawn
_ i.e. offscreen JAVA2D, then image() with OPENGL renderer as main
_ needs to be marked as its cache needs an update, but not its pixels
X begin/endPixels.. change has been made
_ on PImage, sets a flag that marks it to be updated on next render
_ for PImage, begin after an end is ignored, no pixels are re-loaded
_ the "changed" bit gets turned off when the PImage is rendered
_ for subclasses of PGraphics, the reload bit needs to be set on endFrame
_ filter() checks to see if inside begin/endPixels, if so doesn't call
o if line() is called inside beginpixels, call updatepixels?
_ when NPE on line with pixels[], suggest user includes beginPixels
_ need to test/straighten out load/update pixels
_ loadPixels() and updatePixels() only need to be used when
_ touching pixels[]. All other functions including get(), set(),
_ filter(), etc shouldn't need them.
_ image memory use.. how to handle lots of images
_ need to figure out exactly how they should/can unload
_ don't do a loadPixels unless an updatePixels has completed
_ tho this won't affect anything, since either it's an image buffer
_ or it's the PGraphics object, which does an updatePixels() immediately
_ if (modified) don't loadPixels again, just ignore it
_ make a note that updatePixels() only sets a flag in PImage
_ (but not PGraphics, which does it immediately)
o filter() doesn't need a loadPixels
o but if you want to filter *and* mess w/ pixels (avoid double load)
o then do loadPixels() /before/ filter, and updatePixels after messing
o same will go for blend()
_ make sure that filter, blend, copy, etc say that no loadPixels necessary


rework some text/font code [1.0]
_ text placement is ugly, seems like fractional metrics problem
_ http://dev.processing.org/bugs/show_bug.cgi?id=866
_ text(char c) with char 0 and undefined should print nothing
_ perhaps also DEL or other nonprintables?
_ book example 25-03
_ text position is quantized in JAVA2D
_ http://dev.processing.org/bugs/show_bug.cgi?id=806
_ accessors inside PFont need a lot of work
_ osx 10.5 (not 10.4) performing text width calculation differently
_ http://dev.processing.org/bugs/show_bug.cgi?id=972
_ Automatically use textMode(SCREEN) with text() when possible
_ http://dev.processing.org/bugs/show_bug.cgi?id=1020


P2D, P3D, PPolygon [1.0]
_ smoothing
_ how to handle smoothing images in P3D even though it has no smoothing?
_ noSmooth() in opengl should switch to nearest neighbor on textures/images
_ same for P3D
_ P3D smooshes the top row of pixels when drawing text (or images)
_ http://dev.processing.org/bugs/show_bug.cgi?id=466
_ textAlign(CENTER) with P3D and OPENGL produces messy result
_ probably rounding error with the images
_ http://dev.processing.org/bugs/show_bug.cgi?id=475
X textures truly did get worse in P3D
_ problem is that bilinear is turned on by default starting in 0124(?)
X http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1205171649
_ when turning smoothing on, internal lines of shapes are visible
_ add an edge flag when tesselating
_ mind the opengl tesselation flags
_ need to turn off smoothing for the interior of shapes
_ http://dev.processing.org/bugs/show_bug.cgi?id=200
_ Implement support for complex shapes when using P2D and P3D
_ http://dev.processing.org/bugs/show_bug.cgi?id=1053
_ Implement support for complex shapes when using the OpenGL renderer
_ http://dev.processing.org/bugs/show_bug.cgi?id=947
_ in opengl mode, use its tesselator
_ because the vertex calls can just come right back to regular vertex calls
_ this way we can also implement breakShape() for opengl
_ smooth in P3D has zbuffer glitches
_ http://dev.processing.org/bugs/show_bug.cgi?id=1000
_ smoothing is slow
_ http://dev.processing.org/bugs/show_bug.cgi?id=1001
_ textured sphere example needs to set normals
_ also needs fix for last edge and the seam


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


threading and exiting
_ writing image file (missing a flush() call?) on exit() fails
_ lots of zero length files
_ saveFrame() at the end of a draw mode program is problematic
_ app might exit before the file has finished writing to disk
_ need to block other activity inside screenGrab until finished
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081706752

_ for begin/endRecord, use a piggyback mechanism
_ that way won't have to pass a PApplet around
_ this has a big impact on the SVG library
_ in fact, this maybe should be a library that does it
_ so that the file size can be much smaller

_ STROKE_WEIGHT field in PGraphics3 is a disaster, because it's an int
_ use the SW from vertex instead.. why set stroke in triangle vars at all?
_ currently truncating to an int inside add_line_no_clip
_ need to clean all this crap up

stop() mess
_ double stop() called with noLoop()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1270
_ stop() not getting called
_ http://dev.processing.org/bugs/show_bug.cgi?id=183
_ major problem for libraries
_ and start() is supposedly called by the applet viewer
_ http://java.sun.com/j2se/1.4.2/docs/api/java/applet/Applet.html#start()
_ need to track this stuff down a bit
_ when closing a sketch via the close box, make sure stop() getting called
X found a problem for release 0133
_ test to see if it's working
_ what's up with stop() vs exit()?
_ need to get this straightened for p5 (i.e. bc has this problem)
_ make sure the main() doesn't exit until the applet has finished
_ i.e. problem with main calling itself multiple times in Alpheus
_ if exit() (or stop) is called, then System.exit() gets called,
_ even though the main() wants to keep going
_ more chatter with this
_ http://dev.processing.org/bugs/show_bug.cgi?id=131



////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////


CORE / PApplet

_ PApplet.main(new String[] { "classname" }) won't pass in args
_ this means that no args are after passed to the class
_ the fix would be to use the following as the call to main()
_ PApplet.main(append(new String[] { "classname }, args));
_ figure out why 1024x768 image takes 3.5 seconds to load
_ would using a BufferedImage work better?
_ is the image actually a BufferedImage so PixelGrabber is a waste?
_ detect when using full screen
_ and if so, remove decoration and don't bother with bg present frame
_ frame.setUndecorated(true);
_ frame.setLocation(0,0);
_ size(screen.width,screen,height);
_ this will help for exported applets that don't need 'present'
_ check for what else inside PApplet should be static
_ maybe catch RuntimeExceptions in the called sub-functions
_ that way more stuff can be static w/o losing useful error handling
_ (emitting errors when closest to source.. i.e. w/ the filename)
o size() inside draw is missing a new call to cameraMode, etc
_ fix param() to use a sketch.properties file when run as an app
_ make this also be used in generating the html file
_ test winding polygons in different directions
_ test P3D lighting to see how it compares with native OpenGL
_ ed's thread re: fullscreen strategies
_ could add a new BApplet that uses BufferStrategy?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1081335361;start=15
_ size() has memory limitations (pitaru)
_ catch OutOfMemoryError inside size() and let the user know
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038847001
_ loadBytes() needs optimization
_ don't bother using a buffering stream, just handle internally. gah!
_ remove some of the bloat, how can we make things more compact?
_ i.e. if not using 3D, can leave out PGraphics3, PTriangle, PLine
_ http://dev.processing.org/bugs/show_bug.cgi?id=127
E4 _ add shuffle methods for arrays
E4 _ http://dev.processing.org/bugs/show_bug.cgi?id=1462


CORE / PApplet - main()

_ refactor PApplet.main() and Runner.startInternal() to remove duplication
_ http://dev.processing.org/bugs/show_bug.cgi?id=245
_ implement full screen mode.. this takes over the screen as best it can
_ size(screen.width, screen.height, OPENGL);
_ if size is screen.width and screen.height, does its best
_ needs to get the size of the main screen
_ this probably works but just needs to be tested
_ exceptions in full screen mode will quit the app completely
_ can't keep window open because things are hosed
_ default is that full screen app doesn't cover multiple displays
_ this is fine since opengl can't usually go across both
_ but include an example for how to use full in gl
_ ability to select monitor via preferences panel
_ this applies to any applet that's run externally currently (verify)
_ make it also work with anything that's run inside of p5 itself
_ this means changing the frame creation code inside Runner
_ check current present code with multiple monitors
_ hitting cmd-q when an applet is running quits p5 (on macosx)
_ but cmd-q when running externally is ok because it just quits
_ is there a way to catch cmd-q when running a sketch?
_ so that it could avoid quitting if the sketch hasn't been stopped
_ or if the sketch window is foremost
_ maybe a hack where a new menubar is added?
_ --display not working on osx
_ http://dev.processing.org/bugs/show_bug.cgi?id=531
_ "Target VM failed to initialize" when using Present mode on Mac OS X
_ http://dev.processing.org/bugs/show_bug.cgi?id=1257

CORE / PFont and text()

_ improve font metrics
_ http://java.sun.com/products/java-media/2D/reference/faqs/index.html#Q_How_do_I_obtain_font_metrics
_ font encoding issues
_ java seems to force straight windows encoding.. (problem for pi fonts)
_ opentype/cff fonts don't work with live loading from the app
_ many (all?) opentype fonts won't show up or aren't supported
_ this may be only cff fonts that have trouble
_ when encoding is not the standard encoding, problematic
_ so sonata otf and sonata don't seem to have any chars at all
_ text() with a z coordinate is now using translate, very slow
X also puts up a weird error message about translate() in 2D mode
_ make screen space fonts use get/set as well?
_ too much to debug on their own
_ unfortunately tint not set with setImpl, but...
_ optimize textMode(MODEL) with textMode(SCREEN)
_ in PGraphics and PGraphics3, check to see if matrix is within epsilon
_ of one of the rotation matrices (many fewer steps)
_ if identity, or just translate, or a rotate, make OBJECT into SCREEN
_ not having kerning really blows
_ could this be pulled from the OpenType font stuff?
_ it could be placed at the end of the file
_ not having fractional widths on small fonts really blows
_ screen space text looks crappy
_ working with vector fonts?
_ need to be able to handle shapes within shapes (reverse winding)
_ ftgl: main code is in FTVectoriser
_ uses gluTessBeginContour and gluTessEndContour
_ and then does 5 step sizes for each curveto


CORE / PGraphics

_ stroke showing above fill when used with P3D
_ http://dev.processing.org/bugs/show_bug.cgi?id=1032
_ strokeCap() and strokeJoin() for use with P2D, P3D and OPENGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=955
_ y2 position of rectangles not same as y2 position of lines
_ happens when the rectangle is flipped on the x or y axis
_ probably a hack that draws the "last" point differently
_ beginShape()
_ better lockout inside beginShape() to keep other things from happening
_ http://dev.processing.org/bugs/show_bug.cgi?id=1022
_ don't allow you to draw stroked items unless stroke() is called
_ don't allow beginShape() if shape is already set
_ (otherwise will cause some very strange errors)
_ lines
_ z value hack for lines is causing trouble for 2D
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1089737928;start=0
_ rewrite line and stroke code, it's a buggy mess
_ lines become 2 pixels thick after a 3D transform
_ better handling of single-pixel special case
_ flat_line_retribution is a hack, can go away
_ fix-up the curve_init() and the rest to use matrices
_ and not have ugly names (i.e. just g.curveDetail is good)
_ ellipse scaling method isn't great
_ toxi ellipses don't adapt properly with transformations
_ http://dev.processing.org/bugs/show_bug.cgi?id=695
_ weird ellipse bug with an alpha line in same image
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083221401;start=0
_ scaled ellipse showing up as a hexagon
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083674213
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1084652597;start=0
_ problem with the fill
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077834735
_ z values not set properly on ellipses?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068752615
_ ellipses are just plain ugly
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073409011;start=0


CORE / PGraphics2D

_ should noSmooth() disable image smoothing consistently (does for Java2D)
_ may need to bring back a hint, or use smoothMode() or smooth(IMAGES)
_ lines are conflicting with type in 2D
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1094174791;start=0
_ mgorbet stroke transparency problem
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076383048;start=0
_ make sure line() commands don't try to have a fill


CORE / PGraphicsJava2D

_ some optimizations from zach
_ http://processing.org/discourse/yabb_beta/YaBB.cgi?board=os_core_pde;action=display;num=1121670787
_ textMode(SCREEN) needs to be faster
_ need flat image implementation that takes no transforms
_ along with 90, 180 and 270 versions of it as well
_ tie to glDrawPixels.. how to clear matrix properly for that?
_ maybe just disable this for JAVA2D cuz it's silly?
_ catch sun.dc.pr.PRException?
_ http://dev.processing.org/bugs/show_bug.cgi?id=104


CORE / PGraphics3D

_ make thick lines draw perpendicular to the screen with P3D
_ http://dev.processing.org/bugs/show_bug.cgi?id=956
_ ewjordan suggests building the quad in screen coords after perspective
_ improve hint(ENABLE_DEPTH_SORT) to use proper painter's algo
_ http://dev.processing.org/bugs/show_bug.cgi?id=176
_ polygon z-order depth sorting with alpha in opengl
_ complete the implementation of hint() with proper implementation
_ gl alpha on images when flipped around backwards
_ will sorting based on depth help this? also ask simon for ideas
_ need to merge sorting/drawing of lines and triangles
_ lines will occlude tris and vice versa
_ will need to split each based on the other
_ sort issues will affect both
_ images are losing pixels at the edges
_ http://dev.processing.org/bugs/show_bug.cgi?id=102
_ odd error with some pixels from images not drawing properly
_ http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115681453
_ clipping not implemented
_ http://dev.processing.org/bugs/show_bug.cgi?id=1393
_ http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114184516
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1058491568;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1052313604;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1095170607;start=0
_ things are flying into the camera and halting apps
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042699742
_ NullPointerException apparently when things way offscreen
_ i.e. glyphrot with scale set to 4
_ or at least that things get ridiculously slow
_ clipping issues here.. but also something in scan converter
_ not clipping areas from offscreen
_ huge geometry slows things way down
_ Stroking a rect() leaves off the upper right pixel
_ http://dev.processing.org/bugs/show_bug.cgi?id=501
_ box is not opaque
_ problem is that lines are drawn second
_ one pixel lines have no z value.. argh
_ bug re: 3d depth sorting on lines
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043894019;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042004618
_ translate(58, 48, 0);
_ rotateY(0.5);
_ box(40);


CORE / PImage

_ accuracy problems make alpha channel go to FE with image.copy()
_ http://dev.processing.org/bugs/show_bug.cgi?id=1420
_ improve blend() accuracy when using ADD
_ http://dev.processing.org/bugs/show_bug.cgi?id=1008
_ includes code for a slow but more accurate mode
_ for a PGraphics2D, should its image cache object be the memoryimagesource?
_ loading lots of images is a problem, describe how to unload
_ is it possible? necessary to call delay(5) or something?
_ don't grab pixels of java2d images unless asked
_ this is the difference between a lot of loadPixels() and not
_ so important to have it in before beta if that's the change
_ http://dev.processing.org/bugs/show_bug.cgi?id=356
_ add ability to control jpeg compression level with save() and saveFrame()
_ or just write a better example for this one?
_ http://dev.processing.org/bugs/show_bug.cgi?id=342
_ when drawing an image, sense whether drawn rotated
_ specifically, if drawn rotated 90 in either direction, or 180
_ if just rotate/translate, then can use SCREEN_SPACE for fonts
_ updatePixels() is slow to create a BufferedImage
_ therefore the incomplete rendering
_ could this be an issue fixed by a MediaTracker?


CORE / PShape

_ we can do hit testing (at least in 2D) now that we rely on java2d
_ for subclasses, make it easy to grab the structure of vertices
_ actually, just use PShape internally and this will be easier
_ for PShape, need to be able to set the origin (flash people)


CORE / PShapeSVG

_ breaking up classes / figure out how to handle fonts subclass
_ when using get(), reset the bounds for the objects
_ otherwise it's always relative to the original document
_ support for text (shouldn't be too bad, use createFont)
_ implement text spans for svg output
_ get entity tags working in xml library
_ try enabling blending modes
_ add better support for attributes buried in styles (support ai9/10/11)
_ test what happens when transparency is used with gradient fill
_ look into transformation issues... guessing this is probably wrong
_ this may be what's throwing off the radial radius transform
_ implement A and a (elliptical arcs)
_ http://dev.processing.org/bugs/show_bug.cgi?id=996
_ check for any other pieces of missing path api
_ multiple sets of coordinates after a command not supported
_ i.e. M with several coords means moveto followed by many linetos
_ also curveto with multiple sets of points is ignored
_ document somehow.. svg viewer will be discontinued
_ http://www.adobe.com/svg/eol.html


CORE / Mac OS X

_ set the application name to sketch name (not processing.core.PApplet)
_ System.setProperty("com.apple.mrj.application.apple.menu.about.name", ...)
_ -Xdock:name=<application name>
_ -Xdock:icon=<path to icon file>
_ first line of applets is missing on java 1.4+ on the mac
_ http://dev.processing.org/bugs/show_bug.cgi?id=283
_ cursor() broken in applets on macosx?
_ or is it a java 1.4 versus java 1.3 problem?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081645955



////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////



LIBRARIES / PGraphicsOpenGL

_ switch to glWindowPos() instead of glRasterPos() silliness
_ implement setImpl() instead of set() inside PGraphicsOpenGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=943
_ use glCopyPixels() or glReadPixels() instead of copy() method
_ http://dev.processing.org/bugs/show_bug.cgi?id=941
_ implement a more efficient version of blend()
_ http://dev.processing.org/bugs/show_bug.cgi?id=942
_ copy() does not update the screen with OpenGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=933
_ set() requires updatePixels() with OpenGL
_ http://dev.processing.org/bugs/show_bug.cgi?id=705
_ first few frames of OpenGL sketches on Windows run slowly
_ http://dev.processing.org/bugs/show_bug.cgi?id=874
_ updatePixels wth OpenGL requires a lot of memory, need better texture update
_ http://dev.processing.org/bugs/show_bug.cgi?id=610
_ with opengl optimizations via call lists..
_ watch out to make sure raw recording still works
_ (optimizations will have to be disabled to some extent)
_ look into using glu quadrics to handle shape geometries quickly
_ optimizations to opengl
_ disabling error reporting (what's taking it so long?)
_ maybe use a hint() to enable it? or a getError() function?
_ make cached display list of filled/non-filled ellipse.. rect.. etc
_ these don't work when the vertex colors change, but..
_ http://dev.processing.org/bugs/show_bug.cgi?id=657
_ or maybe should be using vertex arrays?
_ maybe break out a separate timage object in textures?
_ needs tindex and tbuffer, both gl specific
_ and for tpixels and twidth/theight, could use another PImage
_ under assumption that most will just need an extra image object
_ this could also be used by people eventually to control tex themselves
_ or maybe call the object "texture"?
_ in opengl lib, need beginTexture(PImage) and endTexture()
_ this will be helpful to have access to the raw texture data
_ that way it can be re-bound by itself, and ppl can write directly to it
_ make textMode(SHAPE) faster in opengl
_ cache for type should be per-renderer
_ make the opengl textmode shape stuff get better and use PShape
_ because opengl needs vectors, but also the image cache for textures
_ opengl needs to shut itself down properly when closing applet
_ otherwise can crash the whole browser
_ get rid of some of the sillier IntBuffer stuff where it's not needed
_ use the version of the prototypes that use an offset into the array
_ need to test performance either way
_ make a note about the anti-aliasing types in the faq
_ polygon vs line etc.. may want to enable lines but disable polys
_ invocationtargetexception in gl with aioobe:
_ http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115185737
_ resolve ARGB versus RGBA versus just A issues for fonts
_ make sure that current scenario works identically on mac
_ if so, just switch the image code to expect alpha in the high bits
_ fonts probably need to be RGBA, not ALPHA style images
_ there's nothing really ALPHA about them?
_ bit shifting in opengl, get down to 2 ops by using other image modes
_ i.e. ABGR_EXT might allow for just two shifts instead of 4
_ allow access to native pixel buffer in opengl and power of 2
_ so that no need to copy/update everything
_ how to handle gluTessVertex calls
_ need to re-map through the regular "vertex" command,
_ but that makes things messy because the glu calls make calls to vertex()
_ and i don't want an additional "pathVertex()" function


LIBRARIES / PGraphicsPDF

_ pdf not rendering unicode with beginRecord()
_ http://dev.processing.org/bugs/show_bug.cgi?id=727
_ pdf sketches exiting before writing has finished
_ people have to call exit() (so that dispose() is called in particular)
_ when using noLoop() and the PDF renderer, sketch should exit gracefully
_ because isDisplayable() returns false, there's no coming back from noLoop



////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////


LATER / Optimize

_ put a wrapper around InputStream returned by createInput
_ that actually has some notion of the length of its input
_ that way, methods could use the information when reading
_ can loadBytes() be improved by querying file size first?
_ background
_ this would require a new version of createInput(), which would query
_ the URL (or file) for an actual file size. the size is not always
_ available, so it can't be relied upon, but would help in some cases.
_ loadBytes() is used for images.. ouch
_ might be worth doing a test to see if it actually would help at all
_ before rewriting all of createInput()
_ too much object creation in java2d
_ causes inconsistency/hiccups as the gc runs?
_ work through loadPixels in PImage, how consistent do we need to be?
_ with get() and set() methods, this gets really tricky (too slow)
_ could optimize by keeping a java image around, but table for later
_ it's too significant a change, and not enough time to test


LATER (post 1.0)

_ add getSketchSize() and getSketchRenderer()
_ these could simply have the defaults at the outset
_ opengl.jar with eclipse
_ auto-extract native libs from opengl.jar
_ to remove java.library.path problems (!)
_ introduce calc()
_ semantics of this are just too tricky, especially when it's not clear
_ what's actually gained by the split--would have to do weird hacks
_ to get the accum buffer, etc. to work anyway
_ add some sort of unprojectX/Y/Z method (based on glu fxn)
_ http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1176483247
_ implement method for lightweight components with processing applets
_ http://dev.processing.org/bugs/show_bug.cgi?id=686
_ Use getContextClassLoader() instead of Class.forName()
_ http://dev.processing.org/bugs/show_bug.cgi?id=514
_ add a timer(obj, "functionname", 45) method
_ this can be used to schedule something to happen at a specific time
_ or import the swing timer (for actionPerformed)
X look into javascript timers to see how they work
_ also add interval("functionname", 40)
_ and thread("functionname");
_ problem is that this will
_ cmyk version of tiff encoder code?
_ because 'color' isn't a real data type
_ color(0, 0, 0, 0) produces black
_ because color(0, 0, 0, 0) creates an int that is simply '0'
_ although fill(0, 0, 0, 0) does the right thing
_ also, rgb255 not getting set
_ http://dev.processing.org/bugs/show_bug.cgi?id=382
_ should fill(c) instead be fillColor(c)?
_ should color(123, 4, 99) instead be createColor()?
_ gray that's greater than the colorMode() can produce strange colors
_ http://dev.processing.org/bugs/show_bug.cgi?id=432
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1083650609
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1082481891
_ add stroke() to type
_ more for doing outlines-only and that sort of business
_ gradients
_ use gradients in a class for the svg lib for now
_ don't add api to main p5 stuff (though maybe setPaint/noPaint api?)
_ gradient-painted lines and fills
_ java2d will do both line and fill, illusfarter only does fills
_ gradients not supported in java2d
_ http://dev.processing.org/bugs/show_bug.cgi?id=371
_ illustrator export / rendering mode
_ also postscript or pdf export?
_ update illustrator code to use core api
_ even if not actually working properly.. just in naming of things
_ sorting of polygons/lines on simple painters algorithm
_ better lighting model to show darkness at various depths
_ maybe just ultra-high res bitmaps from gl
_ bspline or nurbs (later, want to do the 3D/arch stuff correctly)
_ cairo tesselation used:
_ John Hobby, Practical Segment Intersection with Finite Precision Output.
_ Computational Geometry Theory and Application, 13(4), 1999.
_ http://citeseer.ist.psu.edu/hobby93practical.html
_ color
_ rounding errors on color conversion
_ colorMode(RGB, 1.0); colorMode(255); println(red(color(0.5,1,1)));
_ will return 127, instead of 128.
_ curves
_ non-homogenous coloring for curve vertices
_ textMode(SHAPE) and textMode(IMAGE)?
_ textMode(SCREEN) is out of its league?
_ textMode(SHAPE) and hint(SMOOTHING) calls are really awkward
_ maybe need to add properties to the size() command?
_ or use a getXxxx() method?
_ should beginRecord inherit settings from its parent renderer?
_ textFont() is null on beginRecord
_ same would be the case for strokeWeight, background, etc.
_ http://dev.processing.org/bugs/show_bug.cgi?id=346
_ repeating texture support
_ exactly how should pixel filling work with single pixel strokes?
_ http://dev.processing.org/bugs/show_bug.cgi?id=1025
_ Writing XML files (clean up the API)
_ http://dev.processing.org/bugs/show_bug.cgi?id=964
_ consider bringing back text/image using cache/names
Something went wrong with that request. Please try again.