I was looking at the FMOD docs, but I couldn’t find anything on this.
Say I generate a geometric mesh using MC33[1] or marching cubes. I have a couple questions:
Is it safe to just pass in the vertices directly into FMOD? Is there some way of determining if a polygon should be double-or single-sided, or should I just usually do double-sited unless I need to do something special?
How does the geometry engine work when combined wit hspatializer DSPs or other plug-ins which take 3D attributes and other data parameters? Does the geometry occlusion occur before being handled by DSPs/effects, or is that something the DSP would need to do?
[1]: Vega, D., Abache, J., Coll, D., A Fast and Memory-Saving Marching Cubes 33 Implementation with the correct interior test, Journal of Computer Graphics Techniques (JCGT), vol. 8, no. 3, 1–18, 2019. http://jcgt.org/published/0008/03/01/
Isn’t this backward? I create the geometry (with System::createGeometry) and then fill it with polygons?
And to confirm: I do pass the exact vertices that I’d get from algorithms like MC33, without modification or anything like that, to Geometry::addPolygon?
The rest of your post was very helpful – thank you!
struct Mesh
{
int numVertices;
FMOD_VECTOR *vertices;
float (*texcoords)[2];
int numPolygons;
Polygon* polygons;
int numIndices;
int *indices;
FMOD::Geometry *geometry;
};
which you will then pass the polygons and vertexes to
mesh.geometry->setPolygonVertex(poly, i, &vertex);
It… Kind of does.It sort of does, I just need to figure out the best way to transform the grid into a mesh (I thought I had it nailed down but… Apparently I didn’t :-().