freud.viz 3d checklist + discussion

Issue #30 resolved
Matthew Spellings created an issue

I'm probably not going to do everything I can think of before I go on a no-coding vacation on January 2, so people should dig in if they want to help!

Comments (5)

  1. Matthew Spellings reporter

    OK, I thought the ability to add a checklist would be here after posting, but apparently that is only in pull requests... Anyway, first round of things that should be added:

    • Making camera behave properly: currently you can only zoom up to height=0. Maybe letting height be negative would be good. Z clipping planes are set by camera's height, position, and look_at, which might not be a good solution.
    • Add spheres primitive: should be straightforward (instanced geometry is very nice!)
    • Properly interface lighting in shaders with the Light objects in Josh's graphics hierarchy of classes. Probably add better lighting models.
    • With instanced rendering, we can actually change particles' geometry (vertex + index buffers) after initialization and everything will Just Work(TM). The geometry building bits in the Polyhedra primitive should probably be moved into a function and update()ing the shape could be allowed.
    • I guess making sure that instanced rendering works properly on apple products might have been a good thing to test...
    • Polyhedra face outlines? OpenGL line primitives are supposed to be ugly, maybe a more clever way? Visualizing wireframes in general would potentially come in handy, so if someone makes a wireframe mode that looks decent we could probably just drop black wireframes on top of the polyhedra.
  2. Matthew Spellings reporter

    The edge detection outline method seems to be working moderately well for single-primitive systems as of 94c1257ab . Making it work with two sets of primitives will require a bit of refactoring. We might need to make the edge detection filter sample several points in each direction instead of nearest neighbors to remove some aliasing.

    Transparency might also be an annoying issue; at the moment, if you enable transparency, the outlines get "refracted" strangely, I think due to the blend mode settings on the alpha channel.

  3. Matthew Spellings reporter

    Concerning compatibility, according to this we're safe with openGL 3.3 (at least on the OS side of things), which gives us instanced rendering and geometry shaders.

  4. Log in to comment