[Bf-committers] External mesh format

Recep Aslantas info at recp.me
Sun Dec 25 18:29:26 CET 2016


Hello,

I was sent this email before but it seems it isn't delivered correctly because of DMARC (p=reject)
I've update my DMARC record and trying to re-send, hope you will receive this in inbox.
Email forwarding, mailing lists are big problem for DMARC :/ 


Original message:
--------------------

I'm working on an asset importer/exporter (C99), I was mentioned it before,
My progress is quite good, I'm trying to make it easier and faster

COLLADA meshes are multi-indexed and most GL Apis (OpenGL, Vulkan, dx..)
support only single index/elements buffer, also COLLADA allows external array sources...

So I added some options for loading meshes, some of these are:

(1) You can force importer to give meshes with single-index buffer (all inputs share same index)
(2) Some posiitons need to be duplicated e.g. edges if they don't share all inputs e.g. normals, tex..
importer ensures that all these posiitons are duplicated while loading
(3) You can force importer to get interleaved source
(4) You don't want to use index buffer and you can force importer to generate interleaved or
separated buffers for direct draw
...

To achieve (1) we need to do (2) before, but operation (2) is very costly (especially for large meshes),
importer needs to iterate all indices and check every single vertex for position need to be duplicated or not,
through all index sources (COLLADA meshes can contain multiple poly/triangles/lines)...

My question is that how do Blender expect/process mesh from external sources, indexed or not?

Because I'm going to postpone (1) and (2) for now, I'll back to this,
before doing this I want to know what kind of data (indexed or not) do Blender expect
or which is good for Blender (not talking about indexed vs driect draw)

Thanks for your comments

--------------------


- Recep


More information about the Bf-committers mailing list