在 C++ 中使用没有图形内容的 panda3d?
using panda3d without graphic stuff in c++?
我正在尝试编写一个无窗口的 panda3d 程序,作为专用服务器。
而且我不知道如何在不创建任何图形的情况下使用 panda3d。
我试过这个:
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
,我不知道如何工作,老实说,我什至不知道程序是否正常工作。
目前正在使用:
熊猫3d1.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;
}
有人可以帮我解决这个问题吗?
很简单:如果你不想打开window,就不要调用open_window
。您仍然可以访问 AsyncTaskManager::get_global_ptr()
来安排任务,访问 Loader
来加载模型,并且您可以通过创建 NodePath(new PandaNode("root"))
并向其附加对象来创建场景图,等等.
window-type
.prc 变量在 PandaFramework
中无效,因为创建 window 是一个显式操作。
我正在尝试编写一个无窗口的 panda3d 程序,作为专用服务器。 而且我不知道如何在不创建任何图形的情况下使用 panda3d。
我试过这个:
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
,我不知道如何工作,老实说,我什至不知道程序是否正常工作。
目前正在使用: 熊猫3d1.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;
}
有人可以帮我解决这个问题吗?
很简单:如果你不想打开window,就不要调用open_window
。您仍然可以访问 AsyncTaskManager::get_global_ptr()
来安排任务,访问 Loader
来加载模型,并且您可以通过创建 NodePath(new PandaNode("root"))
并向其附加对象来创建场景图,等等.
window-type
.prc 变量在 PandaFramework
中无效,因为创建 window 是一个显式操作。