August 6, 2010 1 Comment
Well, it looks like I’m still on my own for now. I’m still currently in the dark on reasons as to why it’s not working. My last post indicated most of the code and test cases I’ve done. I haven’t changed the code very much but I have improved on more specific test cases to try to get to the root of the cause. Much to my dismay, however, the new cases haven’t revealed much.
Since my test cases before proved that this worked without Processing.js, the next logical step would be to incorporate Pjs into the equation and see what happens. My first test case (picture below) involves implementing Pjs on a canvas and then throwing that canvas as a texture on a 3D WebGL object; in this case it’s a cube/box.
No problems, so far. My next test case switches roles for the two canvases. It comprises of Pjs texturing a quad. The texture comes from a native canvas with no Pjs on it. Nothing broken, still. The next test case was given to me by one of my CDOT co-workers, Matt Postill. This test case entails that both canvases use Pjs. However, instead of using createGraphics to implement a Processing.js instance through the original Pjs instance, both canvases already have Pjs and we’re connecting them through the texturing of the quad.
This still works. At this point, I’m running out of ideas and I’m starting to grasp at straws. I do still have an idea, though. My theory, since the quad texture is picking up the supposed first frame of the second canvas, is that the texture is only seeing the original canvas state and not seeing any updates to the canvas through Pjs (this is actually a stupid theory in hindsight considering Pjs does all it’s drawing and filling through canvas functions). I test this by drawing and filling a square in the sketch through the native canvas functions. This is broken but I was hoping it would work in this instance. And I’m still at the point I was at since my last post… lost. My next step will probably be to strip Pjs of unnecessary components and try to see if it’s anything in Pjs that’s preventing the redraw of the little canvas in the big canvas.