2016-07-27 53 views
0

我试图写一个无窗口的panda3d程序,作为一个专用的服务器。 我不知道如何在不创建任何图形的情况下使用panda3d。使用panda3d没有图形的东西在c + +?

我已经试过这样:

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

其实我张贴这对Panda3d Forums
而只有一个人回答叫我不要做PandaFramework::open_window(); 但在panda3d-cpp我不知道如何没有WindowFramework工作,说实话,我甚至不知道该程序是否正常工作。

目前正在使用: Panda3d1.9.2 Qt5.7.0 MSVC2015 Windows10SDK

.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" 

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

有人可以帮我解决这个问题吗?

+0

如果你想在示例中写下一些你希望运行的代码,这将有所帮助。你希望事件驱动吗? 你想让它变得简单吗?尽可能做一些计算? – Jonathan

+0

而不是WindowFramework,不应该使用GraphicsBuffer? – wasthishelpful

+0

@Jonathan,我只是一个Panda3d开发者,想知道我是否可以在客户端/服务器体系结构游戏中使用Panda3D。 –

回答

0

这很简单:如果您不想打开窗口,请不要拨打open_window。您仍可以访问AsyncTaskManager::get_global_ptr()调度任务,Loader装载模式,您可以通过只创建一个NodePath(new PandaNode("root"))和附加对象吧,等

window-type .PRC变量没有创建一个场景图效果在PandaFramework,因为创建一个窗口是一个明确的操作。