Hi,
ich habe aus einer Textdatei ein Mesh generiert. Dieses wird aber irgendwie nicht angezeigt (ich kann es nicht finden...).
Woran könnte das liegen? Wo soll ich suchen?
Ich bin auch mal mit der Kamera an die Stelle des ersten Vertex gegangen, da war nichts zu sehen - weit und breit

Ich hab im Anhang mal die Textdatei hochgeladen,
hier findet ihr das Format der Datei.
Und folgendermaßen wird die Datei geparst:
Code:
// Meshbuffer erstellen
irr::scene::SMeshBuffer* road_meshbuffer = new irr::scene::SMeshBuffer();
// Datei öffnen
std::FILE* road_file = NULL; //Die Datei
road_file = std::fopen(filepath.c_str(), "r");
if(road_file == NULL)
CFramework::Get()->RuntimeError("Laden der Map fehlgeschlagen: Die Datei für die Straße konnte nicht geöffnet werden.", "ERROR", "<strong>Pfad:</strong> " + filepath);
char road_file_buffer[256];
//Anzahl der Straßen rauslesen
std::fgets(road_file_buffer, 255, road_file);
int road_number_of_roads = atoi(road_file_buffer);
//todo: Support für mehrere Straßen
//Straßennamen auslesen
std::fgets(road_file_buffer, 255, road_file);
std::string road_name = road_file_buffer;
//Texturpfad auslesen
std::fgets(road_file_buffer, 255, road_file);
std::string road_texture = road_file_buffer;
irr::video::ITexture* road_texture_loaded = CFramework::Get()->GetDriver()->getTexture("gfx/maps/western/roads/road2.jpg");
//Opacity (Tranzparenz) auslesen
std::fgets(road_file_buffer, 255, road_file);
std::string road_opacity = road_file_buffer;
//Anzahl der Vertices auslesen
std::fgets(road_file_buffer, 255, road_file);
int road_number_of_vertices = atoi(road_file_buffer);
//Vertices auslesen
std::vector<std::string> vertex_data;
for(int i = 0; i < road_number_of_vertices; ++i)
{
std::fgets(road_file_buffer, 255, road_file);
vertex_data = hwf::split_string(road_file_buffer, " ");
if(static_cast<int> (vertex_data.size()) != 8)
{
CFramework::Get()->RuntimeError("Laden der Straße: Angaben des " + hwf::intToString(i) + ". Vertex konnten nicht geladen werden", "ERROR", "<strong>Pfad:</strong> " + filepath);
}
else
{
road_meshbuffer->Vertices.push_back(irr::video::S3DVertex(static_cast<float> (atof(vertex_data[0].c_str())), // X
static_cast<float> (atof(vertex_data[1].c_str())), // Y
static_cast<float> (atof(vertex_data[2].c_str())), // Z
static_cast<float> (atof(vertex_data[5].c_str())), // NX
static_cast<float> (atof(vertex_data[6].c_str())), // NY
static_cast<float> (atof(vertex_data[7].c_str())), // NZ
irr::video::SColor(125, 255, 255, 255), // Color
static_cast<float> (atof(vertex_data[3].c_str())), // U
static_cast<float> (atof(vertex_data[4].c_str())) // V
));
}
}
//Indices auslesen
while(!std::feof(road_file))
{
std::string current_index;
char c;
char tmp_seperator = ' ';
c = std::fgetc(road_file);
if(c == tmp_seperator)
{
road_meshbuffer->Indices.push_back(atoi(current_index.c_str()));
current_index = "";
}
else
{
current_index += c;
}
}
// Mesh und ScheneNode erstellen
road_meshbuffer->recalculateBoundingBox();
irr::scene::SMesh* road_mesh = new irr::scene::SMesh();
road_mesh->addMeshBuffer(road_meshbuffer);
m_Road = CFramework::Get()->GetSceneManager()->addMeshSceneNode(road_mesh);
// Material
m_Road->setMaterialTexture(0, road_texture_loaded);
m_Road->setMaterialFlag(irr::video::EMF_LIGHTING, false);
m_Road->setMaterialFlag(irr::video::EMF_BACK_FACE_CULLING, true);
Habe ich beim parsen was vergessen / nen fehler gemacht?