f3d icon indicating copy to clipboard operation
f3d copied to clipboard

Improve Alembic reader

Open mwestphal opened this issue 2 years ago • 20 comments
trafficstars

Is your feature request related to a problem? Please describe. Since #138 was closed, F3D has been supporting alembic file format, however the support is fairly limited, let's improve it.

Missing features:

  • [x] Animation support
  • [x] Texture Coordinates
  • [x] Normals
  • [ ] Reuse the face varying filter
  • [ ] performance (I tried a large file which takes ~5 seconds per frame, but it's fast on Blender)

mwestphal avatar Jul 12 '23 08:07 mwestphal

@Meakk : Since you already looked at that, which feature should we had in the list above ?

@gerroon @nyue : Please let me know your thougts on this

mwestphal avatar Jul 12 '23 08:07 mwestphal

Normals, texture coordinates, and animation.
Please note that in the case of animation, there's no skinning as far as I know. It's only time-dependent buffers so quite easy to support.

Meakk avatar Jul 12 '23 08:07 Meakk

I think the current alembic reader shows objects in the center of the world, it might be the animation data thing.

gerroon avatar Jul 13 '23 16:07 gerroon

@gerroon : Do you have an example file ?

mwestphal avatar Jul 13 '23 16:07 mwestphal

FYI VTK is currently adding a vtkAlembicExporter, we could hope our importer could be integrated in VTK and improved by the VTK community.

mwestphal avatar Sep 17 '23 13:09 mwestphal

Apologies, I have been away for sometime.

I am happy to help out on the Alembic specific, especially with getting (1) Normal (2) Texture Coordinate into/out-of Alembic.

However, I am unable to find the time to be able to re-wrap my head around F3D specifics.

For example, someone can ask "please provide a C++ example to query geometry normals from an Alembic file", that type of question I am able to find the time to put them together. If it becomes the wider question about how that will transfer to F3D, I will be too slow to be productively helpful as I have to dive into F3D itself and understand the underlying design and best practices of F3D.

If the above arrangement (me helping someone familiar with F3D), yes, I can participate.

Kind regards.

nyue avatar Sep 17 '23 15:09 nyue

@nyue of course we can help, do you use discord ? https://discord.f3d.app

mwestphal avatar Sep 17 '23 16:09 mwestphal

@mwestphal I do use Discord and I have now joined f3d on discord.

nyue avatar Sep 17 '23 18:09 nyue

Partially done in https://github.com/f3d-app/f3d/pull/1069

mwestphal avatar Dec 03 '23 09:12 mwestphal

@Meakk do you still plan to do the animation part ?

mwestphal avatar Dec 03 '23 09:12 mwestphal

Yes I will. I have animated files to work on.

Meakk avatar Dec 03 '23 09:12 Meakk

done in #1340

mwestphal avatar Mar 31 '24 09:03 mwestphal

Let me reopen that issue. I see 2 points to improve:

  • reuse the face varying filter
  • performance (I tried a large file which takes ~5 seconds per frame, but it's fast on Blender)

Meakk avatar Mar 31 '24 09:03 Meakk

good points, I've added them on top.

mwestphal avatar Mar 31 '24 09:03 mwestphal

But its a reader, not an importer, so no textures supported anyway ?

mwestphal avatar Mar 31 '24 09:03 mwestphal

Texture coordinates are supported but AFAIK there's no material description described by the format itself. Alembic is mainly used to export baked simulation.

Meakk avatar Mar 31 '24 09:03 Meakk

Ha, got it.

mwestphal avatar Mar 31 '24 09:03 mwestphal

Alembic should support polygon tags to define where the materials are applied but it is a format that wont really support texture/material data, most users of alembic would expect to have material previews with alembic.

gerroon avatar Mar 31 '24 16:03 gerroon

@gerroon what do you mean by material previews? Some kind of texture placeholder like a checkboard?

Meakk avatar Mar 31 '24 17:03 Meakk

@gerroon what do you mean by material previews? Some kind of texture placeholder like a checkboard?

What I meant is that the alembic users would know the limitation, it is a format for specialized use case really.

gerroon avatar Mar 31 '24 22:03 gerroon