2016-07-27 9 views
0

Ich versuche, ein fensterloses Panda3D-Programm als dedizierter Server zu schreiben. Und ich weiß nicht, wie man panda3d verwendet, ohne irgendwelche grafischen Sachen zu erstellen.mit Panda3D ohne Grafik Zeug in C++?

Ich habe dies versucht:

load_prc_file_data("", "window-type none"); // do not effect. 
load_prc_file_data("", "window-type offscreen"); // cause errors while running PandaFramework::open_window(); 

Eigentlich habe ich geschrieben das auf Panda3d Forums
Und der einzige sagte mir antwortete nicht PandaFramework::open_window() zu tun; Aber in panda3d-cpp Ich weiß nicht, wie man ohne WindowFramework arbeitet, um ehrlich zu sein, ich weiß nicht einmal, ob das Programm richtig funktioniert.

Derzeit verwenden: Panda3d1.9.2 Qt5.7.0 MSVC2015 Windows10SDK

Voll Kern .proDatei:

TEMPLATE = app 
CONFIG += console c++11 
CONFIG -= app_bundle 
CONFIG -= qt 
SOURCES += main.cpp 
INCLUDEPATH += "G:/Panda3D-1.9.2/include" 
INCLUDEPATH += "G:/Panda3D-1.9.2/python/include" 
LIBS += "G:/Panda3D-1.9.2/python/libs/python27.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libp3framework.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libpanda.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libpandafx.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libpandaexpress.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libp3dtool.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libp3dtoolconfig.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libp3pystub.lib" 
LIBS += "G:/Panda3D-1.9.2/lib/libp3direct.lib" 

Voll Kern der CPP-Datei:

#include <pandaFramework.h> 
#include <pandaSystem.h> 
#include <load_prc_file.h> 
int main(int argc, char *argv[]) 
{ 
    PandaFramework pFramework; 
    pFramework.open_framework(argc, argv); 
    load_prc_file_data("", "window-type offscreen"); // cause errors 
    WindowFramework *pWindow = pFramework.open_window(); 
    pFramework.main_loop(); 
    pFramework.close_framework(); 
    return 0; 
} 

Kann mir jemand dabei helfen?

+0

Es wäre hilfreich, wenn Sie einen Teil Ihres Codes aufschreiben würden, den Sie im Beispiel ausführen möchten. willst du es ereignisgesteuert? Möchten Sie, dass es einfach ist und einige Berechnungen durchführen, wenn möglich? – Jonathan

+0

Anstelle eines WindowFrameworks, sollten Sie keinen GraphicsBuffer verwenden? – wasthishelpful

+0

@ Jonathan, ich bin nur ein Panda3d Begineer und möchte wissen, ob ich Panda3D in Client/Server-Architekturspielen verwenden kann. –

Antwort

0

Es ist ganz einfach: Wenn Sie kein Fenster öffnen möchten, rufen Sie nicht open_window. Sie müssen nach wie vor Zugriff auf die AsyncTaskManager::get_global_ptr() für die Planung von Aufgaben, zu Loader zum Laden von Modellen, und Sie können nur durch eine NodePath(new PandaNode("root")) Erstellung und Anbringung von Gegenständen an sie, usw.

Die window-type .prc Variable nicht eine Szene Graph erstellen hat Effekt in PandaFramework, da das Erstellen eines Fensters dort eine explizite Operation ist.