Comments (15)
Our .obj decoder currently handles only triangular faces. We may add support for triangulation of more complex polygons later if there is sufficient demand. For now you would have to triangulate the model either in your modeling app or tools such as MeshLab.
from draco.
I have just met this problem too...
from draco.
I've added the request to our internal issue tracker. I'll post an update when there is any progress to report
from draco.
@ondys any update on this issue? Thanks!
from draco.
@bradrothenberg Actually yes. We have added support for quads internally and it should be pushed to public within this week. I'll update this issue when that happens. Note that the quads are not going to be preserved. The output is going to be a triangular mesh (quads are split into two triangles).
from draco.
Support for loading quad meshes has been added to the master branch. Let us know if you find any issues with this new feature. Thanks
from draco.
thanks @ondys !
from draco.
@ondys is there a way to preserve the original vertices & faces? & then we can handle the triangulation on our side (like for rendering etc)
from draco.
@bradrothenberg Preserving original quad faces is currently not supported. All our compression techniques currently work only on triangular meshes so the input has to be triangulated. We could possibly encode information about quads in a separate geometry attribute if that's something that would be acceptable (of course this would result in worse compression). Is there any reason why you cannot triangulate the mesh before it is encoded?
from draco.
@ondys I was thinking we could add an attribute to each face that is an index to a "surface" & then compress this? We are looking at using draco to compress mesh data in the CAD software we're building. Currently we support n-sided polygons for meshes:
so we can do things like generate ribs based on their edges:
When using n-sided meshes, we do triangulate each face for rendering & such, but we need to keep the association of each tri to each face in the mesh so that we can still do things like extract the edges of the n-sided faces...
Could we just add new attributes only to the triangular faces that are part of larger n-sided faces by calling:
mesh.SetAttribute(mesh.num_attributes()+1, std::move(newAttribute));
& the attribute would be a GENERIC
geometry attribute ?
from draco.
@bradrothenberg Yes it should be possible to do it with a new generic attribute of type DT_INT32
where every point on a triangle would reference to its associated polygon id. The only thing I'm worried about is that this would not really compress that well. The compression can be improved if you apply some graph coloring algorithm to generate the polygon ids (i.e., use only a very few unique polygon ids for all faces while making sure that no two neighboring polygons share the same polygon id).
Ideally we would not actually need to store any polygon ids at all as all we need to store are the boundaries between the polygons and the ids can be generated implicitly on the decoder side .. this would require some changes to the framework though as Draco doesn't support implicit attributes yet.
from draco.
thanks @ondys !
from draco.
Are there any plans on support for this? Thank you.
from draco.
@tastnt Nothing new at this point. I would suggest anyone with this request to add it here so we can more accurately gauge the demand
from draco.
Closing due to inactivity.
from draco.
Related Issues (20)
- Compilation Error Involving StatusOr and Status Classes in Draco Library HOT 2
- Gstatic, CDNs, and per-domain caching policy HOT 1
- Download links are broken HOT 1
- Support for quads HOT 1
- C++ Documentation Improvement
- Severity Code Description The project file line does not display status Error C2440 "Initialize" : Unable to transfer from "void *" to "tinygltf: : GetFileSizeFunction draco_decoder F: \ resource \ Draco - 1.5.6 \ SRC \ Draco \ IO \ gltf_decoder.cc 489 HOT 2
- Optimizing 3D data with Draco Geometry Compression HOT 1
- Android Studio Build Error
- tex_coord data has no compression
- A problem about pointcloudsequentialencoder HOT 1
- I failed to compress the downsampled point cloud file with draco_encoder. HOT 1
- ld: unknown option: --start-group
- Apple new Privacy manifest files In May HOT 2
- How to open a gltf/glb file, then compress and save it, in C++
- OSS-Fuzz issue 68890
- Only the positions of the point cloud data in the ply file got compressed
- Large amounts of dynamic memory allocation.
- Encoding speed issue when using draco_encoder.js in web browser environment.
- The status.h header file is not compiled HOT 1
- Build Failure of Draco 1.3.6 on red hat 8 with gcc-11 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from draco.