Clearscreen und Neuinstall

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:womit aber immer noch nicht beantwortet ist, wie man denn dann die Window3D-Funktionen über einem 2D Screen verwenden soll. /:->
Eigentlich ist das nicht gewollt soweit ich weiß. Denn CEGUI gehört zu OGRE und Fred hat das so vereinbart, dass man nur nach einem RenderWorld auf die Sachen zeichnen darf.

Man könnte höchstens Billboards machen und daraus eine 2D Engine basteln.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ok, dann ist die Hilfe unvollständig.

aus den ausführungen zur Window3D-Lib / CEGUI ist nicht ansatzweise ersichtlich,
dass sie einzig und allein zum Betrieb mit RenderWorld() gedacht ist.


... aber vielleicht irrst du dich ja auch...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:ok, dann ist die Hilfe unvollständig.

aus den ausführungen zur Window3D-Lib / CEGUI ist nicht ansatzweise ersichtlich,
dass sie einzig und allein zum Betrieb mit RenderWorld() gedacht ist.


... aber vielleicht irrst du dich ja auch...
http://www.purebasic.fr/english/viewtop ... enderworld
Fred hat geschrieben:

Code: Alles auswählen

- Possibility to mix 2D sprite and 3D (must be put after RenderWorld()). For DX9 (Windows) and OpenGL (OSX, Linux). 
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

öh... na und?

wo steht da was von Window3D?
Help zu Window3D hat geschrieben:Die Window3D Bibliothek ermöglicht die Erstellung komplexer grafischer Bedienoberflächen (englisch "Graphical User Interface" - kurz "GUI") direkt über dem Screen-Bereich, mittels der 3D-Engine. Dies ist hauptsächlich gedacht für Spiele und Anwendungen, welche Anwendereingaben benötigen, während sie im Vollbildschirm-Modus laufen. Diese Bibliothek basiert auf der regulären PureBasic Window-Bibliothek, und bietet ähnlichen Syntax und Verhalten. Die verwendete GUI-Engine ist CEGUI, welche einige schöne Optionen anbietet - wie "Skinning", gute Geschwindigkeit und eine Menge an eingebauten Gadgets. Mehr Informationen über CEGUI sind hier zu finden: http://www.cegui.org.uk.

Sie verwendet die 3D-Engine, daher muss vor dem Verwenden dieser Funktionen InitEngine3D() erfolgreich aufgerufen worden sein.
da steht aber nicht, dass man 3D-Objekte verwenden muss und RenderWorld,
da steht nur, dass die extra-Fenster und -Gadgets mittels der 3DEngine erstellt werden.

Die Notwendigkeit einer 3D-Umgebung und das Verbot eines 2D-Screens ist nicht allein aus der Erwähnung des 3D-Engine immanent!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:öh... na und?

wo steht da was von Window3D?
Help zu Window3D hat geschrieben:Die Window3D Bibliothek ermöglicht die Erstellung komplexer grafischer Bedienoberflächen (englisch "Graphical User Interface" - kurz "GUI") direkt über dem Screen-Bereich, mittels der 3D-Engine. Dies ist hauptsächlich gedacht für Spiele und Anwendungen, welche Anwendereingaben benötigen, während sie im Vollbildschirm-Modus laufen. Diese Bibliothek basiert auf der regulären PureBasic Window-Bibliothek, und bietet ähnlichen Syntax und Verhalten. Die verwendete GUI-Engine ist CEGUI, welche einige schöne Optionen anbietet - wie "Skinning", gute Geschwindigkeit und eine Menge an eingebauten Gadgets. Mehr Informationen über CEGUI sind hier zu finden: http://www.cegui.org.uk.

Sie verwendet die 3D-Engine, daher muss vor dem Verwenden dieser Funktionen InitEngine3D() erfolgreich aufgerufen worden sein.
da steht aber nicht, dass man 3D-Objekte verwenden muss und RenderWorld,
da steht nur, dass die extra-Fenster und -Gadgets mittels der 3DEngine erstellt werden.

