2016-07-27 3 views
0

J'essaie d'écrire un programme panda3d sans fenêtre, en tant que serveur dédié. Et je ne sais pas comment utiliser panda3d sans créer de trucs graphiques.en utilisant panda3d sans trucs graphiques en C++?

J'ai essayé:

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

En fait, je posté sur Panda3d Forums
Et le seul répondait m'a dit de ne pas faire PandaFramework::open_window(); Mais dans panda3d-cpp je ne sais pas comment travailler sans WindowFramework, pour être honnête, je ne sais même pas si le programme fonctionne correctement.

Actuellement en utilisant: Panda3d1.9.2 Qt5.7.0 MSVC2015 Windows10SDK

noyau complet du fichier .pro:

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" 

noyau complet du fichier .cpp:

#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; 
} 

Quelqu'un pourrait m'aider à ce sujet?

+0

Il serait utile si vous écrivez une partie de votre code que vous souhaitez exécuter dans l'exemple. voulez-vous que l'événement soit guidé? voulez-vous que ce soit simple et faire des calculs lorsque cela est possible? – Jonathan

+0

Au lieu d'un WindowFramework, ne devriez-vous pas utiliser un GraphicsBuffer? – wasthishelpful

+0

@Jonathan, je ne suis qu'un débutant de Panda3d et je veux savoir si je peux utiliser Panda3D dans les jeux d'architecture client/serveur. –

Répondre

0

C'est assez simple: si vous ne voulez pas ouvrir une fenêtre, n'appelez pas open_window. Vous aurez toujours accès à l'AsyncTaskManager::get_global_ptr() pour les tâches de planification, de Loader pour les modèles de chargement, et vous pouvez créer un graphique de la scène par la simple création d'un lui NodePath(new PandaNode("root")) et attacher des objets, etc.

La window-type variable de prc n'a pas Effet dans PandaFramework, puisque la création d'une fenêtre est une opération explicite.