Open main menu

CDOT Wiki β

Changes

User:Minooz/OSD600/processing

3,351 bytes added, 10:40, 26 October 2011
Release 0.3
:Source Control: git
:BugTracker: [https://processing-js.lighthouseapp.com/projects/41284-processingjs Lighthouse]
:Blog: @ [http://Minooz.wordpress.com wordpress]
------------------------
== Release 0.1==
* '''Bugs'''
: Add <TT>''parseBoolean</TT> '' function. Ticket @[https://processing-js.lighthouseapp.com/projects/41284/tickets/448-code-parseboolean lighthouse]
:: A missing feature from Processing (Java). Convert a char, a integer, a string, an array into a boolean.
*'''Blogs'''
: [http://minooz.wordpress.com/2011/01/31/still-working-on-make-on-msysgit/ 1] - [http://minooz.wordpress.com/2011/02/08/parseboolean-bug-from-processing-js/ 2] - [http://minooz.wordpress.com/2011/02/08/parseboolean-second-update-for-tonight/ 3]
* '''Related Tickets'''
: [ https://processing-js.lighthouseapp.com/projects/41284/tickets/1058-rename-int-boolean-etc-to-parseint-parseboolean-etc #1058]: - [https://processing-js.lighthouseapp.com/projects/41284/tickets/450-parsechar #450]* '''How To make''': Introduction to how to run tests and make @ [https://processing-js.lighthouseapp.com/projects/41284/writing-automated-tests lighthouse]: Brief info in my [http://minooz.wordpress.com/2011/02/01/make-worked/ blog]: Run the terminal as you want to bill firefox: mozilla-build -> start-msvcxxx.bat: Create a .profile file in the user account -> user/name: Export the path to js -> export JSSHELL=/PATH/TO/mozilla-central/objdir-ff------------------release/dist/bin/js-------------------
== Release 0.3==
* '''Bugs'''
: Fix transparency in <TT>copy()</TT> function. Ticket @[https://processing-js.lighthouseapp.com/projects/41284/tickets/1055-copy-doesnt-handle-transparency-properly lighthouse]- When using copy() on an image with transparency, the transparency overwrites the background color. See the screenshots to compare against p5. The image is a red splatter with transparent background and the background is green.
*'''Blogs'''
: [http://minooz.wordpress.com/2011/03/22/working-on-copying-image-in-processing-js/ 1] - [http://minooz.wordpress.com/2011/03/31/continuing-with-copy-of-image-on-processing-js/ 2] - [http://minooz.wordpress.com/2011/04/06/once-upon-a-time-punch-cards/ 3]
* '''Related Tickets'''
: Ticket I filed for p5 while working on this ticket. [http://code.google.com/p/processing/issues/detail?id=594#makechanges #594] -[http://code.google.com/p/processing/issues/detail?id=601 #601]
: Other pjs tickets related to this one: [https://processing-js.lighthouseapp.com/projects/41284/tickets/1174-mandelbrot-and-histogram-ref-tests-are-failing #1174]- [https://processing-js.lighthouseapp.com/projects/41284/tickets/860-color-0-burns-through-non-transparent-background #860]-[https://processing-js.lighthouseapp.com/projects/41284/tickets/948-negative-opacity-values-give-incorrect-results #948]
 
* '''Issues'''
: On the way to fix this bug, I tried to compare it with how p5 handles this.
: To work with p5 code, I cloned it from [http://code.google.com/p/processing/source/browse/trunk/ here] with the latest instructions at the bottom of [http://code.google.com/p/processing/wiki/BuildInstructions this page].
: Then I started to debug it on eclipse, with these [http://processing.org/learning/eclipse/ instructions].
: The result that I'm getting for the pixels from both p5 and pjs are the same. [[User:Minooz/OSD600/processing/pixels | Here]] is a sample of these results.
: I thought it might be something with some charactersitics of pixels in p5 e.g. ''fillAlpha'', ''calcAlpha'',... for which I couldn't find any correspondent in pjs so far.
: Those characteristics where changed in ''pGraphics.java'':
:: several instances of: line 5302: <pre> calcAlpha = (calcAi != 255); // changed to check for equality to 255</pre>
: Since the pixels were the same, seems like p5 has some difference in setting that shows the first underneath layer which is the background pixels in case of transparency of image. But browsers react differently. They display the pixels of window.
: The other strange issue was that chrome displays actually the color of the window as is defined in ''bgcolor'' whereas firefox just fills the transparent pixels with black color.
[[Image: pjs_background.png|70px ]] - Chrome with green background for window <br/>
[[Image: pjs_background_ff.png|70px ]] - firefox with green background for window
*''' Final Solution'''
: So, we got nowhere in comparing these 2 together, so we decided to go around it and solve it with modifying REPLACE mode in blit_resize():
<source lang="java">
if (img.format !== PConstants.RGB && destPixels[(destOffset + x) * 4] !== 255) {
destColor = p.color.toArray(p.modes.blend(destColor, p.filter_bilinear()));
} else {
destColor = p.color.toArray(p.filter_bilinear());
}
</source>
: The way it works, if the image format is RGB, that means, there is no transparency for any of pixels anyways, so it would continue as normal. If the format is ARGB, it'll check if there is any alpha that is 255, if yes, again the normal flow, if not, it will call the BLEND mode function, to blend the pixels with background.
[[Image: pjs-ff.png|70px ]]
* '''Helpful tips'''
: reported a p5 bug [http://code.google.com/p/processing/issues/detail?id=594 594]
: [http://typewith.me/jQ6nHnVdHG type with me]
:[ http://code.google.com/p/processing/wiki/ToolTemplate tool-template processing]
---------------------------------------------------------------
=== Others ===Did couple of automated ref tests for processing
: info @ [http://typewith.me/4EOiLyY39f type with me]
: ref tests needed [https://processing-js.lighthouseapp.com/projects/41284/tickets/1150-cleanup-the-examples-folder#ticket-1150]
: Examples [http://scotland.proximity.on.ca/dxr/tmp/processing-js/examples/seneca/]
: Processing - helper [http://scotland.proximity.on.ca/dxr/tmp/processing-js/tools/processing-helper.html]
1
edit