Autor Beitrag
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 06.06.05 14:59 
ich kenn die ursache nicht, eine wäre opengl generell (dglopengl32.pas) die andere wäre gr32.pas und oder die glbitmap.pas, woanders kanns net liegen :roll:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 06.06.05 15:02 
Also ich denke, so was sollte ohne OpenGÖl oder so was auskommen. :roll:
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 06.06.05 15:03 
zb wie ? OpenÖl 8)
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mo 06.06.05 15:45 
Also bei mir lief das Programm.

@Fear: Deine Renderschleife ist ein wenig unoptimal. Solche eine Anwendung sollte auf keinen Fall 100% der CPU in Anspruch nehmen. Es genügt, wenn du die Fläche immer dann neu zeichnest sobald sie neu gezeichnet werden muss. Also Repaint, eine Textur oder die Ansicht ändert sich. Speziell Notebook Besitzer werden es dir danken.

@Suckerbrot: Was besitzt du denn für eine Grafikkarte? Hast du neue oder die vorhandenen Texturen genommen? Ich befürchte dass aus ungeklärtem Grund die Texturen nicht richtig geladen werden konnten und sie deswegen weiß geblieben sind. Und dann ähnelt das Bild der ostfriesischen Staatsflacke. Weißer Adler auf weißem Grund! ;-)

Falls du die vorhandenen Texturen benutzt hast, dann bitte mal das glInfo ziehen, starten und bei "Reports" -> "Save Report" und die Datei mal posten. Danke.

Solltest du eigene Texturen verwendet haben so kannst du abhilfe schaffen in dem du darauf achtest, dass die Texturgröße eine Potenz von zwei ist oder Fear es einbaut, dass nur 2^n zugelassen werdeb oder die Bilder automatisch angepasst werden. Also Texturen mit verschnitt. Auf das nur ein Ausschnitt verwedet wird.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 06.06.05 15:48 
user profile iconLossy eX hat folgendes geschrieben:
Also bei mir lief das Programm.

@Fear: Deine Renderschleife ist ein wenig unoptimal. Solche eine Anwendung sollte auf keinen Fall 100% der CPU in Anspruch nehmen. Es genügt, wenn du die Fläche immer dann neu zeichnest sobald sie neu gezeichnet werden muss. Also Repaint, eine Textur oder die Ansicht ändert sich. Speziell Notebook Besitzer werden es dir danken.


aber das onidle kann ich nicht weglassen ? muss ich beim verschieben des formulars auch neu zeichnen oder wenn es von einem anderen überdeckt wurde etc, versteh nich ganz wie du das meinst, gib mal ein beispiel :?
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mo 06.06.05 16:04 
Also das mit OpenGL rendern kannst du dir wie mit GDI zeichen vorstellen. Du malst etwas auf ein Fenster und es bleibt so lange da bis es neu gezeichnet werden muss.

Ich denke mal dein Renderbereich ist ein Panel? Wenn nicht, dann sollte es eines werden. Dast TPanel unterstützt leider nicht alles notwendige. Aber ich habe da mal etwas vorbereitet. Das Package installierst du und trägst es zu den Suchpfaden in Delphi ein. Dann kannst du es auf deinem Form platzieren.

Zum Initiallisieren von OpenGL verwendest du nun das Handle des Panels und alles weiter wie bisher. Das Application.OnIdle kannst du komplett vergessen. Dafür trägst du aber das Renden in das event OnRepaint des so eben instalierten Panels ein. Wenn du nun eine neue Textur geladen hast rufst du Repaint oder Refresh des Panels auf.

Wenn ein Fenster das Panel verdeckt und es wieder sichtbar wird so sollte es sich von alleine neu zeichnen. Das Panel unterstützt es außerdem noch, dass es einen Focus bekommen kann und es kann die Pfeiltasten verarbeiten. Dann kannst du deine Ansicht auch mit den Cursortasten verändern.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 06.06.05 16:06 
habe n panel als handle :)
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mo 06.06.05 16:18 
Gut. Brauchs aber dennoch eine Ableitung von dem TPanel, da es leider kein OnPaint bietet. Und somit kannst du nicht drauf reagieren.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 06.06.05 16:22 
ok zip datei um 1kb geschrumpft und Lossy Ex' Vorschlag implementiert :wink:
Suckerbrot
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 07.06.05 15:29 
So hier ist sie.
Achja: Ich habe eine NVIDIA Geforce FX 5200 mit 128MB RAM.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 07.06.05 16:14 
user profile iconSuckerbrot hat folgendes geschrieben:
So hier ist sie.


