warum schlägt GrabSprite bei 3D fehl

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

warum schlägt GrabSprite bei 3D fehl

Beitrag von STARGÅTE »

übersehe ich etwas, oder warum schlägt der Befehl GrabSprite() innerhalb der 3D-Engine fehl?

Code: Alles auswählen

InitEngine3D()
InitSprite()
InitKeyboard()

Enumeration
	#Window
	#Camera
	#Texture
	#Material
	#Mesh
	#Entity
	#Light
	#Sprite
EndEnumeration

OpenWindow(#Window, 0, 0, 800, 600, "Demo", #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
OpenWindowedScreen(WindowID(#Window), 0, 0, WindowWidth(#Window), WindowHeight(#Window), 1, 0, 0)

Add3DArchive(".", #PB_3DArchive_FileSystem)

CreateCube(#Mesh, 1)

CreateEntity(#Entity, MeshID(#Mesh), #PB_Material_None)
CreateCamera(#Camera, 0, 0, 100, 100)
CameraLocate(#Camera, 5, 5, 5)
CameraLookAt(#Camera, 0, 0, 0)

CreateLine3D(#PB_Any, 0, 0, 0, $FFFF00, 100, 0, 0, $FFFF00)
CreateLine3D(#PB_Any, 0, 0, 0, $FF00FF, 0, 100, 0, $FF00FF)
CreateLine3D(#PB_Any, 0, 0, 0, $00FFFF, 0, 0, 100, $00FFFF)

CreateLight(#Light, $FFFFFF, 10, 0, 0)

Repeat
	
	RotateEntity(#Entity, 0.5, 1, 0, #PB_Relative)
	
	Repeat
		Select WindowEvent()
			Case #PB_Event_CloseWindow
				End
			Case #Null
				Break
		EndSelect
	ForEver
	
	RenderWorld()
	
	ExamineKeyboard()
	If KeyboardReleased(#PB_Key_F12)
		Debug GrabSprite(#Sprite, 0, 0, 800, 600)
	EndIf
	
	FlipBuffers()
	
ForEver
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Mr.L
Beiträge: 51
Registriert: 05.02.2011 21:04

Re: warum schlägt GrabSprite bei 3D fehl

Beitrag von Mr.L »

Kann es sein, dass etwas mit dem Rückgabewert von GrabSprite nicht stimmt?
Ein IsSprite(#Sprite) nach dem GrabSprite zeigt zumindest einen Wert ungleich Null an.

Nachtrag:
Komisch, es funktioniert (bei mir zumindest) mit dem subsystem openGL.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: warum schlägt GrabSprite bei 3D fehl

Beitrag von STARGÅTE »

Naja ohne Engine3D bekomme ich ja auch ein "Erfolg" von GrabSprite zurück.
Und selbst wenn ich nach dem "fehlschlagen" trotzdem speicher, ist das Bild leer, also schwarz.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten