From: C R Onjob Date: Wed, 13 Aug 2014 17:00:03 +0000 (+0800) Subject: Automatic commit of irc logs X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=commitdiff_plain;h=dc85acc6c84b5e72e5be4e2cc99d4318c97df221 Automatic commit of irc logs FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #21 A: Dr. Livingston I. Presume. Q: What's Dr. Presume's full name? --- diff --git a/irc/#ipdf.log b/irc/#ipdf.log index c9da7a6..1649e77 100644 --- a/irc/#ipdf.log +++ b/irc/#ipdf.log @@ -3453,3 +3453,42 @@ 00:53 < matches> I wonder if we actually need to store a DOM if we want that to work 00:53 < matches> Also I thought I fixed transformations but they still break for fox-vector.svg :( 00:58 < matches> I think "broken" will probably be the most commonly occuring word in our git commit messages +11:05 < matches> Oooh +11:06 < matches> svg-tests/recursive.svg is slightly recursive viwed in firefox +16:10 < sulix> The QuadTree works again! +16:10 < sulix> (I have finally worked out how to multiply by two, it seems...) +16:11 < sulix> Also s/ again// +17:23 < matches> Project complete! +18:05 < sulix> Man, nVidia has an OpenGL extension where you can just pass the "d" attribute of SVG paths in and have it render them for you. +18:05 < matches> Oh +18:05 < matches> Welp +18:07 < sulix> It's like: glPathStringNV(path, GL_PATH_FORMAT_SVG_NV, strlen(d), "M100,180, L40,10, etc...") +18:08 < matches> Presumably you could just replace 90% of the SVG stuff with that then :S +18:09 < sulix> It only works on nVidia hardware, though, so it's not really practical. +18:10 < matches> I think I need to actually do the Bezier's bounding rectangles correctly +18:10 < sulix> I was just about to add that, actually. +18:10 < matches> But its not just (x0,y0,x3-x0,y3-y0) +18:10 < matches> Ok +18:10 < matches> Go ahead then +18:10 < sulix> Nah, you have to take the x and y components separately and solve for min and max. +18:11 < matches> Yes google is a lot faster than actually doing maths +18:13 < matches> I can add that unless you've already written it? +18:13 < sulix> Sure. +18:13 < sulix> The internet seems to claim that you should use newton-raphson to find the roots of the derivatives, but I'm not really comfortable with doing that for cubic béziers, +18:31 < matches> I just differentiated the parametric formula +18:31 < matches> And got a quadratic +18:31 < matches> Unfortunately there is a slight problem with Real +18:31 < matches> Since we don't have a general "sqrt" +18:31 * matches adds that to the growing list of "fix later" +18:32 < matches> It doesn't compile for Rational anymore anyway +18:38 < matches> I am writing code that sjy would probably not consider elegant +18:50 < matches> Well that totally broke everything +18:53 < sulix> So it turns out that the view reparenting was only working by chance. +18:55 < matches> :( +19:20 < matches> Hmm it turns out finding the bounding box of a bezier has really annoying edge cases +19:43 < sulix> Okay, automatic generation of new quadtree nodes "works" when zooming in. +19:44 < sulix> It doesn't do any fancy clipping, so the actual rendering code hits precision issues, but it's still pretty cool. +19:48 < sulix> It also get a bit buggy if you try to pan over the edges of quadtrees, as it only renders one node at a time. +19:59 < matches> Nice +21:14 < sulix> I have just achieved infinite precision with the quadtree! +21:14 < sulix> Only on rectangles, only when zooming in, and only when the camera doesn't cross a quadtree boundary, but it works!