https://wiki.delphigl.com/index.php?title=SDL_sample_texture&feed=atom&action=history
SDL sample texture - Versionsgeschichte
2024-03-28T23:51:54Z
Versionsgeschichte dieser Seite in DGL Wiki
MediaWiki 1.27.4
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=22921&oldid=prev
DGLBot: Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.
2009-03-10T18:10:06Z
<p>Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 10. März 2009, 18:10 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l11" >Zeile 11:</td>
<td colspan="2" class="diff-lineno">Zeile 11:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden darin befinden.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden darin befinden.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pascal>var</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><<ins class="diffchange diffchange-inline">source lang="</ins>pascal<ins class="diffchange diffchange-inline">"</ins>>var</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  tex_surface : PSDL_Surface;</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  tex_surface : PSDL_Surface;</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  texture : gluInt;</<del class="diffchange diffchange-inline">pascal</del>></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  texture : gluInt;</<ins class="diffchange diffchange-inline">source</ins>></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><pascal> tex_surface := IMG_Load('./gfx/mytexture.jpg');</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><<ins class="diffchange diffchange-inline">source lang="</ins>pascal<ins class="diffchange diffchange-inline">"</ins>> tex_surface := IMG_Load('./gfx/mytexture.jpg');</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  if assigned(tex_surface) then</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  if assigned(tex_surface) then</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  begin</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  begin</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l26" >Zeile 26:</td>
<td colspan="2" class="diff-lineno">Zeile 26:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   SDL_FreeSurface(tex_surface);</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   SDL_FreeSurface(tex_surface);</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  end;</<del class="diffchange diffchange-inline">pascal</del>></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  end;</<ins class="diffchange diffchange-inline">source</ins>></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Mehr ist nicht nötig um mit SDL eine Textur zu laden. Im Vergleich zu anderen Loadern ist dieser Weg sicherlich nicht komplexer, zumal es sich natürlich anbietet den hier vorgestellten Code-Fetzen in einer eigenen Funktion oder gar einem Textur-Manager zu kapseln.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Mehr ist nicht nötig um mit SDL eine Textur zu laden. Im Vergleich zu anderen Loadern ist dieser Weg sicherlich nicht komplexer, zumal es sich natürlich anbietet den hier vorgestellten Code-Fetzen in einer eigenen Funktion oder gar einem Textur-Manager zu kapseln.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
DGLBot
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=20672&oldid=prev
I0n0s: /* Beispiel */ Pascaltags
2007-08-04T06:53:30Z
<p><span dir="auto"><span class="autocomment">Beispiel: </span> Pascaltags</span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 4. August 2007, 06:53 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l11" >Zeile 11:</td>
<td colspan="2" class="diff-lineno">Zeile 11:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden darin befinden.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden darin befinden.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> '''</del>var<del class="diffchange diffchange-inline">'''</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"><pascal></ins>var</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">  </del>tex_surface : PSDL_Surface;</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins>tex_surface : PSDL_Surface;</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">  </del>texture : gluInt;</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"> </ins>texture : gluInt;<ins class="diffchange diffchange-inline"></pascal></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> </del>tex_surface := IMG_Load('./gfx/mytexture.jpg');</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline"><pascal> </ins>tex_surface := IMG_Load('./gfx/mytexture.jpg');</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  if assigned(tex_surface) then</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  if assigned(tex_surface) then</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  begin</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  begin</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l26" >Zeile 26:</td>
<td colspan="2" class="diff-lineno">Zeile 26:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   SDL_FreeSurface(tex_surface);</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   SDL_FreeSurface(tex_surface);</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  end;</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  end;<ins class="diffchange diffchange-inline"></pascal></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Mehr ist nicht nötig um mit SDL eine Textur zu laden. Im Vergleich zu anderen Loadern ist dieser Weg sicherlich nicht komplexer, zumal es sich natürlich anbietet den hier vorgestellten Code-Fetzen in einer eigenen Funktion oder gar einem Textur-Manager zu kapseln.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Mehr ist nicht nötig um mit SDL eine Textur zu laden. Im Vergleich zu anderen Loadern ist dieser Weg sicherlich nicht komplexer, zumal es sich natürlich anbietet den hier vorgestellten Code-Fetzen in einer eigenen Funktion oder gar einem Textur-Manager zu kapseln.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
I0n0s
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=12454&oldid=prev
84.174.38.25: /* Hinweise */
2005-07-28T10:26:08Z
<p><span dir="auto"><span class="autocomment">Hinweise</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 28. Juli 2005, 10:26 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l31" >Zeile 31:</td>
<td colspan="2" class="diff-lineno">Zeile 31:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Hinweise ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Hinweise ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. SDL_Image lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. SDL_Image lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Desweiteren ist z.B. bei TGA zu beachten, dass  [[glTexImage2D]] den Paramater ''GL_BGR'' oder ''GL_BGRA'' übergeben werden muss, damit Rot und Blau nicht vertauscht sind.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Auch wird es anfangs eventuell verwundern, dass SDL_Image scheinbar die Texturen auf dem Kopf speichert. Um SDL_Image dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Auch wird es anfangs eventuell verwundern, dass SDL_Image scheinbar die Texturen auf dem Kopf speichert. Um SDL_Image dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div></td></tr>
</table>
84.174.38.25
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=8877&oldid=prev
84.174.38.25: /* Allgemein */
2005-07-28T10:21:54Z
<p><span dir="auto"><span class="autocomment">Allgemein</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 28. Juli 2005, 10:21 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>= Laden einer Texture mit SDL =</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>= Laden einer Texture mit SDL =</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Allgemein ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Allgemein ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Einer der wohl interessantesten Fähigkeiten von [[SDL]] ist wohl die Tatsache, dass man [[SDL]] als Textur-Loader einsetzen kann. Gerade dann, wenn sowieso mit dem Gedanken gespielt wird sowohl für Windows als auch für Linux zu entwickeln, sollte man <del class="diffchange diffchange-inline">[[SDL]] </del>durchaus als Loader für die Texturen in betracht ziehen.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Einer der wohl interessantesten Fähigkeiten von [[SDL]] ist wohl die Tatsache, dass man [[SDL]<ins class="diffchange diffchange-inline">] mit Hilfe von [http://www.libsdl.org/projects/SDL_image/ SDL_Image</ins>] als Textur-Loader einsetzen kann. Gerade dann, wenn sowieso mit dem Gedanken gespielt wird sowohl für Windows als auch für Linux zu entwickeln, sollte man <ins class="diffchange diffchange-inline">SDL_Image </ins>durchaus als Loader für die Texturen in betracht ziehen.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Beispiel ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Beispiel ==</div></td></tr>
</table>
84.174.38.25
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=8876&oldid=prev
134.176.5.36: /* Hinweise */
2005-07-27T10:45:13Z
<p><span dir="auto"><span class="autocomment">Hinweise</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 27. Juli 2005, 10:45 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l31" >Zeile 31:</td>
<td colspan="2" class="diff-lineno">Zeile 31:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Hinweise ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Hinweise ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. SDL_Image lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. SDL_Image lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Auch wird es anfangs eventuell verwundern, dass <del class="diffchange diffchange-inline">SDL </del>scheinbar die Texturen auf dem Kopf speichert. Um SDL_Image dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Auch wird es anfangs eventuell verwundern, dass <ins class="diffchange diffchange-inline">SDL_Image </ins>scheinbar die Texturen auf dem Kopf speichert. Um SDL_Image dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div></td></tr>
</table>
134.176.5.36
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=8870&oldid=prev
134.176.5.36: /* Hinweise */
2005-07-27T10:44:50Z
<p><span dir="auto"><span class="autocomment">Hinweise</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 27. Juli 2005, 10:44 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l30" >Zeile 30:</td>
<td colspan="2" class="diff-lineno">Zeile 30:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Hinweise ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Hinweise ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. <del class="diffchange diffchange-inline">[[SDL]] </del>lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. <ins class="diffchange diffchange-inline">SDL_Image </ins>lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Auch wird es anfangs eventuell verwundern, dass SDL scheinbar die Texturen auf dem Kopf speichert. Um <del class="diffchange diffchange-inline">[[SDL]] </del>dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Auch wird es anfangs eventuell verwundern, dass SDL scheinbar die Texturen auf dem Kopf speichert. Um <ins class="diffchange diffchange-inline">SDL_Image </ins>dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div></td></tr>
</table>
134.176.5.36
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=8869&oldid=prev
134.176.5.36: /* Beispiel */
2005-07-20T10:24:07Z
<p><span dir="auto"><span class="autocomment">Beispiel</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 20. Juli 2005, 10:24 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Zeile 17:</td>
<td colspan="2" class="diff-lineno">Zeile 17:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>  <del class="diffchange diffchange-inline">tex </del>:= IMG_Load('./gfx/mytexture.jpg');</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>  <ins class="diffchange diffchange-inline">tex_surface </ins>:= IMG_Load('./gfx/mytexture.jpg');</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  if assigned(tex_surface) then</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  if assigned(tex_surface) then</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  begin</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  begin</div></td></tr>
</table>
134.176.5.36
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=8853&oldid=prev
2005-03-16T11:50:58Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 16. März 2005, 11:50 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">{{Unvollständig}}</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>= Laden einer Texture mit SDL =</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>= Laden einer Texture mit SDL =</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Allgemein ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Allgemein ==</div></td></tr>
</table>
134.109.4.201
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=4596&oldid=prev
134.109.4.201: /* Beispiel */
2005-03-16T11:49:40Z
<p><span dir="auto"><span class="autocomment">Beispiel</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='de'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Nächstältere Version</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Version vom 16. März 2005, 11:49 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l10" >Zeile 10:</td>
<td colspan="2" class="diff-lineno">Zeile 10:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* SDL_Image.pas</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* SDL_Image.pas</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden <del class="diffchange diffchange-inline">darinne </del>befinden.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden <ins class="diffchange diffchange-inline">darin </ins>befinden.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  '''var'''</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>  '''var'''</div></td></tr>
</table>
134.109.4.201
https://wiki.delphigl.com/index.php?title=SDL_sample_texture&diff=4595&oldid=prev
Phobeus: Erstes Beispiel
2004-09-29T19:20:31Z
<p>Erstes Beispiel</p>
<p><b>Neue Seite</b></p><div>{{Unvollständig}}<br />
= Laden einer Texture mit SDL =<br />
== Allgemein ==<br />
Einer der wohl interessantesten Fähigkeiten von [[SDL]] ist wohl die Tatsache, dass man [[SDL]] als Textur-Loader einsetzen kann. Gerade dann, wenn sowieso mit dem Gedanken gespielt wird sowohl für Windows als auch für Linux zu entwickeln, sollte man [[SDL]] durchaus als Loader für die Texturen in betracht ziehen.<br />
<br />
== Beispiel ==<br />
Folgende Units müssen eingebunden sein, damit dieses Beispiel funktioniert:<br />
* bevorzugte OpenGL-Header<br />
* SDL.pas<br />
* SDL_Image.pas<br />
<br />
Neben den gewohnten Namen unter dem wir die Textur nach erfolgreichen Laden verwenden können, benötigen wir zudem noch einen Zeiger auf eine SDL-Surface. Diese wird normalerweise verwendet um mit SDL in 2D zu zeichnen. Uns interessiert hierbei allerdings die Surface selbst nicht, sondern nur die Daten, die sich nach dem Laden darinne befinden.<br />
<br />
'''var'''<br />
tex_surface : PSDL_Surface;<br />
texture : gluInt;<br />
<br />
Der nächste Schritt sollte eigentlich jedem bekannt sein, der bereits eine Textur in OpenGL geladen hat. Zunächst erfolgt das Laden der Textur mittels der SDL-Funktion. Die Funktion ''IMG_Load'' wird automatisch erkennen um welches Dateiformat es sich handelt und sofern möglich diese Daten auf die Surface befördern. Diese beinhaltet dann alle relevanten Informationen, die wir brauchen um die Daten an OpenGL zu übergeben. Nachdem dies geschehen ist, sollten die Ressourcen, die von der Surface verwendet werden, wieder freigegeben werden.<br />
<br />
tex := IMG_Load('./gfx/mytexture.jpg');<br />
if assigned(tex_surface) then<br />
begin<br />
glGenTextures(1, @texture);<br />
glBindTexture(GL_TEXTURE_2D, texture);<br />
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, tex_surface^.w, tex_surface^.h,0, GL_RGB, GL_UNSIGNED_BYTE, tex_surface^.pixels);<br />
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);<br />
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);<br />
SDL_FreeSurface(tex_surface);<br />
end;<br />
Mehr ist nicht nötig um mit SDL eine Textur zu laden. Im Vergleich zu anderen Loadern ist dieser Weg sicherlich nicht komplexer, zumal es sich natürlich anbietet den hier vorgestellten Code-Fetzen in einer eigenen Funktion oder gar einem Textur-Manager zu kapseln.<br />
<br />
== Hinweise ==<br />
Beachtet, dass auch Bildformate mit Alpha Kanal unterstützt werden. [[SDL]] lädt diesen automatisch mit und übergibt diesen auch an OpenGL. Sollte dieser also mitgenutzt werden, vergesst bitte nicht an [[glTexImage2D]] den Paramter ''GL_RGBA'' statt ''GL_RGB'' zu übergeben.<br />
Auch wird es anfangs eventuell verwundern, dass SDL scheinbar die Texturen auf dem Kopf speichert. Um [[SDL]] dieses Verhalten abzugewöhnen nutzt eine manipulierte Texture-Matrix oder speichert die Texturen mit einem Bildverarbeitungsprogramm gleich über Kopf.</div>
Phobeus