Seite 2 von 4

Verfasst: 28.12.2008 22:45
von ts-soft
Ich würde ja mal ein Timeout setzen, damit clearscreen nicht nur bei
zufälligem windows ereignis ausgelöst wird.

Verfasst: 28.12.2008 22:58
von Fluid Byte
Da fehlt ein RenderWorld() ...

Verfasst: 28.12.2008 23:01
von Kaeru Gaman
@ts
das ändert aber nix
Fluid Byte hat geschrieben:Da fehlt ein RenderWorld() ...
erklär mal bitte...
muss man wenn die engine an ist das zwangsweise benutzen?

Verfasst: 28.12.2008 23:07
von PMV
Probier doch erst mal, ob der Fehler dann immer noch da ist.
Alle 3D-Objekte werden doch erst durch RenderWorld() in den
Grafikspeicher geschrieben, ohne ist also das nutzen der 3D-Befehle
überflüssig. InitEngine3D(), CreateCamera() und RenderWorld() sind in
jedem PB-3D-Program pflicht, damit überhaupt was angezeigt werden
kann.

MFG PMV

Verfasst: 28.12.2008 23:20
von Kaeru Gaman
sorry, das stimmt nicht.

Window3D braucht auch die 3D-Engine, und da steht nix drüber,
dass man dazu auch komplett mit 3D arbeiten müßte.

ok, bei nem WindowedScreen braucht man die nicht unbedingt,
steht aber auch nicht drin, dass man die nicht verwenden darf.
schließlich läßt sich ja mit der CEGUI angeblich einfacher skinnen.

also, meiner Ansicht nach darf allein das Initialisieren der 3D-Engine nicht die Funktionalität der Screen-Befehle behindern.

Verfasst: 28.12.2008 23:34
von PMV
Hm, das müsste man wohl Fred fragen ... fals es wirklich so ist, wie du
sagst ... müsste die initialisierung davon in einem eigenen Befehl
ablaufen, schließlich benötigt InitEngine3D() immer die Engine3D.dll, was
aber ziemlich überflüssig ist, wenn man CEGUI alleine verwenden möchte.
Ich nehme ja nicht an, das in der DLL auch Routinen für CEGUI drinn sind.

Die Hilfe ist aktuell alles andere als aussagekräftig ... was da alles über
die neuen Möglichkeiten nicht drinn steht ... also für'n Anfänger ist die
3D-Engine mit der aktuellen Doku auch nix.

MFG PMV

Verfasst: 29.12.2008 00:24
von kayfr72
Also hab es getestet. InitEngine3D() auskommentiert und der ClearScreen-Befehl funktioniert. den RenderWorld-Befehl kann man auch als Ursache auch ausschließen. Er bringt keine Unterschied bei der angezeigten Grafik.(Pixelchaos).

Könnte mal jemand ein Window3D-Beispiel hier reinschreiben,das man mal sieht wieder Befehl funktioniert.(der macht micht fertig) :cry:

Verfasst: 29.12.2008 16:56
von kayfr72
Hab mal paar Beispiele im Internet gesucht und gefunden für das 3D von Purebasic 4.30. :D

Erst einmal wo die Beispiele liegen: http://herved25.free.fr/test/
Und hier das Demo3D was mir bis jetzt am besten gefallen hat.
http://herved25.free.fr/test/Demo3D.zip

der Hintergrund wird da mit CameraBackColor gelöst. Denke das ist die Lösung.

Hier noch das Listing:

Code: Alles auswählen

InitEngine3D()
InitSprite()
OpenWindow(0,0,0,800,600,"......",#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,800,600,0,0,0)

CreateCamera(0,0,0,100,100)
CameraBackColor(0,RGB(0,255,0))
Repeat

Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
quit = 1
EndSelect

RenderWorld()


FlipBuffers()

Until quit = 1
End
MfG kayfr72

Verfasst: 29.12.2008 17:07
von DarkDragon
Ist mir vor kurzem auch aufgefallen, jedoch muss man dazu sagen: Wenn man OGRE verwendet, wird ClearScreen ignoriert. Da wird alles auf "Cameras" gezeichnet und die werden dann dargestellt. Desshalb sollte man dann CameraBackColor(#Camera, Farbe) verwenden um eine Hintergrundfarbe zu bestimmen.

[EDIT]

Euh die paar Sekunden. :lol: Hab nicht gesehen dass es schon soviele Seiten gibt. War immernoch auf der ersten.

Verfasst: 29.12.2008 17:28
von Kaeru Gaman
womit aber immer noch nicht beantwortet ist, wie man denn dann die Window3D-Funktionen über einem 2D Screen verwenden soll. /:->