public Ob3ModelData BuildRscModel() { var model = new Ob3ModelData(); var vert = new List <Vector3>(); var faces = new List <Ob3Face>(); model.FaceCount = _faceCnt; model.FaceVertCount = _faceVertCnt; for (int l = 0; l < _vertCnt; l++) { vert.Add(new Vector3(_vertX[l], _vertY[l], _vertZ[l])); } for (int f = 0; f < _faceCnt; f++) { var c = Color.green; // Color.FromNonPremultiplied(255,0,255,255); // #warning transparent color instead of green for missing vertex colors. // c = new Color(0, 0, 0, 0); int textureId = -1; if (_textureFront[f] < 0) { int texture = _textureFront[f]; c = Utils.GetColor(texture); textureId = texture; } if (_textureBack[f] < 0) { int texture = _textureBack[f]; c = Utils.GetColor(texture); textureId = texture; } if (_textureFront[f] > 0) { textureId = _textureFront[f] + 1; } if (_textureBack[f] > 0) { textureId = _textureBack[f] + 1; } if (_textureBack[f] < 0 && (!(_textureFront[f] < 0))) { textureId = _textureBack[f]; } if (_textureBack[f] > 0 && (!(_textureFront[f] > 0))) { textureId = _textureBack[f]; } var tester = new int[_faceVertCnt[f]]; for (int i3 = 0; i3 < _faceVertCnt[f]; i3++) { tester[i3] = FaceVerts[f][i3]; } //if (textureID == -1) //{ //} //else //{ // faces.Add(new Ob3Face(textureID, tester)); //} //if (textureID < 0 && c == Color.Transparent) //{ // var t1 = texture_back[f]; // var t2 = texture_front[f]; // c = Color.Red; //} //textureID = -1; faces.Add(new Ob3Face(textureId, c, tester)); } model.setVertices(vert); model.setFaces(faces); return(model); }
public Ob3ModelData BuildRscModel() { var model = new Ob3ModelData(); var vert = new List<Vector3>(); var faces = new List<Ob3Face>(); model.FaceCount = _faceCnt; model.FaceVertCount = _faceVertCnt; for (int l = 0; l < _vertCnt; l++) { vert.Add(new Vector3(_vertX[l], _vertY[l], _vertZ[l])); } for (int f = 0; f < _faceCnt; f++) { var c = Color.green;// Color.FromNonPremultiplied(255,0,255,255); // #warning transparent color instead of green for missing vertex colors. // c = new Color(0, 0, 0, 0); int textureId = -1; if (_textureFront[f] < 0) { int texture = _textureFront[f]; c = Utils.GetColor(texture); textureId = texture; } if (_textureBack[f] < 0) { int texture = _textureBack[f]; c = Utils.GetColor(texture); textureId = texture; } if (_textureFront[f] > 0) { textureId = _textureFront[f] + 1; } if (_textureBack[f] > 0) { textureId = _textureBack[f] + 1; } if (_textureBack[f] < 0 && (!(_textureFront[f] < 0))) { textureId = _textureBack[f]; } if (_textureBack[f] > 0 && (!(_textureFront[f] > 0))) { textureId = _textureBack[f]; } var tester = new int[_faceVertCnt[f]]; for (int i3 = 0; i3 < _faceVertCnt[f]; i3++) { tester[i3] = FaceVerts[f][i3]; } //if (textureID == -1) //{ //} //else //{ // faces.Add(new Ob3Face(textureID, tester)); //} //if (textureID < 0 && c == Color.Transparent) //{ // var t1 = texture_back[f]; // var t2 = texture_front[f]; // c = Color.Red; //} //textureID = -1; faces.Add(new Ob3Face(textureId, c, tester)); } model.setVertices(vert); model.setFaces(faces); return model; }