<?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[Model wird nicht richtig gelesen?]]></title><description><![CDATA[<p>Hey Leute,<br />
mir wurde geraten mit dem MD2-Modelformat anzufangen. Hab ich nun soweit fertig. Nur zeigt er mir in einer Library folgendes an:</p>
<pre><code>/* verify block type */
            _ASSERTE(_BLOCK_TYPE_IS_VALID(pHead-&gt;nBlockUse));
</code></pre>
<p>(aus der dbgdel.cpp) falls da einer was mit anfangen kann, als Fehlermeldung selber zeigt er eine Acces Vialation an und im Debugger folgendes:</p>
<pre><code>+		pHead	0x00b1ffe5 {pBlockHeaderNext=??? pBlockHeaderPrev=??? szFileName=??? ...}	_CrtMemBlockHeader *
</code></pre>
<p>Und da kann ich dann drauf klicken und da kommen dann nochmal neue Instanzen und eine davon:</p>
<pre><code>szFileName	CXX0030: Error: expression cannot be evaluated
</code></pre>
<p>(szFilename ist der Parameter der den Modelnamen angibt)</p>
<p>Jetzt zum Loader:<br />
Im Header includiere ich die Heade und weise der Modeklasse ein Objekt und einen Zeiger zu, sprich:</p>
<pre><code class="language-cpp">#include &quot;MD2.h&quot;
CMD2Model pModel;
CMD2Model* p_Model;
#include &quot;Texture.h&quot;

void CreateQuad(float _x, float _y);
void DrawMD2Model(CMD2Model *pModel);
</code></pre>
<p>Die Funktion, in der das Model errehnet und gerendert werden soll, wird außerhalb des Codes defniert:</p>
<pre><code class="language-cpp">void DrawMD2Model(CMD2Model* pModel)
{
    if(pModel==NULL)
	{

    int nVertexNr = 0;
    int nTexCoordNr = 0;

    float nX,nY,nZ; 

    double dSkinResX = (double)pModel-&gt;m_pHeader-&gt;skinWidth;
    double dSkinResY = (double)pModel-&gt;m_pHeader-&gt;skinHeight;

	glEnable(GL_TEXTURE_2D);
	glBindTexture(GL_TEXTURE_2D, pModel-&gt;SkinAdr);

	glBegin(GL_TRIANGLES);

	for(int nTriangle=0; nTriangle &lt; pModel-&gt;m_pHeader-&gt;numTriangles; nTriangle++)
	{
		for(int nVertex=0; nVertex &lt; 3; nVertex++)
		{

            nVertexNr = pModel-&gt;m_pTriangles[nTriangle].vertexIndices[nVertex];
            nTexCoordNr = pModel-&gt;m_pTriangles[nTriangle].textureIndices[nVertex];

			nX = (float) pModel-&gt;m_pFrameData[0].pVertices[nVertexNr].vertex[0];
			nX = (nX * pModel-&gt;m_pFrames[0].scale[0]) + pModel-&gt;m_pFrames[0].translate[0];

			nY = (float) pModel-&gt;m_pFrameData[0].pVertices[nVertexNr].vertex[1];
			nY = (nY * pModel-&gt;m_pFrames[0].scale[1]) + pModel-&gt;m_pFrames[0].translate[1];

			nZ = (float) pModel-&gt;m_pFrameData[0].pVertices[nVertexNr].vertex[2];
			nZ = (nZ * pModel-&gt;m_pFrames[0].scale[2]) + pModel-&gt;m_pFrames[0].translate[2];

			double X = (double)pModel-&gt;m_pTexCoords[nTexCoordNr].s / dSkinResX;
			double Y = (double)pModel-&gt;m_pTexCoords[nTexCoordNr].t / dSkinResY;

			const double ScaleModel = 0.005;

			glTexCoord2d(X,Y);
			glVertex3d(nX * ScaleModel, nY * ScaleModel, nZ * ScaleModel);
		}
	}
	glEnd();
	}

}
</code></pre>
<p>So, das Model selber lade ich in der InitGL(). Hab rausgefundne das pModel in der 'DrawMD2'-Funktion gleich NULL ist. Komme jetzt nicht ganz da hinter wo das Problem liegt, sollte eigentlich keine Probleme geben. Ich danke vielmals im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223615/model-wird-nicht-richtig-gelesen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 21:19:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223615.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 28 Sep 2008 17:41:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Model wird nicht richtig gelesen? on Sun, 28 Sep 2008 17:41:41 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
mir wurde geraten mit dem MD2-Modelformat anzufangen. Hab ich nun soweit fertig. Nur zeigt er mir in einer Library folgendes an:</p>
<pre><code>/* verify block type */
            _ASSERTE(_BLOCK_TYPE_IS_VALID(pHead-&gt;nBlockUse));
</code></pre>
<p>(aus der dbgdel.cpp) falls da einer was mit anfangen kann, als Fehlermeldung selber zeigt er eine Acces Vialation an und im Debugger folgendes:</p>
<pre><code>+		pHead	0x00b1ffe5 {pBlockHeaderNext=??? pBlockHeaderPrev=??? szFileName=??? ...}	_CrtMemBlockHeader *
</code></pre>
<p>Und da kann ich dann drauf klicken und da kommen dann nochmal neue Instanzen und eine davon:</p>
<pre><code>szFileName	CXX0030: Error: expression cannot be evaluated
</code></pre>
<p>(szFilename ist der Parameter der den Modelnamen angibt)</p>
<p>Jetzt zum Loader:<br />
Im Header includiere ich die Heade und weise der Modeklasse ein Objekt und einen Zeiger zu, sprich:</p>
<pre><code class="language-cpp">#include &quot;MD2.h&quot;
CMD2Model pModel;
CMD2Model* p_Model;
#include &quot;Texture.h&quot;

void CreateQuad(float _x, float _y);
void DrawMD2Model(CMD2Model *pModel);
</code></pre>
<p>Die Funktion, in der das Model errehnet und gerendert werden soll, wird außerhalb des Codes defniert:</p>
<pre><code class="language-cpp">void DrawMD2Model(CMD2Model* pModel)
{
    if(pModel==NULL)
	{

    int nVertexNr = 0;
    int nTexCoordNr = 0;

    float nX,nY,nZ; 

    double dSkinResX = (double)pModel-&gt;m_pHeader-&gt;skinWidth;
    double dSkinResY = (double)pModel-&gt;m_pHeader-&gt;skinHeight;

	glEnable(GL_TEXTURE_2D);
	glBindTexture(GL_TEXTURE_2D, pModel-&gt;SkinAdr);

	glBegin(GL_TRIANGLES);

	for(int nTriangle=0; nTriangle &lt; pModel-&gt;m_pHeader-&gt;numTriangles; nTriangle++)
	{
		for(int nVertex=0; nVertex &lt; 3; nVertex++)
		{

            nVertexNr = pModel-&gt;m_pTriangles[nTriangle].vertexIndices[nVertex];
            nTexCoordNr = pModel-&gt;m_pTriangles[nTriangle].textureIndices[nVertex];

			nX = (float) pModel-&gt;m_pFrameData[0].pVertices[nVertexNr].vertex[0];
			nX = (nX * pModel-&gt;m_pFrames[0].scale[0]) + pModel-&gt;m_pFrames[0].translate[0];

			nY = (float) pModel-&gt;m_pFrameData[0].pVertices[nVertexNr].vertex[1];
			nY = (nY * pModel-&gt;m_pFrames[0].scale[1]) + pModel-&gt;m_pFrames[0].translate[1];

			nZ = (float) pModel-&gt;m_pFrameData[0].pVertices[nVertexNr].vertex[2];
			nZ = (nZ * pModel-&gt;m_pFrames[0].scale[2]) + pModel-&gt;m_pFrames[0].translate[2];

			double X = (double)pModel-&gt;m_pTexCoords[nTexCoordNr].s / dSkinResX;
			double Y = (double)pModel-&gt;m_pTexCoords[nTexCoordNr].t / dSkinResY;

			const double ScaleModel = 0.005;

			glTexCoord2d(X,Y);
			glVertex3d(nX * ScaleModel, nY * ScaleModel, nZ * ScaleModel);
		}
	}
	glEnd();
	}

}
</code></pre>
<p>So, das Model selber lade ich in der InitGL(). Hab rausgefundne das pModel in der 'DrawMD2'-Funktion gleich NULL ist. Komme jetzt nicht ganz da hinter wo das Problem liegt, sollte eigentlich keine Probleme geben. Ich danke vielmals im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589786</guid><dc:creator><![CDATA[bitte_um_hilfe]]></dc:creator><pubDate>Sun, 28 Sep 2008 17:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Model wird nicht richtig gelesen? on Sun, 28 Sep 2008 17:44:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(pModel==NULL) 
    { 
[..]
    double dSkinResX = (double)pModel-&gt;m_pHeader-&gt;skinWidth;
</code></pre>
<p>denk nochmal scharf nach</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589787</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sun, 28 Sep 2008 17:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to Model wird nicht richtig gelesen? on Sun, 28 Sep 2008 18:00:26 GMT]]></title><description><![CDATA[<p>Ohherje ist mir das peinlich...(:<br />
Erstmal vielen Dank für die schnelle Antwort 'Shade Of Mine'! Sieht jetzt so<br />
aus:</p>
<pre><code class="language-cpp">if(pModel==NULL)
   {
	   MessageBox(NULL,&quot;pModel==NULL&quot;,&quot;Modelloader&quot;,MB_OK);
   }
   else
   { 
     nVertex=...
   }
</code></pre>
<p>Jetzt zeigt er mir schon mehrere Stellen im Debugger an, sehen aber eigentlich alle OK aus:</p>
<pre><code>nVertex	0x00000000	int
                nVertexNr 0x00000000	int
</code></pre>
<p>Ist auch gut so, weil nVertex&amp;nVertexNr mit einer '0' deklariert wurden.<br />
Nächste:</p>
<pre><code>+		pModel	0x004bdd44 class CMD2Model pModel {SkinAdr=0x00000002 m_pHeader=0x003f59a8 m_pSkins=0x000006a9 ...}	CMD2Model *
</code></pre>
<p>Sieht auch gut aus, wenn ich darauf klicke und dann auf 'm_pTriangles' kann ich nochmal 'vertexIndices' anklicken und da stehen dann alle 3 Elemente die in der Modelklasse deklariert wurden....allerdings steht bei jedem Element folgendes:</p>
<pre><code>[0x0]	CXX0030: Error: expression cannot be evaluated	
		[0x1]	CXX0030: Error: expression cannot be evaluated	
		[0x2]	CXX0030: Error: expression cannot be evaluated
</code></pre>
<p>Woran kann das liegen?<br />
An der Deklarierung kann's auch nicht liegen:</p>
<pre><code class="language-cpp">struct MD2_Triangle
   {
	   short vertexIndices[3];
	   short textureIndices[3];
   };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1589797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589797</guid><dc:creator><![CDATA[bitte_um_hilfe]]></dc:creator><pubDate>Sun, 28 Sep 2008 18:00:26 GMT</pubDate></item><item><title><![CDATA[Reply to Model wird nicht richtig gelesen? on Sun, 28 Sep 2008 18:55:15 GMT]]></title><description><![CDATA[<p>Hm,...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589833</guid><dc:creator><![CDATA[bitte_um_hilfe]]></dc:creator><pubDate>Sun, 28 Sep 2008 18:55:15 GMT</pubDate></item><item><title><![CDATA[Reply to Model wird nicht richtig gelesen? on Sun, 28 Sep 2008 20:49:03 GMT]]></title><description><![CDATA[<p>Hab jetzt etwas Hilfe durch 'Shade Of Mine' erringen können, danke sehr!<br />
Jetzt gibt es noh ein Probelm und zwar kann er die 3 Elemente von<br />
'vertexIndices' nicht finden, bzw. möchte er auf Speicher zugrifen der im<br />
RAM nicht reserviert wurde, dass Problem ist, dass es normal ein Problem<br />
geben dürfte weil alles richtig deklariert wurde, siehe hier:</p>
<pre><code class="language-cpp">struct MD2_Triangle
   {
	   short vertexIndices[3];
	   short textureIndices[3];
   };
</code></pre>
<p>Ansonsten benutze ich diesen Teil nirgendswo, wesrum es eben keine Probleme<br />
geben dürfte, aber hier kann der Fehler ja nicht liegen, vielleicht hat ja<br />
noch einer ein guten Tipp o.Ä. ich danke vielmals im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589892</guid><dc:creator><![CDATA[bitte_um_hilfe]]></dc:creator><pubDate>Sun, 28 Sep 2008 20:49:03 GMT</pubDate></item></channel></rss>