Hallo,
ich habe da eine Sache. die mir total suspekt erscheint. Ich habe diesen kurzen ausschnitt aus meine Code.
Code:
; Get Kabinen Position
LockMutex(KabineMutex)
KabinenPosition = KabinenPositionY
UnlockMutex(KabineMutex)
MoveNode(kabineAnkerAufzug1,0.0,KabinenPosition,0.0,#PB_Absolute)
RotateNode(cameraAnkerAufzug1,0.0,CameraAnkerDrehung.f,0.0,#PB_Absolute)
MoveCamera(camera_1,0.0,0.0,CameraEntfernung,#PB_Absolute)
RenderTime = RenderWorld()
;LockMutex(AnzeigeMutex)
;If AnzeigeKabinenPosition <> 0
StartDrawing(WindowOutput(#Fenster3D_1))
DrawingFont(FontID(font))
;DrawAlphaImage(ImageID(AnzeigeKabinenPosition),0,0,215)
DrawingMode(#PB_2DDrawing_Default)
RoundBox(262,12,220,140,9,9,RGB(255,255,255))
DrawText(262+5,12+4,Str(Abs(KabinenPosition*1000)),RGB(0,0,0),RGB(255,255,255))
StopDrawing()
;EndIf
;UnlockMutex(AnzeigeMutex)
FlipBuffers()
Dieser abschnitt befindet sich in einem RenderThread. Der nur für die Darstellung der 3D Objekte zuständig ist.
Code:
OpenWindow(#Fenster3D_1,DesktopX(#DisplayDesktop),DesktopY(#DisplayDesktop),DesktopWidth(#DisplayDesktop),DesktopHeight(#DisplayDesktop),"3D_Arbeitsfenster",#PB_Window_BorderLess )
Define screen = OpenWindowedScreen(WindowID(#Fenster3D_1),0,0,DesktopWidth(#DisplayDesktop),DesktopHeight(#DisplayDesktop),0,0,0,#PB_Screen_SmartSynchronization )
ShowCursor_(#False)
ReleaseState = #False
cameraAnkerAufzug1 = CreateNode(#PB_Any,0,0,0)
kabineAnkerAufzug1 = CreateNode(#PB_Any,0,0,0)
schachtAnkerAufzug1 = CreateNode(#PB_Any,0,0,0)
camera_1 = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(camera_1,RGB(0,0,40))
AmbientColor(RGB(255,255,255))
AttachNodeObject(cameraAnkerAufzug1,CameraID(camera_1))
AttachNodeObject(kabineAnkerAufzug1,NodeID(cameraAnkerAufzug1))
MoveCamera(camera_1,0,0,5,#PB_Parent)
Und so wurde das Fenster Initialisiert. Aus meiner Sicht sollte es kein Problem darstellen, DrawBox an der Stelle so auszuführen.
Allerdings verzeichne ich da erhebliche Störungen. Das Flackert nu so rumm, als wenn die das Draw auf einem Durchsichtigen Fenster
über dem Screen ausgeführt wird. Anstatt auf dem Screen selber. Den Screen zum zeichnen selber übergeben geht ja nich. Da dieser ja
in der Konstellation nicht existiert.
Jemand ne Idee ?????
Please help
Gruss TFT