AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MultipleTexture Loader

Ein Thema von EWeiss · begonnen am 17. Okt 2010 · letzter Beitrag vom 3. Nov 2010
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: MultipleTexture Loader

  Alt 22. Okt 2010, 12:16
Hier noch ein anderer EQ (Spectrum)
Das Spectrum kann beliebig anhand von Paletten geändert werden.
Für die Leute die es interessiert.

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: MultipleTexture Loader

  Alt 1. Nov 2010, 12:17
Hab noch eine änderung vorgenommen so ist man unabhängig vom array MultibleTex
Einfach ein beliebiges Array mit übergeben das wars dann.
Ist besser wenn man mehrere Scenen hat.

Delphi-Quellcode:
procedure MakeMultipleTexture(N: integer; var MTexture: array of TMmtTex);
var
  mtCount : integer;
  K : integer;
  nRet : TGLenum;
  OkDelete : Bool;

begin
  mtCount := high(MTexture) - low(MTexture) + 1;
  OkDelete := False;

  // Array Redimensionieren
  SetLength(Texture, mtCount);
  if mtCount > 0 then
  begin
    for K := 0 to (mtCount - 1) do
    begin
      Texture[K] := MTexture[k].Texture;
      if Texture[K] <> 0 then
        OkDelete := True;
    end;

    // befinden sich Texturen im Array dann löschen
    if OkDelete then
    begin
      glDeleteTextures(mtCount, @Texture[1]);
      glGenTextures(mtCount, @Texture[1]);
    end;

    nRet := glGetError;
    // Überprüfung ob ein OpenGL Fehler aufgetreten ist
    if nRet = 0 then
    begin
      // alles OK Aktuelle Texture laden
      // und ins OpenGl Format konvertieren
      for K := 0 to (mtCount - 1) do
      begin
        SetLength(mPixelArray, 0);

        if CreateGLTextureFromFile(MTexture[K].FullName,
          xSize, ySize, MTexture[K].Square, K) then
        begin
          MTexture[k].Texture := Texture[K];
          glBindTexture(GL_TEXTURE_2D, Texture[K]);
          nRet := glGetError;
          if nRet = 0 then
          begin
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
            glTexImage2D(GL_TEXTURE_2D, 0, 4, xSize, ySize,
              0, GL_RGBA, GL_UNSIGNED_BYTE, @mPixelArray[0]);
          end;
        end;
      end;
    end;
  end;
end;
EDIT:Hab noch ein paar Sterne hinzugefügt
Und ein neues Modul erstellt.

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: MultipleTexture Loader

  Alt 2. Nov 2010, 13:33
Waren noch ein paar kleine unstimmigkeiten drin.
Sind jetzt beseitigt.

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz