Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Nov 21, 2024 15:05

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: glBitmap
BeitragVerfasst: Mo Apr 28, 2008 09:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Die glBitmap wird in Zukunft von der DGL-Community erweitert und gepflegt. Für diese Zwecke wurde ein entsprechendes git-Repository angelegt
Code:

Die aktuelle Version kann aber auch jederzeit über folgende Links bezogen werden:
Latest Stable (v3.1.2)
Latest Unstable

Wer bei der Entwicklung mitwirken möchte kann sich einen entsprechenen Zugang mit Schreibrechten auf das Repo freischalten lassen. Beim Arbeiten mit dem Repo gelten folgende Regeln:
  • Es gibt einen master-Branch in dem jeweils das neuste Release liegt.
  • Parallel dazu gibt es einen unstable-Branch in dem die aktuellen Arbeiten vorgenommen werden. In diesen Branch sollten aber trotzdem nur kompilierbare und funktionierende Stände eingecheckt werden.
  • Es ist jedem freigestellt für seine Zwecke weitere Branches anzulegen. Diese werden dann in den unstable-Branch gemergt, wenn die Arbeiten daran abgeschlossen sind.
  • Wenn der unstable Branch ausreichend getestet wurde, wird der master-Branch nachgezogen (fast-forward) und ein Tag mit der Version auf das entsprechende Commit gelegt.
______________
edit by Horazont and Bergmann89

Ich möchte dann jetzt hier mal mein neues Projekt vorstellen. Der Ein oder Andere wird wohl nicht mehr so recht daran geglaubt haben. Wenn ich ehrlich bin war ich selbst auch ein wenig skeptisch. Aber so wie es scheint habe ich eine Version der glBitmap verbrochen, die sich mit FreePascal übersetzen lässt und neben SDL, SDL_image, TBitmap (Delphi) auch noch ein paar andere Bibliotheken unterstützt.

Folgende externe Bibliotheken werden unterstützt. Sie sind alle optional. Es lässt sich also auch komplett ohne externe Bibliotheken arbeiten. Dann werden aber nicht alle Formate unterstützt. Außerdem können nicht alle Bibliotheken gleichzeit aktiviert werden. Dann werden die Bibliotheken vereinzelt deaktiviert.
- SDL_image. JPEG und PNG lesen (unterdrückt alle anderen Bibliotheken)
- libPNG. PNG lesen und schreiben
- libJPEG. JPEG lesen und schreiben
- pngimage (Delphi only). PNG lesen und schreiben (unterdrückt die libPNG)
- TJPEGImage (Delphi only). JPEG lesen und schreiben (unterdrückt die libJPEG)

Was hat sich noch verändert.
- Viele Viele Umstrukturierungen. Aber nur intern. An der Schnittstelle nach außen hat sich nichts verändert.
- BMP, TGA und DDS werden von der glBitmap selbst gelesen (DDS und TGA ja vorher schon). Dazu wird nur ein TStream benötigt. Bei DDS werden aber immer noch keine MipMaps, CubeMaps unterstützt.
- TBitmap (Delphi) und SDL_surface werden optional unterstützt. Beide auch gleichzeitig. (Lazarus TBitmap ließe sich bei entsprechendem Bedarf sicher noch nachlegen)
- Die Funktionen zum Speichern oder zuweisen auf ein TBitmap verlangen jetzt nicht mehr BGR(A) sondern führen im Zweifel selbst eine Instantkonvertierung von RGB(A)8 nach BGR(A)8 durch. Das betrifft aber auch nur RGB(A)8 zu BGR(A)8. Exotische Formate liefern weiterhin eine Exception.
- Die unbenutze Tiefe bei einigen Funktionen wurde entfernt. Da bisher nie jemand nach 3D Texturen geschriehen hat werde ich die wohl auch nicht einbauen.
- Es gibt jetzt explizit die Möglichkeit mit der Methode FreeData die Bilddaten zu löschen.
- Kleiner Bugfix mit R5G6B5 Texturen. Bei denen ATI anscheinend im neusten Treiber ein wenig die Unterstützung gekürzt hat.


Hinweis zur Benutzung.
Es sind per Default keine Bibliotheken aktiv. Um also JPEGs oder PNGs laden zu können muss man die glBitmap also erst einmal konfigurieren. Dies betrifft auch die Unterstützung von TBitmap und SDL_surface. Aber die glBitmap wird euch dort dezent darauf hinweisen. Auch falls eine andere Bibliothek automatisch deaktiviert (unterdrückt) wird. Also hört auf eure Kompilermeldungen!! Das wird Verwirrungen vermeiden.

Um die Bibliotheken libPNG und libJPEG benutzen zu können benötigt ihr entsprechende Header die ich geschrieben habe. Diese könnt ihr im Downloadverzeichnis der Header finden. Die in der glBitmap angegebenen Seiten existieren noch nicht. Das werde ich aber in den nächsten Tagen ändern. Für Windows werden außerdem noch zusätzliche DLLs benötigt. Diese könnt ihr auf GnuWin32 unter Packages finden. Für libPNG wird auch noch die zLib.dll benötigt. In Linux die bereits alle von Hause aus an Board.

Downloadverzeichnis in der die aktuellen Version 2.0.0 BETA gefunden werden kann. Verlinke ich nicht direkt, da sie nicht ewig Beta bleiben wird.

Auf Grund der zahlreichen und weitreichenden Veränderungen hat die glBitmap noch BETA Status, da ich gestehen muss selber nicht mehr genau weiß was ich alles geändert habe und auch nicht mit Gewissheit sagen kann ob das alles so funktioniert wie es sollte. Deswegen mit Vorsicht benutzen und im Falle von Unklarheiten etc. bitte im Meinungthread nachfragen. Anregungen, Kritik, Wünsche etc. Sind natürlich auch gerne Willkommen.

PS: Ich hoffe es findet gefallen und vielleicht kann es jemand gebrauchen. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 24, 2008 16:59 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Bisher gab es keine ernsthafte Probleme deswegen habe ich vorhin die Version 2.0.0 freigegeben. Da alles Nennenswerte bereits in dem Post darüber erwähnt wurde kommen hier nur noch die Änderungen zur Beta version.

- In der Beta war das Define GLB_NO_NATIVE_GL noch aktiv. Das ist jetzt wie es vorher war von hause aus deaktiviert. Damit wird dann wieder der interne Header benutzt.
- Die TextureID kann jetzt auch von außen gesetzt werden.
- Lazarus hatte ein Problem mit Kommentaren in Kommentaren
- Die Funktion clone ist jetzt etwas sicherer und kopiert die Bilddaten nur wenn sie auch existieren.

Der Download ist jetzt auch auf der Projektseite der glBitmap zu finden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Version 2.0.1
BeitragVerfasst: Di Mai 27, 2008 19:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Habe gerade die Version 2.0.1 auf meine Webseite geladen.

McWurscht hatte einen Fehler entdeckt der bei komprimierten TGAs dazu führte, dass die Farben einiger Pixel falsch waren. Das lag an dem von mir verwendeten Cache der bei einigen Pixeln einzelne Byte doppelt geschrieben hatte. Was natürlich nicht richtig ist.

Außerdem habe ich gerade die Chance ergriffen und das Laden von komprimierten TGAs massiv beschleunigt. Es benötigte in meinen Test jetzt nur noch maximal das Doppelte von dem was ein unkomprimiertes zum Laden benötigt.

Der Download ist auf der Projektseite der glBitmap zu finden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: glBitmap Version 2.0.2
BeitragVerfasst: So Aug 10, 2008 20:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich bin gerade mal faul und poste hier die News die ich so auch auf meiner Seite gepostet habe. Sollte eigentlich alles Wichtige sagen. ;)

Bei den Umstellungen der glBitmap.pas zur Version 2.0 haben sich intern Bezeichner verändert. Der Name dieser Bezeichner war leider deckungsgleich zu einem Parameter und somit wurde auf den falschen Wert zugegriffen. Dies konnte bei verschiedenen Methoden der Fall sein. Ich empfehle daher jedem Benutzer, der Version 2.0.0 oder 2.0.1, auf die Version 2.0.2 oder höher upzudaten.

Auf Wunsch habe ich der Basisklasse ein paar zusätzliche Eigenschaften spendiert. Die Eigenschaft Filename wird beim Laden einer Datei gesetzt und enthält den Namen dieser. Die Eigenschaften CustomName und CustomNameW können frei gesetzt werden und haben Platz für einen String oder einen WideString. Zusätzlich dazu kann die Eigenschaft CustomDataPointer einen Pointer aufnehmen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: glBitmap Version 2.0.3
BeitragVerfasst: So Mär 21, 2010 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich hatte mich am Wochenende mal hingesetzt und einige Anpassungen an der glBitmap durchgeführt. Diese betreffen in erster Linie Probleme mit Delphi 2009 und neuer. Ich hatte vor einer Weile schon mal Anpassungen durchgeführt. Aber irgendwie lagen die dann rum und sind in Vergessenheit geraten. Obendrein wurde ein Fehler behoben den Wilson gefunden hatte. Dabei konnte es passieren, dass die Funktion GetPixel nicht funktioniert. Und das Define GLB_DELPHI überprüft nun nicht mehr ob ein Delphi vorhanden ist. Neuere Delphis müssten so immer wieder nachgepflegt werden und wenn der Entwickler meint er müsse die Unit anlügen, dann wird ihm der Kompiler eines Besseren belehren.

Außerdem wurden ein paar Anpassungen an den Headern für die libJPEG und für die libPNG durchgeführt. Eigentlich auch nur im Zuge für Delphi 2009+. Die sollten jetzt auch funktionieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Mi Nov 20, 2013 17:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

der aufmerksame Leser wird es bereits bemerkt haben: die glBitmap ist - nach Rücksprache mit Lossy - mehr oder weniger in die Händen der Community übergegangen. Zur Verwaltung des Ganzen haben wir ein git-Repository angelegt, wo der aktuelle Stand der Entwicklung abgeholt werden kann. Es wird so sein, das jeder (egal ob DGL Mitglied oder nicht) den Code vom Repository abholen kann. Zur Zeit ist das noch nicht möglich, weil das alles erst noch konfiguriert werden muss. Diejenigen von euch die bei der Entwicklung helfen wollen, oder ein Feature in der glBitmap implementieren wollen, welches sie für sinnvoll erachten, können sich den Schreib-Zugang zum Repository freischalten lassen. Das ist jetzt schon möglich, also ran an den Speck! :)
Da ich das Ganze mit angekurbelt habe würde ich vorerst (und auch in Zukunft wenn ihr das wünscht) die Verwaltung übernehmen. Ich hab mir das so vorgestellt:
- Es gibt einen master-Branch in dem jeweils das neuste Release liegt.
- Parallel dazu gibt es einen unstable-Branch in dem die aktuellen Arbeiten vorgenommen werden. In diesen Branch sollten aber trotzdem nur kompilierbare Stände eingecheckt werden.
- Es ist jedem freigestellt für seine Zwecke einen weiteren Branch anzulegen. Dieser wird dann in den unstable-Branch gemergt, wenn es soweit ist.
- Wenn der unstable Branch ausreichend getestet wurde, wird der master-Branch nachgezogen (fast-forward) und ein Tag mit der Version auf das entsprechende Commit gelegt.
Soweit erstmal zu meinen Vorstellungen. Das ist natürlich nicht in Stein gemeißelt und kann jederzeit angepasst werden, wenn das gewünscht wird.

Natürlich hab ich auch schon ersten Änderungen / Erweiterungen zu präsentieren. Ich hab die komplette glBitmap refactort und etwas aufgebohrt. Nach außen sollte sich nicht alzu viel geändert haben. Hier ne grobe Liste was angepasst wurde:
- Unterstützung für so ziemlich alle TexturFormate eingeführt (passend dazu neue Struktur/Klasse für die TexturFormat-Infos)
- Überarbeitung der Dateiformat-Parser
- native OpenGL Support jetzt auch dynamisch linkbar (somit bessere Fehlerbehandlung möglich)
- Implementierung einiger neuer Features (ab OpenGL 2.0)
- entfernen von unnötigem oder altem Code

Da das pullen vom Repository noch nicht 100%tig eingerichtet ist gibt es den aktuellen Entwicklungsstand im Anhang. Die Version hab ich auch 3.0.0 hoch gedreht (vorher 2.0.x). Ich hab so ziemlich alles getestet, was man mit Lazarus, Linux und Windows testen kann. Nur für die Delphi Sachen bräuchte ich mal noch jmd der ein Auge drauf werfen kann. Ich hab's zwar schonmal durch den Delphi-Compiler gejagt, aber das war's auch schon...
Nun denn, ich bin gespannt wie sich das Projekt hier in der Community entwickelt :)

MfG Bergmann.


Dateianhänge:
glBitmap_3.0.0_unstable.zip [43.56 KiB]
1353-mal heruntergeladen

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Sa Nov 23, 2013 14:27 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

die Konfigurationen am git-Repository sind abgeschlossen. Ab jetzt kann jeder vom Repo abholen. Auch hier noch einmal Danke an Lord Horazont.
git clone git://git.delphigl.com/glBitmap.git

Ich hab die glBitmap auch noch einmal durch den Delphi XE5 Compiler (32bit und 64bit) gejagt und einige Fehler korrigiert. Ich hoffe, dass das bei XE2 jetzt auch geht.

Konnte mal bitte noch jmd mit den entsprechenden Rechten oder Lossy eX den ersten Post aktualisieren:
Code:
  1. Die glBitmap wird in Zukunft von der DGL-Community erweitert und gepflegt. Für diese Zwecke wurde ein entsprechendes git-Repository angelegt:
  2.  
  3. Wer bei der Entwicklung mitwirken möchte kann sich einen entsprechenen Zugang mit Schreibrechten auf das Repo freischalten lassen. Beim Arbeiten mit dem Repo gelten folgende Regeln:
  4. - Es gibt einen master-Branch in dem jeweils das neuste Release liegt.
  5. - Parallel dazu gibt es einen unstable-Branch in dem die aktuellen Arbeiten vorgenommen werden. In diesen Branch sollten aber trotzdem nur kompilierbare und funktionierende Stände eingecheckt werden.
  6. - Es ist jedem freigestellt für seine Zwecke weitere Branches anzulegen. Diese werden dann in den unstable-Branch gemergt, wenn die Arbeiten daran abgeschlossen sind.
  7. - Wenn der unstable Branch ausreichend getestet wurde, wird der master-Branch nachgezogen (fast-forward) und ein Tag mit der Version auf das entsprechende Commit gelegt.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Mo Dez 09, 2013 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

wie vor ein paar Tagen angekündigt gibts heut das offizielle Release der glBitmap v3.0.0. Erhältlich in diesem Post oder aus dem git-Repo. Der master-Branch ist ensprechend nachgezogen und das Commit wurde mit einem Tag versehen.

MfG Bergmann.


Dateianhänge:
glBitmap_v3.0.0.zip [44.55 KiB]
1564-mal heruntergeladen

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Sa Mai 03, 2014 18:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

ich hab mit heut mal erlaubt eine neue Version der glBitmap zu machen. Siet der letzten Version sind einige Fixes dazu gekommen was die Nutzbarkeit unter Delphi betrifft. Der ein oder andere Bugfix für Lazarus war auch mit dabei. Für die die's genau wissen wollen, hier der Changelog aus dem git Repo:
  • fixed some compiler hints in delphi 7
  • removed duplicated unit usage
  • better description for delphi support compiler flag
  • Format: implemented HasRed, HasGreen and HasBlue
  • fixed some compiler hints and warnings
  • load JPEG direct over TLazIntfImage and TReadJPEG instead of TJPEGImage
  • load PNG direct over TLazIntfImage and TLazReaderPNG instead of TPortableNetworkGraphic
  • fixed MemLeak in AssignFromLazIntfImage
  • pass TextureData as Argument in Constructor

Download gibts im ersten Post oder im git Repo

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Sa Dez 06, 2014 22:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

ich hab grad nen neuen Stand gepusht. Ich hab gestern bemerkt, das die Formate teilweise nicht stimmen. Geladen wurde zwar alles richtig (soweit ich das beurteilen kann) aber intern wurden die Farbkanäle mehrfach vertauscht. So wurde z.B. bei einer normalen 24bit-Bitmap BGR8 anstatt RGB8 als Format angezeigt. Gerendert wurde aber alles richtig. Um das Ganze etwas zu entwirren hab ich das mal aufgeräumt. Unter anderem sind ein paar neue Formate hinzugekommen: RGBA8, ARGB8, RGBX8, XRGB8, usw. Jetzt sollte jede sinnvolle Kombination aus den Farbkanälen mit dem entsprechenden Format gekennzeichnet und geladen werden.
Das Commit gibts im Repo. Vorerst aber noch im unstable Branch. Vlt hat ja mal jmd Zeit um mal kurz drüber zu gucken...

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Di Dez 09, 2014 22:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

ich hab nochmal Hand an die Änderungen von letztens gelegt. Es gab immer noch Unklarheiten was das Format betrifft. So konnte zum Beispiel RGBA8 als 4 x unsigned byte oder 1 unsigned int interpretiert werden. Das ist aber durch die Endianess genau umgedreht. Deshalb hat jedes Format jetzt noch eine Beschreibung was für Daten dahinter liegen, also RGBA8ub4 und RGBA8ui1. Damit sollten alle Klarheiten beseitigt sein :mrgreen:
Nebenbei hab ich auch noch die Format-Descriptor Klasse ein bischen aufgeräumt und ein RAW Dateiformat für die glBitmap implementiert, die einfach die vorhandenen Daten (mit einem entsprechenden Header) auf die Platte schiebt. Das hat den Vorteil das nich viel rumgerechnet werden muss man das Ganze schnell de-/serialisieren kann. Der Header sieht wie folgt aus:

Code:
  1. type
  2.   RawHeader = packed record
  3.     Magic:        String[5];          // 6 byte Magic (0x05 + 'glBMP')
  4.     Version:      Byte;               // file format version
  5.     Width:        Integer;            // image width
  6.     Height:       Integer;            // image height
  7.     DataSize:     Integer;            // number of data bytes after header
  8.     BitsPerPixel: Integer;            // bits per pixel
  9.     Precision:    TglBitmapRec4ub;    // precision for each channel
  10.     Shift:        TglBitmapRec4ub;    // bit shifting for each channel
  11.     // begin of data ...
  12.   end;

Unter Lazarus/FPC hab ich alles getestet. Mir fehlt eine Umgebung für Delphi, libPNG, libJPEG und SDL. Falls da mal jmd mit nachsehen könnte wäre das super.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Di Dez 16, 2014 18:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

kleines Update: passend zum niegel nagel neuen dglOpenGLES Header hat die glBitmap jetzt auch OpenGL ES Support. (diff)

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Mi Dez 17, 2014 22:15 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

ich hab grad eine Umfrage erstellt um Probleme und Wünsche der glBitmap auf zu decken. Ich würde mich freuen wenn ihr da mal kurz einen Blick rein werfen könntet.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: So Dez 21, 2014 20:21 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

die Umfrage läuft zwar erst kanpp 5 Tage, aber es ist eigentlich relative ersichtlich was noch fehlt, bzw was geändert werden muss. Zusammenfassung in ein paar Sätzen: Die Unit ist sehr unübersichtlich für diejenigen die noch nicht damit gearbeitet haben, es fehlen Beispiele bzw. eine Beschreibung der Funktionen. Das Ganze soll aber (wenn möglich) schon in einer Unit bleiben und nicht auf mehere verteilt sein. Support für Delphi/FPC/OpenGLES ist hier und da auch gewünscht, sollte also nicht komplett ignoriert werden. Seöbiges gilt für die einzelnen Dateiformate. Was eurer Meinung nach nicht genutzt wird, ist der native OpenGL Support, denn dafür gibt es ja den dglOpenGL Header.
Ich hab jetzt schonmal angefangen und versucht das entsprechend umzusetzen. Demzufolge hab ich eine entsprechende Dokumentation der Funktionen nachgepflegt, die sowohl in-code als auch als HTML Doku zur Verfügung steht (wurde mit pasdoc generiert). Weiterhin hab ich 3 einfache Beispiele in Lazarus/FPC implementert: Laden einer Textur aus einer Datei, speichern des aktuellen FrameBuffer Inhaltes in eine Datei, generieren einer Textur mit Hilfe einer festgelegten Funktion. An diesen 3 Beispielen sollte die arbeitsweiße der glBitmap eigentlich relativ deutlich dargestellt werden. Andere Funktionen arbeiten analog zu den dargestellten und müssen meiner Meinung nach nicht mit einem extra Beispiel versehen werden. Lässt sich aber auf Wunsch natürlich noch nachpflegen.
Soweit von mir. Ist die Doku und die Beispiele so ausreichend oder muss das noch mehr/ausführlicher sein?

Aktueller Stand der glBitmap
pasdoc Dokumentation
Beispiele


MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBitmap
BeitragVerfasst: Mi Dez 24, 2014 05:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

ich hab grad das Besprochene umgesetzt und die Textur-Daten von der Textur-Wrapper-Klasse getrennt. Es gibts jetzt also ein TglBitmapData und ein TglBitmapXXX. Doku und Beispiele sind entsprechend angepasst. So sieht das ganze jetzt aus:

Code:
  1. tex  := TglBitmap2D.Create;                             // create texture object
  2. data := TglBitmapData.Create;                           // create texture data object
  3. try
  4.   { background thread start }
  5.   data.LoadFromFile(                                    // load texture data from file
  6.     ExtractFilePath(ApplicationName) +
  7.     '../textures/BMP_24_RGB8.bmp');
  8.   if not data.FormatDescriptor.HasOpenGLSupport then    // check if format is supported by OpenGL
  9.     data.ConvertTo(data.FormatDescriptor.OpenGLFormat); // if not then convert
  10.   { background thread end }
  11.  
  12.   tex.UploadData(data);                                 // upload data to video card
  13. finally
  14.   FreeAndNil(data);                                     // after upload is done, the data object could be freed to save memory
  15. end;                                                    
  16. // do something with tex ...

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.015s | 17 Queries | GZIP : On ]