创建multipatch时如何设置multipatch的材质

545
0
01-11-2021 07:03 PM
梅扬
通过
新的因素

Int demsion = 2;
int numMaterials = 8;
int numMaterialslen = 16;

MultiPatchShapeBuffer testGeometry;
testGeometry。设置(shapeTypes, numParts, numPts, numTextures, demsion, numMaterials, numMaterialslen);
testGeometry.GetPartDescriptors (desc);
For (size_t m = 0;m < numParts;m + +)

//descs[m] = ns[m];
desc [m] = 6;

int * pt;
testGeometry.GetParts (pt);
GeometryType geometryDeff = geometryMultiPatch;
testGeometry.GetGeometryType (geometryDeff);
testGeometry.GetNumParts (numParts);
testGeometry.GetNumPoints (numPts);
浮*法线;
testGeometry.GetNormals(法线);
Int * id;
testGeometry.GetIDs (id);

int textureDimension;
int * textureParts;
* texturesCoords浮动;
bool xe= testGeometry.HasTextures(shapeTypes);
hr = testGeometry。GetTextures(numTextures, textureDimension, textureParts, texturescoordinates);

Int nummaterialww;
Int compressionww;
int *partww = NULL;
字节*materialww = NULL;
fgdbError错误;
error = testGeometry。GetMaterials(nummaterialww, compressionww, *&partww, *&materialww);
bool xx = testGeometry.HasMaterials(shapeTypes);

我已经通过multipatch的函数set()设置了纹理和材料的num,但当我试图获得指向材质数组和纹理坐标的指针…,返回null。我真的希望你能帮我解决这个问题,我需要你的帮助!

0荣誉
0回答