2016-07-27 66 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,因爲創建一個窗口是一個明確的操作。

相關問題