Open JerryYan97 opened 3 years ago
Hi, thank for supporting this project!
FEM rendering I need to use a function to find the outer faces of a FEM model
This feature sounds interesting to have, would you mind give me more information about how the data look like for a FEM model? I can hardly find cites on the Internet :cry: Thank in advance!
Normals generation
This is actually already included in Tina, you may use the tina.MeshFlatNormal
or tina.MeshSmoothNormal
node, e.g.:
mesh = tina.MeshModel('assets/monkey.obj')
model = tina.MeshFlatNormal(mesh)
scene.add_object(model)
some surface reconstruction algorithm
Yes! We already have a marching cube algorithm in tina.util.mciso
, it is not loaded by default as it is extensive large:
from tina.util.mciso import MCISO, Voxelizer
You can find more usage details in examples/mciso_mpm3d.py
.
RTX hardware real-time rendering
hardware ray tracing sounds not a good choice for cross-platform renderers like Tina, it is based on a general computation langurage Taichi rather than utilizing specific hardwares. But a ray tracing scheme is now under progress, don't worry :)
Hello!
Thank you for your reply!
As for FEM (Finite Element Method) rendering, maybe 'volumetric mesh' is a more accurate way to say... Sorry for that :blush: . Some examples of these files' formats are .vtk, .msh, ....
Here are some libraries or tools that I usually use. They also show some common use-cases or needs in this field: https://pymesh.readthedocs.io/en/latest/ http://wias-berlin.de/software/index.jsp?id=TetGen&lang=1 https://gmsh.info/ (Here is the final rendering result that I hope Tina could achieve in some day) https://github.com/Yixin-Hu/TetWild
Besides, I am also wondering whether it is good to stick on Taichi for the rendering pipeline, because, from my view, it looks like it limits the potential of showing Taichi's PBA simulation results.
Hello! It looks like Tina/taichi_three is under a significant refactorization and I think it maybe good time to throw out some ideas of mine to it (To be honest, I am not so sure about whether they are good or bad, but it looks like it is not harmful to put them out. Hopefully, they could be constructive). Maybe some of these ideas have been implemented but I didn't notice before. Sorry for that :)
I am currently using Taichi as my main tool for developing Physically Based Animation projects and Tina/Taichi_three is a great support to debug my algorithm in 3D intuitively. However, when I need to get cool rendered pictures for assignment submission or showcase, it looks like it is still not good enough to replace Houdini's scene manipulation/workflow and its Mantra renderer.
So, I am thinking whether it is possible to add more features to Tina/Taichi_three to make it more easy to produce PBA/Simulation results.
1. Add more features to support more mesh/animation formats rendering (FEM and particles)
FEM rendering and millions of particles rendering with high performance. Currently, I am working on a FEM project and it needs lots of mesh processing to render it. For example, I need to use a function to find the outer faces of a FEM model and organize them into dynamic mesh. Meanwhile, I think these functions can be integrated into taichi_three to make FEM simulation more easy. Normals generation is also a function that I think can be integrated as a function in Tina.
Besides, if taichi_three has an easy way to read in a sequence of animation (Maybe particles sequences or FEM sequences) like Houdini and render them out. It would be helpful to debug if simulation time of a frame is too long. In addition, it can also eliminate the need of importing them to Houdini to check whether the whole simulation is correct.
2. Surface reconstruction functions for particles
It would be helpful if Taichi_three can integrate some surface reconstruction algorithm. In this way, it can make Lagrangian fluid or rigid body simulation more easy to show.
3. RTX hardware real-time rendering with Optix denoising
For Nvidia's Vulkan Raytracing projects on github, it looks like it is possible to make high-quality RT in real-time by combing RT pipeline and Optix together in a cross-platform way. It would be cool if these techniques can be used in PBA production in Tina, because Industry Renderers like Mantra/Arnold can only provide CPU rendering for free, which is really slow.
4. A default scene base with skybox, some lights and a floor
A default scene with skybox looks like a handy start for lots of PBA research projects and it looks like most of their scene configuration is just it.
5. Some scene formats with their geometry support
Gltf/Fbx/others....