Die Notwendigkeit einer 3D-Umgebung und das Verbot eines 2D-Screens ist nicht allein aus der Erwähnung des 3D-Engine immanent!
Klar, allerdings will ich dir ja nur helfen ein Workaround zu finden und dazu musst du eben wissen:
Die Window3Ds und Gadget3Ds gehören zu CEGUI. CEGUI ist ein Plugin von OGRE. OGRE rendert nur innerhalb der RenderWorld Funktion und überschreibt den Backbuffer komplett.

Um eine Änderung in der Dokumentation zu erreichen gibt es ja schon einen anderen Beitrag, den du sogar selbst erstellt hast ;-) :

http://www.purebasic.fr/german/viewtopi ... c&start=50
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

latürnich weiß ich, wo das topic zu hilfeverbesserungen ist.


> OGRE rendert nur innerhalb der RenderWorld Funktion und überschreibt den Backbuffer komplett.

bedeutet das, dass Window3D nicht außerhalb des Bereichs eines Screens dargestellt werden kann, also die Verwendung mit einem WindowedScreen garnicht sinnvoll ist?


und es bleibt trotzdem die Frage, warum die Clear-Farbe diejenige ist, die beim letzten Laufenlassen ohne Engine3D verwendet wurde.
das ist ja das merkwürdige Verhalten was ich in dem Beispiel beschrieben habe.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

CEGUI ist kein Plugin zu OGRE. Das stimmt nicht. Aber du hast mich an
was erinnert, was ich schon längst hätte erwähnen müssen. /:->

CEGUI ist erst mal ein Fenstersystem für Spiele, welches eine
Schnittstelle für Grafikengines bereit stellt. PureBasic 4.30 verwendet das
OGRE-Plugin für CEGUI (logisch), ohne OGRE also kein CEGUI. Was
sinnvoll wäre ist, ein eigenes PlugIn für CEGUI zu schreiben, das mit den
PB-Spritebefehlen arbeitet. Dann wäre OGRE nicht mehr für CEGUI nötig
und auch viel brauchbarer. Naja, PB4.40 ist ja in Arbeit ... sollte man
vielleicht mal auf den Wunschzettel schreiben :D

@Kaeru ... Fehlerhafte Programme können noch viel mehr machen ... ich
weis nicht mehr was es war ... aber plötzlich haben sämtliche
Windowsfenster 10 und mehr Sekunden gebraucht um zu öffnen ... ach
ja, das war beim Fehlerhaften nutzen von UseGadgetList() ... erst nach
nem Neustart wars wieder gut :D

Ich vermute also mal, dass durch das Fehlerhafte nutzen sich etwas
verstellt und irgend wo etwas abgespeichert wird, was nicht
abgespeichert werden sollte.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
kayfr72
Beiträge: 130
Registriert: 12.09.2004 19:13
Wohnort: Lehrberg

Beitrag von kayfr72 »

Kaeru Gaman hat geschrieben:womit aber immer noch nicht beantwortet ist, wie man denn dann die Window3D-Funktionen über einem 2D Screen verwenden soll. /:->
Denke mal das es Window3D heißt weil es auf einen 3D Screen erstellt werden kann. (Siehe Beispiel "QuatreVues.pb" aus Demo3D die ich weiter oben verlinkt habe.

kayfr72
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

... und wieso heißt Sprite3D dann so? /:->

nein, das ist kein Argument.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
kayfr72
Beiträge: 130
Registriert: 12.09.2004 19:13
Wohnort: Lehrberg

Beitrag von kayfr72 »

Schau dir doch erst mal das Beispiel an Demo3D.zip an. Da steht der Befehl in QuatreVues.pb in der Zeile 44 und 45 auskommentiert. Entfern doch mal das Semikolon und schau was passiert.

kayfr72
Antworten