<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[C++] Wavefont obj File Loader]]></title><description><![CDATA[<p>Guten Abend/Morgen,<br />
ich sitze schon eine weile daran und dachte mir einer von euch könnte mir helfen. Ich habe hier eine OBJ file die einfach nur ein Quadrat ist.</p>
<p>Orientiert habe ich mich hier: <a href="http://en.wikipedia.org/wiki/Wavefront_OBJ" rel="nofollow">http://en.wikipedia.org/wiki/Wavefront_OBJ</a></p>
<pre><code>v 100.000000 100.000000 0
v 200.000000 200.000000 0
v 100.000000 200.000000 0
v 200.000000 100.000000 0

f 1 2 3 4
</code></pre>
<p>Mein derzeitiger Code:</p>
<pre><code class="language-cpp">struct Vector3f{
	float x, y, z;
};

void Direct3D::LoadObjModel(string fileName){
	vector&lt;Vector3f&gt; positions;
	Vector3f pos[] = {0,0};
	int count = 0;
	int connector[] = {0,0};

	ifstream filestream;
    filestream.open(fileName.c_str());

	string line_stream;

	while(getline(filestream, line_stream)){
		stringstream str_stream(line_stream);
		string type_str;
        str_stream &gt;&gt; type_str;
        if(type_str == &quot;v&quot;){
            str_stream &gt;&gt; pos[count].x &gt;&gt; pos[count].y &gt;&gt; pos[count].z;
            positions.push_back(pos[count]);

			D3DXCreateLine(pDevice, &amp;line);
			D3DXVECTOR2 lines[] = {D3DXVECTOR2(pos[count].x, pos[count].y), D3DXVECTOR2(pos[count].x +1, pos[count].y +1)};
			line-&gt;Begin();
			line-&gt;Draw(lines, 2, 0xFFFFFFFF);
			line-&gt;End();
			line-&gt;Release();

			count++;
        }else if(type_str == &quot;vt&quot;){

        }else if(type_str == &quot;vn&quot;){

        }else if(type_str == &quot;f&quot;){

        }
		count = 0;
    }
}
</code></pre>
<p>Ich weiß nicht wie ich meinem Programm sagen soll in welcher reinfolge er die punkte verbinden soll. Bei OBJ gibt mir das an wie das gemacht werden soll:</p>
<pre><code>f 1 2 3 4
</code></pre>
<p>also Punkt 1 soll mit Punkt 2 verbunden werden, Punkt 2 mit 3 und so weiter.</p>
<p>Hat jemand irgendeine Idee oder Tipps?</p>
<p>Mit freundlichen Grüßen<br />
vedel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302447/c-wavefont-obj-file-loader</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 07:43:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302447.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Apr 2012 19:37:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [C++] Wavefont obj File Loader on Wed, 18 Apr 2012 19:37:25 GMT]]></title><description><![CDATA[<p>Guten Abend/Morgen,<br />
ich sitze schon eine weile daran und dachte mir einer von euch könnte mir helfen. Ich habe hier eine OBJ file die einfach nur ein Quadrat ist.</p>
<p>Orientiert habe ich mich hier: <a href="http://en.wikipedia.org/wiki/Wavefront_OBJ" rel="nofollow">http://en.wikipedia.org/wiki/Wavefront_OBJ</a></p>
<pre><code>v 100.000000 100.000000 0
v 200.000000 200.000000 0
v 100.000000 200.000000 0
v 200.000000 100.000000 0

f 1 2 3 4
</code></pre>
<p>Mein derzeitiger Code:</p>
<pre><code class="language-cpp">struct Vector3f{
	float x, y, z;
};

void Direct3D::LoadObjModel(string fileName){
	vector&lt;Vector3f&gt; positions;
	Vector3f pos[] = {0,0};
	int count = 0;
	int connector[] = {0,0};

	ifstream filestream;
    filestream.open(fileName.c_str());

	string line_stream;

	while(getline(filestream, line_stream)){
		stringstream str_stream(line_stream);
		string type_str;
        str_stream &gt;&gt; type_str;
        if(type_str == &quot;v&quot;){
            str_stream &gt;&gt; pos[count].x &gt;&gt; pos[count].y &gt;&gt; pos[count].z;
            positions.push_back(pos[count]);

			D3DXCreateLine(pDevice, &amp;line);
			D3DXVECTOR2 lines[] = {D3DXVECTOR2(pos[count].x, pos[count].y), D3DXVECTOR2(pos[count].x +1, pos[count].y +1)};
			line-&gt;Begin();
			line-&gt;Draw(lines, 2, 0xFFFFFFFF);
			line-&gt;End();
			line-&gt;Release();

			count++;
        }else if(type_str == &quot;vt&quot;){

        }else if(type_str == &quot;vn&quot;){

        }else if(type_str == &quot;f&quot;){

        }
		count = 0;
    }
}
</code></pre>
<p>Ich weiß nicht wie ich meinem Programm sagen soll in welcher reinfolge er die punkte verbinden soll. Bei OBJ gibt mir das an wie das gemacht werden soll:</p>
<pre><code>f 1 2 3 4
</code></pre>
<p>also Punkt 1 soll mit Punkt 2 verbunden werden, Punkt 2 mit 3 und so weiter.</p>
<p>Hat jemand irgendeine Idee oder Tipps?</p>
<p>Mit freundlichen Grüßen<br />
vedel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203426</guid><dc:creator><![CDATA[vedel]]></dc:creator><pubDate>Wed, 18 Apr 2012 19:37:25 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Wavefont obj File Loader on Wed, 18 Apr 2012 19:54:50 GMT]]></title><description><![CDATA[<p>1. Guck dir mal VBOs an.<br />
2. Hier könntest du die Daten direkt in ein float Array (vector&lt;float&gt;) lesen, in einen VBO packen, und die faces als int-Array (vector&lt;size_t&gt;) nutzen und so zeichnen. Aber: Das geht nicht mehr, sobald du auch Normalen etc. da drin hast. Insofern bleibt dir wohl nur, das einfach selbst aufzulösen. (Erst vector&lt;float&gt; einlesen, dann vector&lt;size_t&gt;, und daraus dann nen neuen vector&lt;float&gt; machen, in ein VBO schieben, zeichnen und glücklich werden.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203429</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 18 Apr 2012 19:54:50 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Wavefont obj File Loader on Wed, 18 Apr 2012 19:57:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Argh, beim Model auslesen zeichnen, da zieht es einem ja die Augenbrauenhaare einzeln aus der Stirn. Wie bist du denn auf die Idee gekommen?</p>
</blockquote>
<p>Ich wollte mal sehen wie das funktioniert und wie man so etwas programmieren könnte.</p>
<p>Keine andere Idee?^^</p>
<p>Mit freundlichen Grüßen<br />
vedel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203432</guid><dc:creator><![CDATA[vedel]]></dc:creator><pubDate>Wed, 18 Apr 2012 19:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Wavefont obj File Loader on Wed, 18 Apr 2012 20:00:05 GMT]]></title><description><![CDATA[<p>Na ja, das soll ja anscheinend so ein Ladebalken oder so sein. Whatever, ich habe dir doch geschrieben wie das geht. Entweder indexed zeichnen, oder den Index selbst auflösen? Was genau verstehst du daran jetzt nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203436</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 18 Apr 2012 20:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to [C++] Wavefont obj File Loader on Wed, 18 Apr 2012 20:04:40 GMT]]></title><description><![CDATA[<p>Vergiss es^^, ich habe da was verwechselt.<br />
Ich werde es mal ausprobieren.</p>
<p>Bis Morgen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203437</guid><dc:creator><![CDATA[vedel]]></dc:creator><pubDate>Wed, 18 Apr 2012 20:04:40 GMT</pubDate></item></channel></rss>