iMSTK issueshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues2019-03-19T15:51:26-04:00https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/133Tangent and bitangent vectors for meshes in VTK2019-03-19T15:51:26-04:00Nicholas MilefTangent and bitangent vectors for meshes in VTKIn addition to normals, we need to compute tangent and bitangent vectors for meshes for normal mapping. I think we can get away with just the tangent (since the bitangent is orthogonal to the tangent and the normal).
You can request t...In addition to normals, we need to compute tangent and bitangent vectors for meshes for normal mapping. I think we can get away with just the tangent (since the bitangent is orthogonal to the tangent and the normal).
You can request this in Assimp. I wasn't able to find a filter for VTK, but I think it's supposed to be aligned with UV coordinates.
@alexis-girault https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/132FEAT: Add positional logging feature (as in CameraNavigationV2 branch)2017-07-03T15:39:10-04:00Hina ShahFEAT: Add positional logging feature (as in CameraNavigationV2 branch)CameraNavigation uses positional logging to store the position of the tool during a scenario simulation.CameraNavigation uses positional logging to store the position of the tool during a scenario simulation.Hina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/131FEAT: Add screenshot utility from CameraNavigationV2 branch2017-07-03T15:39:10-04:00Hina ShahFEAT: Add screenshot utility from CameraNavigationV2 branchfrom commit https://gitlab.kitware.com/iMSTK/iMSTK/commit/ebb127e3ce05286a93021d7f719281008abd56f6 . There's going to be one more edit to this. Commit number will be edited.from commit https://gitlab.kitware.com/iMSTK/iMSTK/commit/ebb127e3ce05286a93021d7f719281008abd56f6 . There's going to be one more edit to this. Commit number will be edited.Hina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/130FEAT: add ability to specify a file prefix for device logs and screenshots (f...2017-07-03T15:39:10-04:00Hina ShahFEAT: add ability to specify a file prefix for device logs and screenshots (from CameraNavigationV2)Hina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/129Add ability to change background of imstk::vtkRenderer2019-03-19T15:51:26-04:00Hina ShahAdd ability to change background of imstk::vtkRendererThis will take two Vec3d's (second one would be defaulted to zero - or something else), an a boolean that would indicate if gradient mode needs to be on or not.
Will link to the commit when it's ready and merged.This will take two Vec3d's (second one would be defaulted to zero - or something else), an a boolean that would indicate if gradient mode needs to be on or not.
Will link to the commit when it's ready and merged.Hina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/128Long load time for meshes (30s for 50k)2018-11-12T11:41:31-05:00Nicholas MilefLong load time for meshes (30s for 50k)Meshes with 50k take about 30 seconds in debug mode to load. It takes only about 3 seconds in release mode. However, this is a problem because we develop in debug mode. It's difficult to profile because [the debugger doesn't get attached...Meshes with 50k take about 30 seconds in debug mode to load. It takes only about 3 seconds in release mode. However, this is a problem because we develop in debug mode. It's difficult to profile because [the debugger doesn't get attached while profiling](http://stackoverflow.com/questions/11984411/application-runs-faster-with-visual-studio-performance-analysis), so the speed in fast when analyzing.
For comparison:
https://www.reddit.com/r/gamedev/comments/21cm5b/how_fast_can_my_obj_loader_be/?st=iz8owupd&sh=793f9044
Example mesh:
http://opengameart.org/content/golf-ballhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/127Particle system (rendering)2019-03-07T12:51:57-05:00Nicholas MilefParticle system (rendering)# Reason
Particle system for rendering things such as smoke. Many electrosurgery procedure will create smoke, while some simulators require bleeding.
# Details
For the implementation, they should use instancing (accessible via VTK's...# Reason
Particle system for rendering things such as smoke. Many electrosurgery procedure will create smoke, while some simulators require bleeding.
# Details
For the implementation, they should use instancing (accessible via VTK's vtkGlyph3DMapper or possibly the [vtkMoleculeMapper](https://blog.kitware.com/rendering-engine-improvements-in-vtk/) class).
Base features:
* Particles need to be sorted from back to front (since they are translucent)
* Should be quads facing the camera (currently the vtkMoleculeMapper uses a single triangle, but this can lead to fillrate issues)
* Number of particles
Properties for each particle:
* Current position
* Current rotation
* Velocity vector
* Velocity randomization vector
* Acceleration vector
* Acceleration randomization vector
* Start color
* Lifespan
* Particle position/scale
* Rotational velocity
* Rotational velocity randomization
* Rotational acceleration
* Rotational acceleration randomization
@alexis-girault Nicholas MilefNicholas Milefhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/126Tessellation for Surface Meshes2019-03-19T15:51:26-04:00Nicholas MilefTessellation for Surface MeshesThis is used to increase the resolution of a surface mesh. This only affects the rendering. GPU tessellation is preferred here because it doesn't use additional storage space or vertex shading.
In VTK, it may be possible in a limited fo...This is used to increase the resolution of a surface mesh. This only affects the rendering. GPU tessellation is preferred here because it doesn't use additional storage space or vertex shading.
In VTK, it may be possible in a limited form by using geometry shaders, but this can be dangerous since you can quickly fill up internal hardware buffers even at lower tessellation factors (geometry shaders aren't really meant for this). In Vulkan, this can be done in tessellation shaders.Nicholas MilefNicholas Milefhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/125Voxel datastructure/rendering2019-07-28T15:58:12-04:00Nicholas MilefVoxel datastructure/renderingVisualizing voxels efficiently would be useful for debugging. Also, having access to a voxel data structure would be useful.
@trudiQ @unihuiVisualizing voxels efficiently would be useful for debugging. Also, having access to a voxel data structure would be useful.
@trudiQ @unihuihttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/124Additional Collision Detection Primitives2019-07-28T15:58:09-04:00Nicholas MilefAdditional Collision Detection PrimitivesHere are additional primitives that are needed for collision detection:
* Cylinder
* Line (segment and infinite)
* Triangle
* Point
* Half-plane
* AABB (rectangular prism)
* Capsule
@trudiQ @unihui @sreekanth-arikatlaHere are additional primitives that are needed for collision detection:
* Cylinder
* Line (segment and infinite)
* Triangle
* Point
* Half-plane
* AABB (rectangular prism)
* Capsule
@trudiQ @unihui @sreekanth-arikatlahttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/123Create infrastructure to support ODE within iMSTK2019-07-04T16:24:04-04:00Hina ShahCreate infrastructure to support ODE within iMSTKODE support will be added as a rigid-body force model in iMSTK.
The task will start off assuming that ODE libraries are supplied externally.
Once Issue #120 is resolved, this branch should be merged with the corresponding branch to crea...ODE support will be added as a rigid-body force model in iMSTK.
The task will start off assuming that ODE libraries are supplied externally.
Once Issue #120 is resolved, this branch should be merged with the corresponding branch to create a complete suppot.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/122Plane and Cube scene objects rendered black2017-07-03T15:39:10-04:00Sreekanth ArikatlaPlane and Cube scene objects rendered blackAlexis: "could be that cells are oriented the wrong way
and the latest normals filter doesn't check for cell orientation (or that would be way too slow)"Alexis: "could be that cells are oriented the wrong way
and the latest normals filter doesn't check for cell orientation (or that would be way too slow)"Alexis GiraultAlexis Giraulthttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/121Add a parent-children-like tree structure containing multiple geometries2017-07-03T15:39:10-04:00Andinet enquobahrieAdd a parent-children-like tree structure containing multiple geometrieshttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/120Adding Open Dynamics Engine to iMSTK's Superbuild2019-07-04T16:44:06-04:00Hina ShahAdding Open Dynamics Engine to iMSTK's SuperbuildHina ShahHina Shahhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/119Eigen fails to checkout tag2017-07-03T15:39:10-04:00Alexis GiraultEigen fails to checkout tagEigen git tag which was currently used ([e81ac4502ebbfde43a1e1761b36853d3ead47c33](https://github.com/RLovelett/eigen/commit/e81ac4502ebbfde43a1e1761b36853d3ead47c33)), can not be checked out anymore as of **Sunday, January 29 2017** for...Eigen git tag which was currently used ([e81ac4502ebbfde43a1e1761b36853d3ead47c33](https://github.com/RLovelett/eigen/commit/e81ac4502ebbfde43a1e1761b36853d3ead47c33)), can not be checked out anymore as of **Sunday, January 29 2017** for unknown reasons, causing all builds on the dashboard to fail:
http://my.cdash.org/index.php?project=iMSTK&date=2017-01-29
```
fatal: reference is not a tree: e81ac4502ebbfde43a1e1761b36853d3ead47c33
```https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/118Investigate Eigen version bump2017-07-03T15:39:10-04:00Alexis GiraultInvestigate Eigen version bumpWe are currently using 3.2-beta1 (not stable release).
The latest release is 3.3.2. See announcement details for 3.3 here: http://eigen.tuxfamily.org/index.php?title=Main_Page
@sreekanth-arikatla @MohitTyagiWe are currently using 3.2-beta1 (not stable release).
The latest release is 3.3.2. See announcement details for 3.3 here: http://eigen.tuxfamily.org/index.php?title=Main_Page
@sreekanth-arikatla @MohitTyagihttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/117Render various fields during a physics simualtion2019-07-28T15:58:05-04:00mohitTyagiRender various fields during a physics simualtionDuring a physics simulation (deformation, collisions, cutting etc.), we should be able to visualise various fields such as stresses, strain etc.During a physics simulation (deformation, collisions, cutting etc.), we should be able to visualise various fields such as stresses, strain etc.https://gitlab.kitware.com/iMSTK/iMSTK/-/issues/116getVolume() incorrect for Cube and Sphere2017-07-03T15:39:10-04:00Nicholas MilefgetVolume() incorrect for Cube and SphereTwo small bugs I found (simple fixes):
# Cube:
`m_width * m_width` should be `m_width * m_width * m_width`
# Sphere:
`0.75 * PI * m_radius * m_radius * m_radius` should be `4.0 / 3.0 * PI * m_radius * m_radius * m_radius`Two small bugs I found (simple fixes):
# Cube:
`m_width * m_width` should be `m_width * m_width * m_width`
# Sphere:
`0.75 * PI * m_radius * m_radius * m_radius` should be `4.0 / 3.0 * PI * m_radius * m_radius * m_radius`Mayeul ChassagnardMayeul Chassagnardhttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/115Normals/triangles incorrect with obj reader for SurfaceMesh2017-07-03T15:39:10-04:00Nicholas MilefNormals/triangles incorrect with obj reader for SurfaceMeshIn `imstkVTKMeshReader`, in `convertVtkPolyDataToSurfaceMesh(vtkPolyData* mesh)`, the number of triangles read is incorrect. Also, the normals appear to be incorrect in the resulting Surface Mesh.
I tried the third shrub here (others ...In `imstkVTKMeshReader`, in `convertVtkPolyDataToSurfaceMesh(vtkPolyData* mesh)`, the number of triangles read is incorrect. Also, the normals appear to be incorrect in the resulting Surface Mesh.
I tried the third shrub here (others didn't work as well):
http://opengameart.org/content/tropical-shrubs
If you go into that convert function, you'll see that the number of triangles is way off from the number in the file.
@alexis-giraulthttps://gitlab.kitware.com/iMSTK/iMSTK/-/issues/114Potential dangling scene elements at runtime2017-07-03T15:39:10-04:00Sreekanth ArikatlaPotential dangling scene elements at runtimeIf a scene object is removed at run time from the scene the handle to that scene object is lost for ever since there is no place where the scene elements are kept track.If a scene object is removed at run time from the scene the handle to that scene object is lost for ever since there is no place where the scene elements are kept track.