I want to do a VTK + Three.js development project, mainly to use the streamline function part of VTK, but I don’t know what the feasibility is, do you have any experience in this area?Thank you
three.js provides a VTKLoader which can be used to import VTK assets into a scene. There is also an official example demonstrating the basic usage:
https://threejs.org/examples/webgl_loader_vtk
However, the loader only supports a subset of the VTK standard. For example VTK supports five different dataset formats: structured points, structured grid, rectilinear grid, unstructured grid, and polygonal data. VTKLoader can only process the last one (POLYDATA) right now. Depending on your project requirements, you have to enhance the loader by yourself.
three.js R112
Related
I'm a graphics noobie and need help understanding the capabilities of the various javascript 2D libraries. . .
What do I get out of Pixi.js that I don't get out of a canvas-based library such as Konva?
What do I get out of Konva.js that I don't get out of an HTML/SVG/CSS library such as D3.js?
All I understand at this point is that Pixi is a WebGL library, and so you get faster rendering via GPU. But, I don't know how to describe what Konva does / how it works.
Any help with lingo etc would be immensely appreciated!
It all depends on your use case. What exactly do you want to draw?
A game like canvas application with a lot of graphics, images, filters, etc? http://pixijs.com/ will do the work.
Data visualizations or charts? Take https://d3js.org/
CAD-like applications for drawing some shapes and image manipulations? Take https://konvajs.org/ or http://fabricjs.com/
There are many other similar libraries for every use case. If you are not sure - just make a small prototype with each framework. You will see what works better for you.
I am looking for a way to create a visualisation of live data (temp., humidity) from within a multi-story building overlaid on the floor plans. Each floor will likely be a projected iso view, laid over one-another.
I will most likely be using D3.js for the plotting, but am open to others.
I am currently considering two options:
using a 3D plot projection, and adding the floor plans as custom data.
creating custom TopoJSON files for each floor, and using a custom projection.
I am leaning toward the former.
Has anyone done any similar projects using purely indoor geospacial information? I can't seem to find any examples.
Any thoughts on which of the above two, and any other alternatives, will provide a more elegant or simple design?
I am trying to develop an application with Maya and Unity (for multiplatform use) then exporting it to WebGL, but the load times for the application is quite long, although it is not a very large file. Is there a noticeable difference in performance if the models were created in another program (before being imported to unity), or if the application was developed natively in WebGL?
TLDR: Is there a performance difference for WebGL between Maya -> Unity -> WebGL and just WebGL?
Thanks!
As for the meat of your actual question, "Is there a performance difference for WebGL between Maya -> Unity -> WebGL and just WebGL?":
No, there isn't.
Unity imports models from Maya or whatever external source you author them in. Once imported, they are Unity assets in Unity's own internal format (a structure of vertices with positions, UV's, tangents, faces, etc.) This is the same format you would end up with if you were to manually create them directly in Unity or via script. Of course, some external applications might tend to create less optimal models in the first place, such as a high number of redundant vertices or unnecessarily high amounts of tessellation on some surfaces, but Maya is pretty good, and you can also choose to let Unity optimize your meshes to automatically patch up such problems.
But aside from these details of the model itself, no, it doesn't matter where they came from or that the target is WebGL, with respect to one authoring tool vs. another.
I've written a few plugins using C# and I'm familiar with Python, however I find the documentation in the SDK very difficult to understand. My previous plugins that I've written are largely based on modifications to collections of sample code.
Using Rhino3d, I'd like more control over how it meshes curves. I'd like to control the number of mesh vertex divisions on a curve/arc using my algorithm based on the angle and radius of the curve. I actually already have a plugin that calculates the number of divisions (range) to use.
Currently I am forced to export it into ANSYS APDL (where I can directly specify divisions by selecting each line), meshing, then importing back to rhino.
in fact mesh is a graph and Ansys can handle graphs, but Ansys SDK is tricky... as a beginner check this posts:
http://sysmagazine.com/posts/140397/
alyms-alis.blogspot.ch/2013/01/integration-c-and-module-of-ansys.html
meshing is a science itself. There are some algorithms and approaches which are working fine and found implementation as http://www.mi.fu-berlin.de/en/math/groups/ag-geom/publications/db/KNP07-QuadCover.pdf
I've been trying to figure out how you'd take a mesh generated in a program like 3ds max and bring that into your game with animations, textures, etc.
I've looked at FBX and Collada, but from what I've read, they're used as an intermediate step between the modelling software and some final format that may be custom to the game. What I'm looking for is a book or tutorial that would go over in a general way what you would store in your custom file, how you would store animation data, etc.
Right now I don't really have a general plan of attack and all of the guides I've seen stick to rendering a few triangles.
It doesn't have to be implementation specific to OpenGL, although that is what I'll be using.
Yes Collada is an interchange format.
What that means is it is very much generic. And if I am right that is exactly what you are looking for!
You can use a library such as Assimp to load collada into a generic scene graph, and then have your game/renderer use it directly, or preprocess and then consume it.