Assimp - Brainstorming zum Release

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4937
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Schrompf »

Cool, das ist doch was wert!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4937
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Schrompf »

Leute! Bin ich inzwischen der Einzige, der überhaupt noch die Stellung im Sourceforge-Forum hält? Da ist z.B. grad ne Frage zum Java-Port, von der ich keine Ahnung habe. Zeigt euch dort doch mal wieder.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von kimmi »

Jupp, ich werde wieder aktiver werden. Hauskauf hat viel Arbeit mit sich gebracht, kann ich als Entschuldigung vorbringen.

Gruß Kimmi
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von kimmi »

Wer ist eigentlich der aktuelle Maintainer vom Java-Port? Weiß das hier jemand?

Gruß Kimmi
Benutzeravatar
Schrompf
Moderator
Beiträge: 4937
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Schrompf »

Danke! Ich habe keine Übersicht, wie die Ports überhaupt funktionieren und wer da was getan hat... daher brauche ich da ja Hilfe.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von kimmi »

ich kann mich da mal reinlesen. Vielleicht spricht der Code ja für sich :).

Gruß Kimmi
Benutzeravatar
Jonathan
Establishment
Beiträge: 2479
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Jonathan »

Aus der Assimp FAQ:
Is ASSIMP able to export models?
No. ASSIMP is an import library. It is intended to import assets, which have been exported from programs like 3ds max, into game engines or other realtime visualization systems. Normally you won't need to export the assets again. If you really need this feature, your're free to open a branch and start coding.
Sollte vielleicht mal geändert werden.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Aramis »

Ich betreibe ja schon seit einiger Zeit einen Online-3D-Model-Konvertier-Service, der intern natuerlich Assimp verwendet.

Anbei sind aktuelle Statistiken bezueglich der Popularitaet einzelner Formate:

Most popular input formats (count)
3ds (28717)
obj (22460)
stl (15340)
dae (15147)
dxf (10424)
lwo (7618)
x (5864)
mdl (3405)
blend (3063)
ply (2345)
smd (1632)
b3d (971)
md3 (845)
xml (745)
lws (575)
ase (566)
md5mesh (550)
xgl (318)
off (295)
md2 (271)

Most popular output formats (count)
obj (53570)
stl (23308)
3ds (21501)
dae (17042)
x (4124)
ply (3165)
stlb (76)
Benutzeravatar
Schrompf
Moderator
Beiträge: 4937
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Schrompf »

Interessant. obj ist wahrscheinlich deswegen so beliebt, weil jede Mini-Engine und jedes Tool noch einen Loader dafür rumfliegen hat.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8297
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Krishty »

Ich komme bald an den Punkt, wo ich die Daten aus meinem Tool exportieren muss, so dass möglichst viele Engines sie verstehen. Da kommt mir so eine Statistik natürlich gelegen. Also OBJ ist de-facto-Standard, meint ihr?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4937
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Schrompf »

Für alles, was nur ne Triangle Soup will, ist OBJ der Standard. Sobald mehr als 64k Vertices rausfallen, stirbt OBJ. Sobald nennenswerte Hierarchien mit Transformationen abgebildet werden sollen, stirbt OBJ. Sobald irgendwas animiert werden soll, stirbt OBJ. Und zu guter Letzt: falls Du Lichtquellen, Kameras und dergleichen brauchst, ist OBJ aus dem Spiel.

[edit] Animationen, Kameras, Lichter... die anderen Formate können das theoretisch, aber die Exporter implementieren es trotzdem nicht, glaube ich.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von kimmi »

Freut mich zu sehen, dass mein kleiner Loader sich so wacker hält. ich denke, einfache statische Meshes sind der Anfang einer jeder Engine und deswegen hält sich das Format. Außerdem ist es human-readable. Und exportiert man einfache Daten für FE-Netzte, reicht das auch. Mehr ist nicht drinnen.

Gruß Kimmi
Benutzeravatar
Jonathan
Establishment
Beiträge: 2479
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von Jonathan »

Wo wir hier schon einen inoffiziellen Assimp-Entwicklungsthread haben, poste ich gleich mal einen Bug.
Ich habe eine OBJ-Datei, von der ich glaube, dass sie früher einmal geladen wurde, jetzt streikt der Importer aber komplett. Weder mein Spiel noch Aramis Meshviewer kann das Modell laden.

Hier die Materialdatei:

Code: Alles auswählen

# Blender3D MTL File: BG_Sphere1.blend
# Material Count: 1
newmtl BG_Sphere_BG_Sphere2.jpg
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.640000 0.640000 0.640000
Ks 0
Ni 1.000000
d 1.000000
illum 2
map_Kd BG_Sphere2.jpg
Hier die Fehlermeldung:
The string "" cannot be converted into a value.
Hier der Code:

Code: Alles auswählen

// Assimp::ObjFileMtlImporter::load() Line 148

	while ( m_DataIt != m_DataItEnd )
	{
		switch (*m_DataIt)
		{
		case 'K':
			{
				++m_DataIt;
				.....
				else if (*m_DataIt == 's')
				{
					++m_DataIt;
					getColorRGBA( &m_pModel->m_pCurrentMaterial->specular ); <<---- hier
				}


// ObjFileMtlImporter::getColorRGBA(aiColor3D * pColor) Line 229
void ObjFileMtlImporter::getColorRGBA( aiColor3D *pColor )
{
	ai_assert( NULL != pColor );
	
	float r, g, b;
	m_DataIt = getFloat<DataArrayIt>( m_DataIt, m_DataItEnd, r );
	pColor->r = r;
	
	m_DataIt = getFloat<DataArrayIt>( m_DataIt, m_DataItEnd, g ); <<---- hier
	pColor->g = g;
Wie man sieht, steht nur 1 Wert drin, es werden drei erwartet und es kracht. Die Intuition wäre in diesem Fall natürlich, dass alle drei Werte 0 sind. Keine Ahnung, in wie weit das Standard ist, aber der Importer könnte ja auch einfach robust sein und Fehler tolerieren (ja, das ermutigt immer, unsaubere Dateien zu haben, aber trotzdem - man kann ja eine Warnung geben).
Ich bin in der Assimp-Entwicklung grad nicht so drin, sonst hätte ich vielleicht einen richtigen Patch eingereicht, aber mit dieser Beschreibung sollte es ja auch einfach zu fixen sein. Ich habe für mich fürs erste die Material-Datei gefixt, aber auf lange Sicht wäre ein gefixter Importer vermutlich schöner.

[edit]Ich habe das selbe Problem bei einem Haufen weiterer Dateien. Ich bin mir sicher, dass die früher einmal ohne Probleme geladen wurden.[/edit]
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von kimmi »

Danke für den Bugreport, wir kümmern uns drumm :).

Gruß Kimmi
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Assimp - Brainstorming zum Release

Beitrag von kimmi »

Sollte erledigt sein.

Kimmi
Antworten