Weisses Nix mit OpenGl unter Vista
Übersicht

![]() |
HolzchopfMeisterpackerBetreff: Weisses Nix mit OpenGl unter Vista |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Tach Leudde! Folgendes: An meinem Laptop (Vista, Grafikchip Intel Express 965) krieg ich partout OpenGL in BMax nicht anständig hin. Das seltsame: Es betrifft nur 2D-Befehle, die MiniB3D läuft. Führe ich aber ein Beispielcode aus, in dem DrawText vorkommt, so wird dieser Text nur als Kombination von texturierten Rechtecken angezeigt und somit nicht lesbar. Beispielbild, das oben Links wär der Text. Genausowenig funktioniert DrawText unter OpenGL sonstwo. Führe ich zum Beispiel das Example zu SetGraphicsDriver aus, so hab ich einfach nur weisse Blöcke, dort wo eigentlich Text sein müsste. Beispielbild Und ja, das betrifft nicht nur DrawText, sondern auch alles andere... bei DrawImage zB werden einfach alle Bildchen als weisse Klötze hingemalt. Hat jemand ne Ahnung woran das liegen könnte? Die neusten Treiber und BlitzMaxVersion sind natürlich installiert. Edit (28.05.2009): Update auf BlitzMax 1.33 und die damit zwangsmässig verbundene Komplettneuinstallation BlitzMaxs behoben das Problem... |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
- Zuletzt bearbeitet von Holzchopf am Do, Mai 28, 2009 20:20, insgesamt einmal bearbeitet
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
kann es sein das dir einfach die OpenGL unterstützung für 2D fehlt? Check mal ob die Graka mindestens OpenGL 1.3.1 hat mit 1.3.0 hatte ich die Probleme auch | ||
Warbseite |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab 1.5.0 ![]() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
kog |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja für 2D befehle werden auch normale 3D befehle verwendet. | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vlt hilft dir ein neuer Graka-Treiber | ||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
kog hat Folgendes geschrieben: Naja für 2D befehle werden auch normale 3D befehle verwendet.
und wie wird 3D gerendert? richtig mit 2D. 1.5.0... hmm schon seltsam... |
||
Warbseite |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, habe es auch probiert.
Code: [AUSKLAPPEN] SetGraphicsDriver GLMax2DDriver()
Graphics 640,480 DrawText "Max2D graphics, Hit Key",0,0 Flip WaitKey EndGraphics SetGraphicsDriver GLGraphicsDriver() Graphics 640,480 glClear GL_COLOR_BUFFER_BIT GLDrawText "RAW' OpenGL Graphics! Hit key again",0,0 Flip WaitKey Bei mir funktioniert es. ATI Grafikkarte. Aber ich kenne es von meiner Alten Nvidia, da gab es das selbe, und war ein Treiberproblem. Habe es damals mit dem Omegatreibern gelöst, aber die gibt es ja nicht für Intel Grafikkarten. |
||
between angels and insects |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Das Problem liegt weder an der Grafikkarte, noch am Treiber, noch an Vista. Ich bin mir nicht sicher, ob der glGraphics-Treiber von Blitzmax DrawText unterstützt (der glMax2D-Treiber sollte es aber). Die Ursache des Darstellungsfehler ist - wenn ich mich recht erinnere - ein "falsches" Blend-Setting, dass die Pixmaps der Font-Glyphen ohne Beachtung des Alphakanals nach OpenGL überträgt.
[/EDIT] Ich kann ein Treiberproblem natürlich nicht _völlig_ ausschliessen. ![]() |
||
- Zuletzt bearbeitet von Ava am Mi, Jan 28, 2009 15:11, insgesamt einmal bearbeitet
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber, Ava, bei mir klappts... | ||
between angels and insects |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Jap, mit GLDRAWTEXT, dass ist ja was anderes, als DRAWTEXT! ![]() |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, shcon ok, aber das hatte er ja auch.
kenne das aber auch mit dem Blendmode. |
||
between angels and insects |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
...das MiniB3D bei ihm läuft, bestätigt ansich meine Annahme, dass es kein grundlegendes (Harware) Problem sein wird... | ||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
kog hat Folgendes geschrieben: Naja für 2D befehle werden auch normale 3D befehle verwendet.
Offenbar nicht, aber mit diesem Ansatz könnte ich wenigstens ein Work-Around für mein Problemchen schreiben. ozzi789 hat Folgendes geschrieben: Vlt hilft dir ein neuer Graka-Treiber
Naja, so fit bin ich in BMax halt noch nicht, dass ich mir selber alternative Treiber schreiben könnte =( Ava, es könnte ja sein, dass Cgamer recht hat und meiner Hardware einfach der 2D-Support fehlt. (Wieso sollte man so etwas altes wie 2D-Grafik auch noch unterstützen? Mindestens 3D muss es sein, alles andere hat keine Existenzberechtigung und wird auch nicht implementiert. So siehts aus! ![]() ![]() Und verschiedene Blendmodes habe ich auch schon ausprobiert, nützt alles nix ![]() Ich such jetzt nochmal im englischen Forum... Vielleicht werde ich dort fündig. Aber falls hier jemand DIE Lösung hat, bitte her damit ![]() mFg |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Valnar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Holzchopf hat Folgendes geschrieben: ozzi789 hat Folgendes geschrieben:
Vlt hilft dir ein neuer Graka-Treiber Naja, so fit bin ich in BMax halt noch nicht, dass ich mir selber alternative Treiber schreiben könnte =(Naja versuch doch einfach mal mit einem Handelsüblichen Treiber zu Installieren. Wenn es verscheidene Arten von Treibern gibt, hilft es meist alle durchzutesten. |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Das GL-Modul ist aufgrund seiner Struktur ansich völlig nutzlos. ![]() Das SetBlend in BMax meinte ich mit dem "Blend-Problem" übrigens nicht - das war auf eine "tiefere Ebene" bezogen! OpenGL besitzt übrigens keine "reinen 2D" Funktionen! wenn man vom Pixeltransfer in 2D Buffer absieht, was bei "3D" Funktionen aber auch nicht anders abgearbeitet wird ... ein "reiner Pixeltransfer" findet aber ansich auch nur dann statt, wenn Du bspw. Pixmap-Daten an einen Buffer in der Grafikkarte überträgst. Ohne dieses "Feature" würdest Du auf Deinem Screen aber nicht einmal die weissen Rechtecke sehen ... ![]() |
||
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: kog hat Folgendes geschrieben: Naja für 2D befehle werden auch normale 3D befehle verwendet. Offenbar nicht, aber mit diesem Ansatz könnte ich wenigstens ein Work-Around für mein Problemchen schreiben. Eben doch und genau das ist auch das Problem. sowohl minib3d und max2d verwenden opengl und das beißt sich, da jedes dieser Module auf bestimmte OpenGL Settings angewiesen ist. (Blend, Texture und vorallem Model und Projection matrix) Du hast btw auch nicht angegeben welche Version von minib3d du benutzt und ob du die BeginMax2d und EndMax2D Befehle nutzt. Falls du letzteres nicht benutzen solltest, probier die Befehle mal aus. Falls du sie allerdings schon benutzen solltes ersetze sie in TBlitz2D mal mit diesen hier: Code: [AUSKLAPPEN] Function BeginMax2D() Local x,y,w,h GetViewport(x,y,w,h) glDisable(GL_LIGHTING) glDisable(GL_DEPTH_TEST) glDisable(GL_SCISSOR_TEST) glDisable(GL_FOG) glDisable(GL_CULL_FACE) glMatrixMode GL_TEXTURE glLoadIdentity glMatrixMode GL_PROJECTION glLoadIdentity glOrtho 0,GraphicsWidth(),GraphicsHeight(),0,-1,1 glMatrixMode GL_MODELVIEW glLoadIdentity SetViewport x,y,w,h Local MaxTex:Int glGetIntegerv(GL_MAX_TEXTURE_UNITS, Varptr(MaxTex)) For Local Layer = 0 Until MaxTex glActiveTexture(GL_TEXTURE0+Layer) glDisable(GL_TEXTURE_CUBE_MAP) glDisable(GL_TEXTURE_GEN_S) glDisable(GL_TEXTURE_GEN_T) glDisable(GL_TEXTURE_GEN_R) glDisable(GL_TEXTURE_2D) Next glActiveTexture(GL_TEXTURE0) DrawRect - 10 , - 10 , 5 , 5 glViewport(0,0,TGlobal.Width,TGlobal.Height) glScissor(0 , 0 , TGlobal.Width , TGlobal.Height) glEnable GL_BLEND End Function Function EndMax2D() glDisable(GL_TEXTURE_CUBE_MAP) glDisable(GL_TEXTURE_GEN_S) glDisable(GL_TEXTURE_GEN_T) glDisable(GL_TEXTURE_GEN_R) glDisable(GL_TEXTURE_2D) glDisable GL_BLEND TGlobal.EnableStates() glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,GL_SEPARATE_SPECULAR_COLOR) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE) glClearDepth(1.0) glDepthFunc(GL_LEQUAL) glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST) glAlphaFunc(GL_GEQUAL , 0.1) End Function |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
klepto2 hat Folgendes geschrieben: Eben doch und genau das ist auch das Problem. sowohl minib3d und max2d...
Das Problem besteht ja nicht nur in Kombination mit der MiniB3D, sondern auch im ganz normalen Max2D und OpenGL 2D. Aus dem Grund kam ich auch zum Schluss, dass eben die Max2D Befehle nicht irgendwie per 3D emuliert werden, da diese ja funktionieren (es sei denn MiniB3D ist nicht OpenGL-Abhängig) ![]() Hab übrigens MiniB3D 0.52, die Befehle in der TBlitz2D hab ich mit deinen ersetzt, funktioniert immer noch nicht. Valnar, auch andere Treiber schaffen keine Abhilfe. Was ich übrigens vergessen habe zu erwähnen ![]() Ah und bevor jetzt plötzlich alle helfen wollen und gute Tipps geben: Ja, ich hab schon alle Module neu kompiliert, ja, mein Vista ist up-to-date, ja, ich hab schon an den Treiber-Settings rumgespielt, ja, auf meinem anderen Rechner mit ner nVidia irgendwas läuft alles mit den selben Versionen problemlos und ja, gegoogelt hab ich auch. Ich werde wohl dann als letzte Massnahme den Intel-Support belästigen und wohl oder übel meine paar wenigen 2D-Dinge, die ich über mein MiniB3D-Zeugs rendern will, 3D-Mässig reinfaken. Und danke an alle Helfenden! Hat zwar nix genützt, aber ich bin lieber sicher, dass es nicht geht, als dass ich denke, es gänge nicht und unnötigerweise einen Workaround bastle. mfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann liegt das Problem nicht an Treibern (eigentlich schon) und nicht an Vista oder BMax, sondern schlicht an der miserablen OpenGL unterstützung der Intel chips. Damit gibt es schon massig probleme.
einfachste Lösung wäre eine neue Grafikkarte vernünftige die mit OpenGL 2.0 unterstützung arbeiten gibt es sehr günstig. Allerdings befürchte ich das das bei deinem Dell wohl auch flachfällt. |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group