<?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[Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE]]></title><description><![CDATA[<p>hallo, ich beschaeftige mich gerade mit dem Tutorial von NeHE(deu) dort bin ich nun auf TextureMapping getroffen. ich habe folgendes problem. im tutorial wird das laden einer .bmp wie folgt beschrieben:</p>
<pre><code class="language-cpp">AUX_RGBImageRec *LoadBMP(char *Filename) // Lädt ein BMP
{
  FILE *File=NULL; // Das File Handle

  if (!Filename) 
  // Ist ein Dateiname übergeben worden?

  {
    return NULL; // offenbar nicht... Abbruch
  }

  File=fopen(Filename,&quot;r&quot;); 
  // Versuch die Datei zu öffnen
  if (File) // Existiert die Datei?
  {
    fclose(File); // Datei schließen
    return auxDIBImageLoad
(Filename); 
    // BMP laden und Zeiger (Pointer) zurückgeben, 
    // der auf die Bilddaten verweist
  }
  return NULL; // Laden hat nicht geklappt
}
int LoadGLTextures() // Bitmaps laden und konvertieren
{
  int Status=FALSE; 
  // Status ersteinmal auf FALSE setzen

  AUX_RGBImageRec *TextureImage[1]; 
  // Speicherplatz für die Textur schaffen
  memset(TextureImage,0,sizeof(void *)*1); 
  //Vorher sichergehen das dieser auch leer ist
if (TextureImage[0]=LoadBMP(&quot;Data/codeworx.bmp&quot;))
  // Bitmap laden
  {
    Status=TRUE; // hat geklappt
glGenTextures(1, &amp;texture[0]); // Textur wird erstellt

    glBindTexture(GL_TEXTURE_2D, texture[0]);
    //Es handelt sich um eine 2D Textur
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]-&gt;sizeX, 
                 TextureImage[0]-&gt;sizeY, 0, GL_RGB, 
                 GL_UNSIGNED_BYTE, TextureImage[0]-&gt;data);

if (TextureImage[0]) // Existiert TextureImage[0]?
  {
    if (TextureImage[0]-&gt;data) // enthält sie Bilddaten?
    {
      free(TextureImage[0]-&gt;data); 
      // wenn ja, dann diese Bilddaten löschen
    }
    free(TextureImage[0]); 
    // Und auch die Struktur an sich löschen.
  }
...
</code></pre>
<p>so folgendes problem stellt sich mir in den weg... der aufruf von &quot; return auxDIBImageLoad &quot;, scheiter bei mir, ich habe keine Ahnung wieso, denn ich habe die gl\glaux lib included, und ich denke mal bei BCB6 wird die doch dabeoi sein oder?... nunja da es denoch net ging habe ich mich im web nen bissel umgeschaut und ich habe gelesen das man ne .bmp logishcerweise auch mit LoadBitmap() holen kann, mein versuch sieht wie folgt aus:</p>
<pre><code class="language-cpp">GLvoid LoadTexture() {

    HBITMAP hBitmap = LoadBitmap( hInstance, MAKEINTRESOURCE( IDT_BITMAP_001 ) );

    glGenTextures( 1, hBitmap );
    glBindTexture( GL_TEXTURE_2D, hBitmap );
    glTexImage2D( GL_TEXTURE_2D, 0, 3, 128, 128, 0, GL_RGB, GL_UNSIGNED_BYTE,
                  hBitmap );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );

}
</code></pre>
<p>folgende Fehler:</p>
<pre><code>[C++ Error] Unit1.cpp(68): E2034 Cannot convert 'void *' to 'unsigned int *'
[C++ Error] Unit1.cpp(68): E2342 Type mismatch in parameter 'textures' (wanted 'unsigned int *', got 'void *')
[C++ Error] Unit1.cpp(69): E2034 Cannot convert 'void *' to 'unsigned int'
[C++ Error] Unit1.cpp(69): E2342 Type mismatch in parameter 'texture' (wanted 'unsigned int', got 'void *')
</code></pre>
<p>irgendwie ist die loadbitmap() fkt. nich kompatibel oder? glGenTextures() und glBindTexture() verlangen einen unsigned int wert aber HBITMAP liefert da nur nen void* zurück, habs mal mit casten probiert ging irgendwie net... könntet ihr mir helfen wies richtig gehrt????</p>
<p>danke...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156031/problem-mit-texturemapping-in-opengl-laden-der-bitmap-verwnden-bitteum-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 13:36:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156031.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Aug 2006 10:15:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 10:15:59 GMT]]></title><description><![CDATA[<p>hallo, ich beschaeftige mich gerade mit dem Tutorial von NeHE(deu) dort bin ich nun auf TextureMapping getroffen. ich habe folgendes problem. im tutorial wird das laden einer .bmp wie folgt beschrieben:</p>
<pre><code class="language-cpp">AUX_RGBImageRec *LoadBMP(char *Filename) // Lädt ein BMP
{
  FILE *File=NULL; // Das File Handle

  if (!Filename) 
  // Ist ein Dateiname übergeben worden?

  {
    return NULL; // offenbar nicht... Abbruch
  }

  File=fopen(Filename,&quot;r&quot;); 
  // Versuch die Datei zu öffnen
  if (File) // Existiert die Datei?
  {
    fclose(File); // Datei schließen
    return auxDIBImageLoad
(Filename); 
    // BMP laden und Zeiger (Pointer) zurückgeben, 
    // der auf die Bilddaten verweist
  }
  return NULL; // Laden hat nicht geklappt
}
int LoadGLTextures() // Bitmaps laden und konvertieren
{
  int Status=FALSE; 
  // Status ersteinmal auf FALSE setzen

  AUX_RGBImageRec *TextureImage[1]; 
  // Speicherplatz für die Textur schaffen
  memset(TextureImage,0,sizeof(void *)*1); 
  //Vorher sichergehen das dieser auch leer ist
if (TextureImage[0]=LoadBMP(&quot;Data/codeworx.bmp&quot;))
  // Bitmap laden
  {
    Status=TRUE; // hat geklappt
glGenTextures(1, &amp;texture[0]); // Textur wird erstellt

    glBindTexture(GL_TEXTURE_2D, texture[0]);
    //Es handelt sich um eine 2D Textur
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]-&gt;sizeX, 
                 TextureImage[0]-&gt;sizeY, 0, GL_RGB, 
                 GL_UNSIGNED_BYTE, TextureImage[0]-&gt;data);

if (TextureImage[0]) // Existiert TextureImage[0]?
  {
    if (TextureImage[0]-&gt;data) // enthält sie Bilddaten?
    {
      free(TextureImage[0]-&gt;data); 
      // wenn ja, dann diese Bilddaten löschen
    }
    free(TextureImage[0]); 
    // Und auch die Struktur an sich löschen.
  }
...
</code></pre>
<p>so folgendes problem stellt sich mir in den weg... der aufruf von &quot; return auxDIBImageLoad &quot;, scheiter bei mir, ich habe keine Ahnung wieso, denn ich habe die gl\glaux lib included, und ich denke mal bei BCB6 wird die doch dabeoi sein oder?... nunja da es denoch net ging habe ich mich im web nen bissel umgeschaut und ich habe gelesen das man ne .bmp logishcerweise auch mit LoadBitmap() holen kann, mein versuch sieht wie folgt aus:</p>
<pre><code class="language-cpp">GLvoid LoadTexture() {

    HBITMAP hBitmap = LoadBitmap( hInstance, MAKEINTRESOURCE( IDT_BITMAP_001 ) );

    glGenTextures( 1, hBitmap );
    glBindTexture( GL_TEXTURE_2D, hBitmap );
    glTexImage2D( GL_TEXTURE_2D, 0, 3, 128, 128, 0, GL_RGB, GL_UNSIGNED_BYTE,
                  hBitmap );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );

}
</code></pre>
<p>folgende Fehler:</p>
<pre><code>[C++ Error] Unit1.cpp(68): E2034 Cannot convert 'void *' to 'unsigned int *'
[C++ Error] Unit1.cpp(68): E2342 Type mismatch in parameter 'textures' (wanted 'unsigned int *', got 'void *')
[C++ Error] Unit1.cpp(69): E2034 Cannot convert 'void *' to 'unsigned int'
[C++ Error] Unit1.cpp(69): E2342 Type mismatch in parameter 'texture' (wanted 'unsigned int', got 'void *')
</code></pre>
<p>irgendwie ist die loadbitmap() fkt. nich kompatibel oder? glGenTextures() und glBindTexture() verlangen einen unsigned int wert aber HBITMAP liefert da nur nen void* zurück, habs mal mit casten probiert ging irgendwie net... könntet ihr mir helfen wies richtig gehrt????</p>
<p>danke...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115867</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 12 Aug 2006 10:15:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 11:11:38 GMT]]></title><description><![CDATA[<p>Da hilft kein Casten! Du musst schlichtweg den Funktionen <em>glBindTexture( )</em> und <em>glTexImage2D( )</em> als jeweils letzten Parameter das geben, was sie erwarten (...und mit <em>Sicherheit</em> kein HBITMAP ist). Guck in die gl-Dokumentation.</p>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115915</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:11:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 11:18:16 GMT]]></title><description><![CDATA[<p>das heisst also ich kann kein HBITMAP mit LoadBitmap() nutzen???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115920</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:18:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 11:37:23 GMT]]></title><description><![CDATA[<p>genau <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /><br />
auxDIBImageLoad liefert ein AUX_RGBImageRec*-Dingen zurück.<br />
LoadBitmap() ein HBITMAP.<br />
Das ist beides nicht kompatibel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
<pre><code class="language-cpp">typedef struct _AUX_RGBImageRec {
    GLint sizeX, sizeY;
    unsigned char *data;
} AUX_RGBImageRec;
</code></pre>
<p>Prinzipiell ist AUX_RGBImageRec ja scheinbar nur ne Struktur die befüllt werden müsste. Aber ich würde trotzdem lieber statt selber nachbauen versuchen glaux ans laufen zu kriegen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115933</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:37:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 11:41:43 GMT]]></title><description><![CDATA[<p>bzw. knn ich es so machen... es wird jedenfalls kein fehler angezeigt.</p>
<pre><code class="language-cpp">GLvoid LoadTexture() {

GLuint texture;

    texture = (unsigned int)  LoadBitmap( hInstance, MAKEINTRESOURCE( IDT_BITMAP_001 ) );

    glGenTextures( 1, &amp;texture );
    glBindTexture( GL_TEXTURE_2D, texture );
    glTexImage2D( GL_TEXTURE_2D, 0, 3, 128, 128, 0, GL_RGB, GL_UNSIGNED_BYTE,
                  &amp;texture );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1115936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115936</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 11:48:03 GMT]]></title><description><![CDATA[<p>Ich wäre verwundert wenn es funktioniert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
LoadBitmap() gibt nur ein Handle zurück, keine konkreten Bilddaten...</p>
<p>btw. ich würde mich von nem mod ins &quot;Spiele-/Grafikprogrammierung&quot;-Board schieben lassen, da lungern die OpenGL und DirectX Spezis <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115943</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 12 Aug 2006 11:48:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 12:04:35 GMT]]></title><description><![CDATA[<p>hehe jo wer net wenn des wer taette gg.... aba kannsu mir net mal nen bsp. schnippsel posten wie du des machen wuerdest?? ich habe ne .rc datei noch eingebunden mit IDT_BITMAP_001 BITMAP &quot;bitmap1.bmp&quot; ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115957</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 12 Aug 2006 12:04:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 12:14:33 GMT]]></title><description><![CDATA[<p>wenn ich des nach art von NeHe machen bekomm ich immer nen fehler:</p>
<pre><code class="language-cpp">[Linker Error] Unresolved external 'auxDIBImageLoadA' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ
</code></pre>
<p>was mach ich nun???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115961</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 12 Aug 2006 12:14:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit TextureMapping in OpenGL (! Laden der Bitmap + Verwnden), Bitteum HILFE on Sat, 12 Aug 2006 12:26:37 GMT]]></title><description><![CDATA[<p>Hast du die <em>&lt;gl/glaux.h&gt;</em> eingebunden und gegen die <em>glaux.lib</em> gelinkt?</p>
<p>BTW:</p>
<p><a href="http://members.cox.net/scottheiman/opengl.htm" rel="nofollow">http://members.cox.net/scottheiman/opengl.htm</a> schrieb:</p>
<blockquote>
<p><em><strong>GLAUX</strong></em></p>
<p>I have never used GLAUX so please do not send me any questions about it.</p>
<p>The OpenGL libraries contain a set of auxiliary windows functions defined in glaux.h that allow you to write OpenGL applications that will compile, link, and run on both a PC and a SGI workstation. Unfortunately, the GLAUX.LIB file that comes with Borland C++ 5.0x will not link with your application.</p>
<p>I have seen two remedies posted in the Borland and OpenGL newsgroups.</p>
<ol>
<li>
<p>The GLAUX.LIB source is contained in MS's Win32 SDK (actually, it's the Multimedia Extensions SDK). If this is true then you should be able build a Borland compatible version from it. <a href="http://www.gate.net/~rpraver/" rel="nofollow">Ronald Praver</a> has created a Borland compatible GLAUX.LIB file that you can download from his web site. I assume that he used the SDK source to build the library.</p>
</li>
<li>
<p>Use the glaux.lib that came with BC++ 4.5. I have never tried this so I can't say that it WILL work.</p>
</li>
</ol>
<p>GLAUX has known memory leaks and should not be used for application development. The only reason for listing Mr. Praver's web site is because some tutorials on the Internet use GLAUX functions, particularly, the auxRGBImageLoad and auxDIBImageLoad functions. I strongly suggest that you do not use these functions for applications that you develop. There are several libraries on the Internet that you can use to load images into OpenGL. Several can be found on <a href="http://www.sourceforge.net" rel="nofollow">www.sourceforge.net</a>. My <a href="http://members.cox.net/scottheiman/bmglib.htm" rel="nofollow">BMGLib</a> library can be used as well.</p>
</blockquote>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115964</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 12 Aug 2006 12:26:37 GMT</pubDate></item></channel></rss>