Permalink
Commits on Aug 15, 2012
  1. Increment version number.

    We're over due for a release and have made lots of awesome progress,
    so...
    committed Aug 15, 2012
Commits on Aug 14, 2012
  1. Placate some version of GHC.

    Apparently some versions of GHC are getting antsy about type checking.
    In one case, it can be excused as polymorphism. The other case was
    trivial inference, so I'm rather confused. In any case, all versions of
    GHC I've tried are happy now...
    committed Aug 14, 2012
  2. We stick an ImplicitCAD REST Snap server in here.

    For lack of a better place, I'm putting the Snap server for the API for
    the web version of ImplicitCAD here. I want it to be tightly integrated
    with ImplicitCAD...
    committed Aug 14, 2012
  3. Cabal update and fixes for old GHC compatability.

    Generated executable now supports parallelism. Perhaps more importantly,
    this fixes issues with source files not matching up with the cabal file.
    committed Aug 14, 2012
Commits on Aug 13, 2012
  1. More performance awesomness!!

    (In short, more data sharing and rewriting code to flow with the data
    structures.)
    
    Let's recap. We began the evening hacking sesion with the union.scad
    example renering, without parallelism, in:
    
    real    0m2.256s
    user    0m2.116s
    sys     0m0.140s
    
    Our first improvement turned this into:
    
    real    0m1.691s
    user    0m1.612s
    sys     0m0.080s
    
    Then we got:
    
    real    0m1.372s
    user    0m1.300s
    sys     0m0.072s
    
    ... now we're getting ... *drumroll*
    
    real    0m0.442s
    user    0m0.388s
    sys     0m0.052s
    
    Similarily, the car_rim example began at:
    
    real    0m9.298s
    user    0m8.957s
    sys     0m0.340s
    
    It now renders at:
    
    real    0m2.196s
    user    0m2.088s
    sys     0m0.108s
    committed Aug 13, 2012
  2. More work on performance.

    We generate all obj values and use them for calculuating mids.
    
    Recall from last commit, the union.scad example.
    
    Before last commit, the following is an example of normal,
    non-parallel, performance.
    
    real    0m2.256s
    user    0m2.116s
    sys     0m0.140s
    
    The previous commit turned this into:
    
    real    0m1.691s
    user    0m1.612s
    sys     0m0.080s
    
    Now, we acheive:
    
    real    0m1.372s
    user    0m1.300s
    sys     0m0.072s
    committed Aug 13, 2012
  3. Performance improvements in Render.hs procedure!

    After a lot of work and fun with ParallelArrays, we make our functions
    flow along the lists we're working with... This leads to performance
    improvements. However, if we do this for calculuating segs*, it hurts
    performance! Your guess is as good as mine, here... Magic?
    
    Some benchmarks:
    
    No Parallelism:
    
    (union.scad, new)
    real    0m1.691s
    user    0m1.612s
    sys     0m0.080s
    
    (union.scad, old)
    real    0m2.256s
    user    0m2.116s
    sys     0m0.140s
    
    (car_rim.scad, new)
    real    0m7.308s
    user    0m7.044s
    sys     0m0.260s
    
    (car_rim.scad, old)
    real    0m9.298s
    user    0m8.957s
    sys     0m0.340s
    
    With Parallism (ec2, +RTS -N8 -RTS):
    
    (car_rim.scad, new)
    real    0m2.572s
    user    0m12.509s
    sys     0m2.676s
    
    (car_rim.scad, old)
    real    0m3.256s
    user    0m17.113s
    sys     0m3.784s
    
    Progess, yay!!
    committed Aug 13, 2012
Commits on Aug 10, 2012
  1. Better resolution default choices.

    committed Aug 10, 2012
  2. Fix error in UnionR3 bounding box.

    committed Aug 10, 2012
  3. Fix Rotate2 bounding box issue.

    committed Aug 10, 2012
Commits on Aug 9, 2012
  1. Better square merging improves mesh reduction.

    We allow parallelagrams as well as squares. The code works the
    same and some squares looked like parallelagrams to the program.
    committed Aug 9, 2012
  2. TesselateLoops matches corners better.

    By shrinking the loop as much as possible while only generating
    triangles flat to the surface, TesselateLoops is better able to match
    sharp edges. The result is much cleaner meshes. See bad.scad,
    extrude.scad examples.
    committed Aug 9, 2012
Commits on Aug 8, 2012
  1. Oops, forgot to add Render.hs.

    committed Aug 8, 2012
  2. Massive refactoring.

    committed Aug 8, 2012
  3. Fix infinte list use in jsTHREE.

    committed Aug 8, 2012
Commits on Aug 4, 2012
  1. ThreeJS fix/improve

    * Vertex -> Vertex3
    * Since we're no longer adding normal information, switch to
      TriangleMeshFormats
    committed Aug 4, 2012
  2. Fix minor performance issue...

    committed Aug 4, 2012
Commits on Aug 3, 2012
Commits on Aug 2, 2012
  1. Merge branch 'MetaMarch' of github.com:colah/ImplicitCAD into Marchin…

    …gCubes
    
    Conflicts:
    	Graphics/Implicit/Export/MarchingCubes.hs
    committed Aug 2, 2012
  2. Merge reinoundz Marching Cubes implementation.

    Fix compatibility issues. Reset the disabled plugins work.
    committed Aug 2, 2012
Commits on Aug 1, 2012
  1. Fix GetImplicit3 ExtrudeRM case.

    committed Aug 1, 2012
Commits on Jul 31, 2012
Commits on Jul 30, 2012
  1. Restructured tesselation algorithm.

    * Better parallelism
    * Better meta-inspection for loop tesselation.
    committed Jul 30, 2012
Commits on Jul 29, 2012
Commits on Jul 28, 2012
  1. A replacement for marching cubes.

    Cubes work excellently under this new algorithm, but things are far
    from perfect.
    committed Jul 28, 2012
Commits on Jul 26, 2012