Registriert: Di Mär 21, 2006 20:03 Beiträge: 21
Programmiersprache: Delphi, C++
Hi,
ich beschäftige mich derzeit mit der OpenGL-Prorammierung. Leider ist in einem Test-Programm ein Graphikfehler (eigentlich 2).
Und zwar:
Wenn ich mich durch den Raum bewege, ist an einer bestimmten Stelle die hälfte schwarz. Se wird einfach nicht mehr angezeigt.
Das tritt aber nur dann auf, wenn ich Culling einschalte..
Der andere Graphikfehler ist, dass eine Textur falsch dargestellt wird. Sie ist rot - statt Blau.
Ich habe das Testprogramm auf anderen Rechnern probiert, da treten diese Fehler nicht auf. Liegt das an meiner Graphikkarte oder kann es am Quellcode liegen?
Danke im vorraus.
aniheX
// Edit:
Quellcode's
TForm1.Create
Code:
procedure TForm1.FormCreate(Sender:TObject);
begin
myDC:= GetDC(Handle);
SetupPixelFormat;
myRC:= wglCreateContext(myDC);
wglMakeCurrent(myDC, myRC);
glEnable(GL_DEPTH_TEST);
glLoadIdentity;
glenable(gl_texture_2d);
Ini_Walls;
Ini_textures;
ShowCursor(False);
AlreadyPainting :=False;
glEnable(GL_CULL_FACE);
glFrontFace(GL_CCW);
ChangeResolution(1024,768,32,60);// extrene Routine zum ändern der Auflösung
Resize;
end;
TForm1.SetupPixelFormat
Code:
procedure TForm1.SetupPixelFormat;
var
hHeap:THandle;
nColors, i:Integer;
lpPalette : PLogPalette;
byRedMask, byGreenMask, byBlueMask:Byte;
nPixelFormat:Integer;
pfd: TPixelFormatDescriptor;
begin
FillChar(pfd,SizeOf(pfd),0);
with pfd dobegin
nSize :=sizeof(pfd);// Länge der pfd-Struktur
nVersion :=1;// Version
dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die Farbverschiebung könnte ich mir durch einen RGB vs. BGR Fehler erklären. Welches Format hat denn die Textur.
Das mit dem Abschneiden sieht nach Clipping-Fehlern aus. Hab gerade keine Zeit um den Code genauer zu betrachten....Aber hier gibts ja auch noch andere....
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Du solltest nach Möglichkeit erst die Auflösung ändern und dann den Renderingkontext erstellen.
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650
dadurch das die anderen texturen ja richtig zu sein scheinen, würde ich mal nen fehler in deiner pixelformatroutine (btw: wozu machst du die eigentlich?) ausschließen. sollte die textur zufällig im tga-format mit paint shop pro gespeichert worden sein, dann könntes daran liegen, damit hatte ich auch probs.
es sieht wirklich ganz stark nach rgb-bgr aus.
gruß
_________________ I'm not the signature, I'm just cleaning the floor...
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Kyro hat geschrieben:
dadurch das die anderen texturen ja richtig zu sein scheinen, würde ich mal nen fehler in deiner pixelformatroutine (btw: wozu machst du die eigentlich?) ausschließen. sollte die textur zufällig im tga-format mit paint shop pro gespeichert worden sein, dann könntes daran liegen, damit hatte ich auch probs. es sieht wirklich ganz stark nach rgb-bgr aus.
Schreib mal bitte was zu dem Fehler, da ich selber PSP benutze.
Registriert: Di Mär 21, 2006 20:03 Beiträge: 21
Programmiersprache: Delphi, C++
Kyro hat geschrieben:
dadurch das die anderen texturen ja richtig zu sein scheinen, würde ich mal nen fehler in deiner pixelformatroutine (btw: wozu machst du die eigentlich?) ausschließen. sollte die textur zufällig im tga-format mit paint shop pro gespeichert worden sein, dann könntes daran liegen, damit hatte ich auch probs. es sieht wirklich ganz stark nach rgb-bgr aus.
gruß
1.) Das Bild ist im Jpeg Format. 2.) Die Grundgerüst hab ich aus einem Tutorial, daher das Pixelsetup
Könnte es ggf. besser werden, wenn ich ich die dglopengl nehme?
// Edit:
Zitat:
Du solltest nach Möglichkeit erst die Auflösung ändern und dann den Renderingkontext erstellen.
Werd ich versuchen. Danke für den Tipp.
Das mit dem RGB vs. BGR:
Auf anderen Rechnern geht das einwandfrei, nur bei mir nicht
Schreib mal bitte was zu dem Fehler, da ich selber PSP benutze.
kann auch nicht soviel dazu schreiben - habe bisher afaik ausschließlich tga's mit alphakanal probiert. die mit psp gespeicherten dateien waren farbverfälscht. nen neues abspeichern mit gimp hats "repariert"
aniheX hat geschrieben:
Könnte es ggf. besser werden, wenn ich ich die dglopengl nehme?
der dgl header ist auf jedenfall up-to-date und vollständig.
welchen benutzt du im moment? der standard delphi header ist nicht so toll.
gruß
_________________ I'm not the signature, I'm just cleaning the floor...
Registriert: Di Mär 21, 2006 20:03 Beiträge: 21
Programmiersprache: Delphi, C++
Ich habe mittlerweile eine andere Graphikkarte, die das richtig darstellt.
Das sieht man gut daran, dass die angebotenen Downloads ebenfalls nicht mit der alten Graphikkarte funktionierten...
muahahaha! Ich hatte bis vor gar nicht allzu langer Zeit noch eine GeForce 2 MX jetzt ist es immerhin eine GeForceFX 5600 Ultra bzw. hier im Notebook eine GeForceFX 5200 GO. Auch keine TOP-Modelle, die 5600er hat aber nur 80 Euro gekostet und war allemal besser als meine 4 Jahre alte Geforce 2 MX
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.