wer oder was ist sie ???
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Di 07.06.05 16:18 
Ich frage mich gerade warum ich mir eigentlich immer wieder die Finger wund schreibe. Wahrscheinlich weil ich immer noch dem Trugschluss unterlegen bin, dass Menschen mit Problemen tatsächlich Hilfe haben wollen...

Verzeiht den Offtopicsarkasmus.

@suckerbrot: Selbe Frage wie oben. Hattest du die originalen Texturen verwendet?
[ ] Ja
[ ] Nein
[ ] Vielleicht

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
Suckerbrot
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 07.06.05 17:23 
Ich entschuldige mich sehr.
looooooooool!
Ich schreib hier was und muss natürlich den Anhang vergessen.
Naja hier ist der Report:
Einloggen, um Attachments anzusehen!
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mi 08.06.05 08:36 
Ja Danke. Deine Karte unterstützt keine "non power of two" Texturen. Sprich die Größe deiner Texturen (Höhe, Breite) muss eine Potenz von 2 sein. 1, 2, 4, 8, 16, 32, 64 usw. Da du aber immer noch nicht damit rausgerückt hast was für Texturen du nun verwendet hast gehe ich doch mal davon aus, dass du eigene verwendet hast. Und die entsprechen nicht den vorgegebenen Richtlinien. Ergo werden sie weiß dargestellt.

PS: Der Grund warum ich so hartnäckig bin ist der, dass der Texturenloader, den Fear verwendet, aus meiner Feder stammt und ich versuche die größtmögliche Kompatibilität zu erreichen. Und wenn eine Karte wie deine GF 5200 keine Texturen darstellt kann es entweder nur ein gravierendes Problem im Loader oder ein Benutzerfehler sein. Das Erste würde mir davon so gar nicht gefallen. ;-)

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
LH_Freak
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 385

Win XP
D7 PE, D2k5 Trial
BeitragVerfasst: Mi 08.06.05 12:28 
@Lossy: Könntest du nicht eine Funktion einbauen, in der er eine normale Textur (also nicht 2^n) in soeine umwandelt und erst dann in den GraKa Speicher lädt.
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mi 08.06.05 13:59 
Das könnte ich durchaus machen. Aber da gibt es viele Unterschiedliche Algorithmen und das müsste per Hand aufgerufen werden. Weil automatisch werde ich so etwas nicht machen. Ich heiße ja nicht Glut. ;-) Wenn ich die Texturen in so einer Hinsicht verändern würde gehören mir zu Recht die Familienjuwelen abgeschnitten.

Abgesehen davon gibt es mehrere Wege die auch so funktionieren.

1. MipMaps (MipMapMode) auf Glut oder an stellen. Also, dass er auf die Glutfunktionen zum Übertragen der Texturen verwendet. Die passen die Texturen nämlich an. Ab einer gewissen version ist das nicht mehr Standard der Fall.

2. Ein alternatives TexturTarget verwenden. Also so etwas wie GL_TEXTURE_RECTANGLE_ARB oder GL_TEXTURE_RECTANGLE_EXT oder GL_TEXTURE_RECTANGLE_NV. Die unterscheiden sich aber auch nur vom Namen. Die Kontstanten sind gleich. Aber man müss dann andere Texturkoordinaten angeben.

3. Wenn alle stricke reißen ein entsprechen größres (Power of two) Bild wo die echte Textur im Ursprung (0, 0) gezeichnet wurde. Oder man zerschneidet die Textur in mehrere Kleinere. Also der Phantasie sind keine Grenzen gesetzt.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 08.06.05 14:01 
ähm, die werden alle in potenzen von 2 umgewandelt, daran kanns net liegen :idea: