How do I update the colors too?
On 2 Sep 2014, at 9:09 am, Sheehan Olver <[email protected]> wrote: > Thanks, much much faster! To get it to work you have to do > > Pkg.add(“ApproxFun”);Pkg.checkout(“ApproxFun”); > > Below is the version that works for me. Is there support for non-evenly > spaced grids? I also want to do functions on a disk. (And cylinders and > spheres…not sure how to plot those though.) > > > > > > > using GLPlot, GLAbstraction, ModernGL, ApproxFun > window = createdisplay(w=1000,h=1000,eyeposition=Vec3(1,1,1), lookat=Vec3(0)) > > function zcolor(i, j, t) > x = float32(i - 0.5) > z = float32(j - 0.5) > radius = sqrt((x * x) + (z * z)) > > r = sin(10.0f0 * radius + t) > g = cos(10.0f0 * radius + t) > b = radius > return Vec4(r,g,b, 1) > end > > yy = xx =-1.:.05:1. > N = length(xx) > color = [zcolor(i/N, j/N, 15) for i=1:N, j=1:N]; > > > h = 0.01 > u0 = TensorFun((x,y)->exp(-10x.^2-20(y-.1).^2)) > d = Interval()⊗Interval() > L = I-h^2*lap(d) > B = dirichlet(d) > S = schurfact([B,L],80) > > u = Array(TensorFun,10000) > u[1] = u0 > u[2] = u0 > n = 2 > > > m = 500 > vals = Float64[u[1][x,y] for x in xx,y in yy] > texdata=map(Vec1,vals) > obj = glplot(texdata, primitive=SURFACE(), color=color) > # this is probably a little opaque, but texdata ends up in :z, as :z is the > default attribute for the data you upload > zvalues = obj.uniforms[:z] > # Like this you get a reference to the gpu memory object (a texture in this > case) > > glClearColor(1,1,1,0) > for k=n+1:n+m > u[k] = (S\[zeros(4),2u[k-1]-u[k-2]]) > vals = Float64[u[k][x,y] for x in xx,y in yy] > update!(zvalues, map(Vec1,vals)) # now you can simply update the gpu > object, which should be very efficient > glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) > render(obj) > yield() > GLFW.SwapBuffers(window.glfwWindow) > end > n+=m > > > > > > On 2 Sep 2014, at 6:48 am, Simon Danisch <[email protected]> wrote: > >> Hi, >> glad to hear that you like my package! >> I'm surprised that your code works without being very slow, as you use my (a >> little confusing) API wrong ;) >> Here is a better version: >> https://gist.github.com/SimonDanisch/794c274fbf3090f00359 >> I couldn't test the code, as some functions where missing! >> >> Best, >> Simon >> >> >> Am Dienstag, 19. August 2014 07:46:22 UTC+2 schrieb Sheehan Olver: >> Hi, >> >> Is there a way to force plotting in PyPlot.jl, to simulate animation? Right >> now if I do a for loop over a sequence of plots, it only outputs the last >> plot. >> >> This is in IJulia running on OS X with matplotlib version 1.3.1 installed, >> and pygui(true) >> >> Sheehan >
