git: 41828ceba798 - main - graphics/zeno: New port: simulation & rendering engine in nodes
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 29 Jul 2024 16:51:14 UTC
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=41828ceba798c6b95d7442c8bafe0b32e1a283fe commit 41828ceba798c6b95d7442c8bafe0b32e1a283fe Author: Martin Filla <freebsd@sysctl.cz> AuthorDate: 2024-07-29 16:47:45 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2024-07-29 16:47:45 +0000 graphics/zeno: New port: simulation & rendering engine in nodes ZENO is an open-source, Node based 3D system able to produce cinematic physics effects at High Efficiency, it was designed for large scale simulations and has been tested on complex setups. Aside of its simulation Tools, ZENO provides necessary visualization nodes for users to import and run simulations if you feel that the current software you are using is too slow. https://github.com/zenustech/zeno/blob/master/README.md https://zenustech.com PR: 278611 --- graphics/Makefile | 1 + graphics/zeno/Makefile | 41 ++++++++++++++++++++ graphics/zeno/distinfo | 3 ++ .../zeno/files/patch-ui_zenodesign_CMakeLists.txt | 11 ++++++ .../patch-ui_zenodesign_layertreeitemdelegate.cpp | 17 ++++++++ .../zeno/files/patch-ui_zenodesign_layerwidget.cpp | 11 ++++++ .../files/patch-ui_zenodesign_zpropertiespanel.cpp | 11 ++++++ .../files/patch-ui_zenoedit_launch_offlinemain.cpp | 10 +++++ .../files/patch-ui_zenoedit_launch_viewdecode.cpp | 14 +++++++ .../files/patch-ui_zenoedit_launch_viewdecode.h | 15 ++++++++ .../files/patch-ui_zenoedit_launch_ztcpserver.cpp | 14 +++++++ .../files/patch-ui_zenoedit_launch_ztcpserver.h | 19 +++++++++ .../files/patch-ui_zenoedit_nodesys_zenonode.cpp | 16 ++++++++ .../zeno/files/patch-ui_zenoedit_recordmain.cpp | 10 +++++ ...patch-ui_zenoedit_updaterequest_zsnetthread.cpp | 11 ++++++ .../files/patch-ui_zenoedit_util_apphelper.cpp | 14 +++++++ .../zeno/files/patch-ui_zenoedit_util_apphelper.h | 25 ++++++++++++ ...ch-ui_zenoedit_viewportinteraction_nodesync.cpp | 13 +++++++ .../files/patch-ui_zenoedit_zenoapplication.cpp | 32 +++++++++++++++ .../zeno/files/patch-ui_zenoedit_zenoapplication.h | 45 ++++++++++++++++++++++ .../files/patch-ui_zenoedit_zenomainwindow.cpp | 11 ++++++ ...patch-zeno_include_zeno_utils_PropertyVisitor.h | 19 +++++++++ .../zeno/files/patch-zeno_src_extra_GlobalComm.cpp | 10 +++++ graphics/zeno/files/patch-zenovis_src_Scene.cpp | 12 ++++++ .../patch-zenovis_src_optx_RenderEngineOptx.cpp | 14 +++++++ graphics/zeno/patch-CMakeLists.txt | 12 ++++++ graphics/zeno/pkg-descr | 6 +++ 27 files changed, 417 insertions(+) diff --git a/graphics/Makefile b/graphics/Makefile index 654d7107cfe0..5453f27ca0a2 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -1266,6 +1266,7 @@ SUBDIR += zathura-pdf-poppler SUBDIR += zathura-ps SUBDIR += zbar + SUBDIR += zeno SUBDIR += zgv SUBDIR += zimg SUBDIR += zint diff --git a/graphics/zeno/Makefile b/graphics/zeno/Makefile new file mode 100644 index 000000000000..98636c75988b --- /dev/null +++ b/graphics/zeno/Makefile @@ -0,0 +1,41 @@ +PORTNAME= zeno +DISTVERSION= 2023.11.16 +CATEGORIES= graphics + +MAINTAINER= freebsd@sysctl.cz +COMMENT= ZEn NOde system - a simulation & rendering engine in nodes +WWW= https://zenustech.com/ + +LICENSE= MPL20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= openmpi>0:net/openmpi \ + cgal>=5.0.2:math/cgal \ + onetbb>0:devel/onetbb \ + openvdb>0:misc/openvdb + +USES= cmake compiler:c++17-lang eigen:3 localbase:ldflags qt:5 +USE_GITHUB= yes +GH_ACCOUNT= zenustech +USE_LDCONFIG= yes +USE_QT= core gui network opengl svg widgets buildtools:build qmake:build + +CMAKE_ON= ZENO_BUILD_EDITOR ZENO_BUILD_SHARED ZENO_IPC_USE_TCP \ + ZENO_MULTIPROCESS ZENO_NO_WARNING ZENO_USE_CCACHE +CMAKE_OFF= ZENO_BUILD_DESIGNER ZENO_BUILD_PLAYER ZENO_INSTALL_TARGET \ + ZENO_MARCH_NATIVE ZENO_OPTIX_PROC ZENO_USE_FAST_MATH \ + ZENO_WIN32_RC ZENO_WITH_CUDA +# ZENO_BUILD_DESIGNER - bug https://github.com/zenustech/zeno/issues/1907 + +# fix on 13.3: "ld: error: undefined reference due to --no-allow-shlib-undefined: +LDFLAGS+= -Wl,--allow-shlib-undefined -lomp + +PLIST_FILES= bin/autotest \ + bin/zenoedit \ + lib/libzeno.so +do-install: + ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/autotest ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/zenoedit ${STAGEDIR}${PREFIX}/bin + ${INSTALL_LIB} ${WRKDIR}/.build/bin/libzeno.so ${STAGEDIR}${PREFIX}/lib + +.include <bsd.port.mk> diff --git a/graphics/zeno/distinfo b/graphics/zeno/distinfo new file mode 100644 index 000000000000..09c74176f292 --- /dev/null +++ b/graphics/zeno/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1713709608 +SHA256 (zenustech-zeno-2023.11.16_GH0.tar.gz) = ab6cf15c4daaf5afdf98fe5f25b9d9ceabee665c2fd0450227d22c5060e4696e +SIZE (zenustech-zeno-2023.11.16_GH0.tar.gz) = 87281411 diff --git a/graphics/zeno/files/patch-ui_zenodesign_CMakeLists.txt b/graphics/zeno/files/patch-ui_zenodesign_CMakeLists.txt new file mode 100644 index 000000000000..ebabd0014646 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenodesign_CMakeLists.txt @@ -0,0 +1,11 @@ +--- ui/zenodesign/CMakeLists.txt.orig 2024-04-22 14:05:16 UTC ++++ ui/zenodesign/CMakeLists.txt +@@ -22,7 +22,7 @@ endif (WIN32) + + file(GLOB_RECURSE source CONFIGURE_DEPENDS *.h *.cpp *.ui) + file(GLOB_RECURSE resource CONFIGURE_DEPENDS *.qrc) +-qt5_add_big_resources(source ${resource}) # cihou msvc: fatal error C1060: compiler is out of heap space ++#qt5_add_big_resources(source ${resource}) # cihou msvc: fatal error C1060: compiler is out of heap space + + add_executable(zenodesign ${source}) + target_include_directories(zenodesign PRIVATE ../3rdparty ../zenoui ../editor) diff --git a/graphics/zeno/files/patch-ui_zenodesign_layertreeitemdelegate.cpp b/graphics/zeno/files/patch-ui_zenodesign_layertreeitemdelegate.cpp new file mode 100644 index 000000000000..13e5093b48d5 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenodesign_layertreeitemdelegate.cpp @@ -0,0 +1,17 @@ +--- ui/zenodesign/layertreeitemdelegate.cpp.orig 2023-11-22 19:17:26 UTC ++++ ui/zenodesign/layertreeitemdelegate.cpp +@@ -1,7 +1,7 @@ + #include "framework.h" + #include "layerwidget.h" + #include "layertreeitemdelegate.h" +- ++#include "zenostyle.h" + + LayerTreeitemDelegate::LayerTreeitemDelegate(QWidget* parent) + : QStyledItemDelegate(parent), m_treeview(nullptr) +@@ -211,4 +211,4 @@ QSize LayerTreeitemDelegate::sizeHint(const QStyleOpti + void LayerTreeitemDelegate::initStyleOption(QStyleOptionViewItem* option, const QModelIndex& index) const + { + QStyledItemDelegate::initStyleOption(option, index); + } ++} diff --git a/graphics/zeno/files/patch-ui_zenodesign_layerwidget.cpp b/graphics/zeno/files/patch-ui_zenodesign_layerwidget.cpp new file mode 100644 index 000000000000..d4010efab16d --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenodesign_layerwidget.cpp @@ -0,0 +1,11 @@ +--- ui/zenodesign/layerwidget.cpp.orig 2023-11-22 19:17:26 UTC ++++ ui/zenodesign/layerwidget.cpp +@@ -5,7 +5,7 @@ + #include "layertreeitemdelegate.h" + #include "nodeswidget.h" + #include "util.h" +- ++#include "zenostyle.h" + + NodesView* getCurrentView(QWidget* pWidget) + { diff --git a/graphics/zeno/files/patch-ui_zenodesign_zpropertiespanel.cpp b/graphics/zeno/files/patch-ui_zenodesign_zpropertiespanel.cpp new file mode 100644 index 000000000000..38d90c9bbc81 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenodesign_zpropertiespanel.cpp @@ -0,0 +1,11 @@ +--- ui/zenodesign/zpropertiespanel.cpp.orig 2023-11-22 19:17:26 UTC ++++ ui/zenodesign/zpropertiespanel.cpp +@@ -5,7 +5,7 @@ + #include "styletabwidget.h" + #include "nodesview.h" + #include "nodeswidget.h" +- ++#include "zenostyle.h" + + DesignerMainWin* getMainWindow(QWidget* pWidget) + { diff --git a/graphics/zeno/files/patch-ui_zenoedit_launch_offlinemain.cpp b/graphics/zeno/files/patch-ui_zenoedit_launch_offlinemain.cpp new file mode 100644 index 000000000000..6b01f066bad5 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_launch_offlinemain.cpp @@ -0,0 +1,10 @@ +--- ui/zenoedit/launch/offlinemain.cpp.orig 2024-04-26 16:52:52 UTC ++++ ui/zenoedit/launch/offlinemain.cpp +@@ -14,6 +14,7 @@ + #include <zeno/extra/assetDir.h> + #include "util/apphelper.h" + #include "launch/ztcpserver.h" ++#include "zenoapplication.h" + + int offline_main(const QCoreApplication& app); + int offline_main(const QCoreApplication& app) { diff --git a/graphics/zeno/files/patch-ui_zenoedit_launch_viewdecode.cpp b/graphics/zeno/files/patch-ui_zenoedit_launch_viewdecode.cpp new file mode 100644 index 000000000000..e06da93187c3 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_launch_viewdecode.cpp @@ -0,0 +1,14 @@ +--- ui/zenoedit/launch/viewdecode.cpp.orig 2024-04-23 11:14:37 UTC ++++ ui/zenoedit/launch/viewdecode.cpp +@@ -1,4 +1,4 @@ +-#ifdef ZENO_MULTIPROCESS ++//#ifdef ZENO_MULTIPROCESS + #include "viewdecode.h" + #include "zenoapplication.h" + #include <zenomodel/include/graphsmanagment.h> +@@ -335,4 +335,4 @@ void viewDecodeAppend(const char *buf, size_t n) + zeno::log_debug("viewDecodeAppend n={}", n); + viewDecodeData.append(buf, n); + } +-#endif ++//#endif diff --git a/graphics/zeno/files/patch-ui_zenoedit_launch_viewdecode.h b/graphics/zeno/files/patch-ui_zenoedit_launch_viewdecode.h new file mode 100644 index 000000000000..8740668a906b --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_launch_viewdecode.h @@ -0,0 +1,15 @@ +--- ui/zenoedit/launch/viewdecode.h.orig 2024-04-23 11:14:05 UTC ++++ ui/zenoedit/launch/viewdecode.h +@@ -1,10 +1,10 @@ + #pragma once + +-#ifdef ZENO_MULTIPROCESS ++//#ifdef ZENO_MULTIPROCESS + #include <cstddef> + + void viewDecodeClear(); + void viewDecodeAppend(const char *buf, size_t n); + void viewDecodeSetFrameCache(const char *path, int gcmax); + void viewDecodeFinish(); +-#endif ++//#endif diff --git a/graphics/zeno/files/patch-ui_zenoedit_launch_ztcpserver.cpp b/graphics/zeno/files/patch-ui_zenoedit_launch_ztcpserver.cpp new file mode 100644 index 000000000000..5da73615e8b9 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_launch_ztcpserver.cpp @@ -0,0 +1,14 @@ +--- ui/zenoedit/launch/ztcpserver.cpp.orig 2024-04-23 11:08:52 UTC ++++ ui/zenoedit/launch/ztcpserver.cpp +@@ -1,4 +1,4 @@ +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + #include <cstdio> + #include <cstring> + #include "ztcpserver.h" +@@ -443,4 +443,4 @@ void ZTcpServer::onProcFinished(int exitCode, QProcess + emit runFinished(); + } + +-#endif ++//#endif diff --git a/graphics/zeno/files/patch-ui_zenoedit_launch_ztcpserver.h b/graphics/zeno/files/patch-ui_zenoedit_launch_ztcpserver.h new file mode 100644 index 000000000000..db6000efa04c --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_launch_ztcpserver.h @@ -0,0 +1,19 @@ +--- ui/zenoedit/launch/ztcpserver.h.orig 2024-04-23 11:07:59 UTC ++++ ui/zenoedit/launch/ztcpserver.h +@@ -1,7 +1,7 @@ + #ifndef __ZCORE_TCPSERVER_H__ + #define __ZCORE_TCPSERVER_H__ + +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + + #include <QObject> + #include <QtNetwork> +@@ -52,6 +52,6 @@ private slots: (private) + int m_port; + }; + +-#endif ++//#endif + + #endif diff --git a/graphics/zeno/files/patch-ui_zenoedit_nodesys_zenonode.cpp b/graphics/zeno/files/patch-ui_zenoedit_nodesys_zenonode.cpp new file mode 100644 index 000000000000..ef623b2b81d6 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_nodesys_zenonode.cpp @@ -0,0 +1,16 @@ +--- ui/zenoedit/nodesys/zenonode.cpp.orig 2024-04-26 16:28:26 UTC ++++ ui/zenoedit/nodesys/zenonode.cpp +@@ -35,6 +35,7 @@ + #include "settings/zenosettingsmanager.h" + #include <zenomodel/include/command.h> + #include <zenomodel/include/nodeparammodel.h> ++#include <comctrl/gv/zveceditoritem.h> + + + ZenoNode::ZenoNode(const NodeUtilParam ¶ms, QGraphicsItem *parent) +@@ -2079,4 +2080,4 @@ void ZenoNode::onCustomNameChanged() + m_pCategoryItem->setText(text); + ZGraphicsLayout::updateHierarchy(m_pCategoryItem); + } + } ++} diff --git a/graphics/zeno/files/patch-ui_zenoedit_recordmain.cpp b/graphics/zeno/files/patch-ui_zenoedit_recordmain.cpp new file mode 100644 index 000000000000..9c0d47f63196 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_recordmain.cpp @@ -0,0 +1,10 @@ +--- ui/zenoedit/recordmain.cpp.orig 2024-04-26 16:42:36 UTC ++++ ui/zenoedit/recordmain.cpp +@@ -15,6 +15,7 @@ + #include <zeno/utils/log.h> + #include "common.h" + #include <rapidjson/document.h> ++#include "zenoapplication.h" + + + //--record true --zsg "C:\zeno\framenum.zsg" --cachePath "C:\tmp" --sframe 0 --frame 10 --sample 1 --optix 1 --path "C:\recordpath" --pixel 4500x3500 --aov 0 --needDenoise 0 diff --git a/graphics/zeno/files/patch-ui_zenoedit_updaterequest_zsnetthread.cpp b/graphics/zeno/files/patch-ui_zenoedit_updaterequest_zsnetthread.cpp new file mode 100644 index 000000000000..d2fde5ed3a56 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_updaterequest_zsnetthread.cpp @@ -0,0 +1,11 @@ +--- ui/zenoedit/updaterequest/zsnetthread.cpp.orig 2023-11-22 19:17:26 UTC ++++ ui/zenoedit/updaterequest/zsnetthread.cpp +@@ -37,7 +37,7 @@ void ZsNetThread::run() + + void ZsNetThread::netGet() + { +-#ifdef __linux__ ++#if defined( __linux__) || defined(__FreeBSD__) + return; + #else + CURL* curl; diff --git a/graphics/zeno/files/patch-ui_zenoedit_util_apphelper.cpp b/graphics/zeno/files/patch-ui_zenoedit_util_apphelper.cpp new file mode 100644 index 000000000000..b3dfdf838076 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_util_apphelper.cpp @@ -0,0 +1,14 @@ +--- ui/zenoedit/util/apphelper.cpp.orig 2023-11-22 19:17:26 UTC ++++ ui/zenoedit/util/apphelper.cpp +@@ -11,7 +11,11 @@ + #include <zeno/core/Session.h> + #include <zeno/extra/GlobalComm.h> + #include "viewport/zoptixviewport.h" ++#include "timeline/ztimeline.h" ++#include "zenomodel/include/curveutil.h" ++#include "zenomodel/include/nodesmgr.h" + ++#include "zenoapplication.h" + + QModelIndexList AppHelper::getSubInOutNode(IGraphsModel* pModel, const QModelIndex& subgIdx, const QString& sockName, bool bInput) + { diff --git a/graphics/zeno/files/patch-ui_zenoedit_util_apphelper.h b/graphics/zeno/files/patch-ui_zenoedit_util_apphelper.h new file mode 100644 index 000000000000..2f05b940fa3c --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_util_apphelper.h @@ -0,0 +1,25 @@ +--- ui/zenoedit/util/apphelper.h.orig 2024-07-27 11:22:11 UTC ++++ ui/zenoedit/util/apphelper.h +@@ -1,19 +1,18 @@ + #ifndef __ZENOEDIT_HELPER__ + #define __ZENOEDIT_HELPER__ + + #include <zenomodel/include/igraphsmodel.h> +-#include "zenoapplication.h" + #include <zenomodel/include/graphsmanagment.h> + #include <zenomodel/include/igraphsmodel.h> +-#include "zenomainwindow.h" + #include <zenovis/ObjectsManager.h> + #include <zeno/types/UserData.h> +-#include <zenoui/comctrl/gv/zveceditoritem.h> +-#include <viewport/viewportwidget.h> + #include "launch/corelaunch.h" + #include "settings/zsettings.h" + #include "viewport/recordvideomgr.h" + #include "panel/zenospreadsheet.h" ++ ++class ZVecEditorItem; ++class ViewPortWidget; + + class AppHelper + { diff --git a/graphics/zeno/files/patch-ui_zenoedit_viewportinteraction_nodesync.cpp b/graphics/zeno/files/patch-ui_zenoedit_viewportinteraction_nodesync.cpp new file mode 100644 index 000000000000..03c3e0756796 --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_viewportinteraction_nodesync.cpp @@ -0,0 +1,13 @@ +--- ui/zenoedit/viewportinteraction/nodesync.cpp.orig 2024-04-26 16:47:28 UTC ++++ ui/zenoedit/viewportinteraction/nodesync.cpp +@@ -1,3 +1,4 @@ ++#include "zenoapplication.h" + #include "nodesync.h" + #include <zenomodel/include/uihelper.h> + +@@ -205,4 +206,4 @@ std::string NodeSyncMgr::getPrimSockName(NodeLocation& + return getPrimSockName(node_type.toStdString()); + } + + } ++} diff --git a/graphics/zeno/files/patch-ui_zenoedit_zenoapplication.cpp b/graphics/zeno/files/patch-ui_zenoedit_zenoapplication.cpp new file mode 100644 index 000000000000..78db1c85294b --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_zenoapplication.cpp @@ -0,0 +1,32 @@ +--- ui/zenoedit/zenoapplication.cpp.orig 2024-04-23 10:56:09 UTC ++++ ui/zenoedit/zenoapplication.cpp +@@ -13,9 +13,9 @@ + + ZenoApplication::ZenoApplication(int &argc, char **argv) + : QApplication(argc, argv) +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + , m_server(nullptr) +-#endif ++//#endif + , m_bUIApp(true) + { + initMetaTypes(); +@@ -173,7 +173,7 @@ QStandardItemModel* ZenoApplication::logModel() const + return graphsManagment()->logModel(); + } + +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + ZTcpServer* ZenoApplication::getServer() + { + if (!m_server) { +@@ -182,7 +182,7 @@ ZTcpServer* ZenoApplication::getServer() + } + return m_server; + } +-#endif ++//#endif + + ZenoMainWindow* ZenoApplication::getMainWindow() + { diff --git a/graphics/zeno/files/patch-ui_zenoedit_zenoapplication.h b/graphics/zeno/files/patch-ui_zenoedit_zenoapplication.h new file mode 100644 index 000000000000..9d0bc740cbdd --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_zenoapplication.h @@ -0,0 +1,45 @@ +--- ui/zenoedit/zenoapplication.h.orig 2023-11-22 19:17:26 UTC ++++ ui/zenoedit/zenoapplication.h +@@ -3,15 +3,15 @@ + + #include <QtWidgets> + #include "zwidgetostream.h" ++#include "zenomainwindow.h" + #include "cache/zcachemgr.h" + #include "uilogic/procclipboard.h" + #include <zeno/utils/scope_exit.h> + + class GraphsManagment; +-class ZenoMainWindow; +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + class ZTcpServer; +-#endif ++//#endif + + class ZenoApplication : public QApplication + { +@@ -26,9 +26,9 @@ class ZenoApplication : public QApplication (public) + QWidget* getWindow(const QString& objName); + std::shared_ptr<ZCacheMgr> cacheMgr() const; + std::shared_ptr<ProcessClipboard> procClipboard() const; +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + ZTcpServer* getServer(); +-#endif ++//#endif + QStandardItemModel* logModel() const; + bool isUIApplication() const { return m_bUIApp; } + +@@ -39,9 +39,9 @@ private slots: (private) + QString readQss(const QString& qssPath); + void initMetaTypes(); + +-#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) ++//#if defined(ZENO_MULTIPROCESS) && defined(ZENO_IPC_USE_TCP) + ZTcpServer* m_server; +-#endif ++//#endif + std::shared_ptr<ZWidgetErrStream> m_spUILogStream; + std::shared_ptr<ZCacheMgr> m_spCacheMgr; + std::shared_ptr<ProcessClipboard> m_spProcClipboard; diff --git a/graphics/zeno/files/patch-ui_zenoedit_zenomainwindow.cpp b/graphics/zeno/files/patch-ui_zenoedit_zenomainwindow.cpp new file mode 100644 index 000000000000..28655e79d20e --- /dev/null +++ b/graphics/zeno/files/patch-ui_zenoedit_zenomainwindow.cpp @@ -0,0 +1,11 @@ +--- ui/zenoedit/zenomainwindow.cpp.orig 2024-04-22 13:07:02 UTC ++++ ui/zenoedit/zenomainwindow.cpp +@@ -1467,7 +1467,7 @@ void ZenoMainWindow::onZenovisFrameUpdate(bool bGLView + + void ZenoMainWindow::onCheckUpdate() + { +-#ifdef __linux__ ++#if defined( __linux__) || defined(__FreeBSD__) + return; + #else + ZCheckUpdateDlg dlg(this); diff --git a/graphics/zeno/files/patch-zeno_include_zeno_utils_PropertyVisitor.h b/graphics/zeno/files/patch-zeno_include_zeno_utils_PropertyVisitor.h new file mode 100644 index 000000000000..6a096943b480 --- /dev/null +++ b/graphics/zeno/files/patch-zeno_include_zeno_utils_PropertyVisitor.h @@ -0,0 +1,19 @@ +--- zeno/include/zeno/utils/PropertyVisitor.h.orig 2024-04-25 15:55:29 UTC ++++ zeno/include/zeno/utils/PropertyVisitor.h +@@ -396,12 +396,12 @@ namespace zeno { + } + + if constexpr (IsSharedPtr<ValueType>()) { +- if (!bIsOptional || Primitive->userData().has<ValueType>(KeyName)) { +- ValueRef = Primitive->userData().get<ValueType>(KeyName); ++ if (!bIsOptional || Primitive->userData().template has<ValueType>(KeyName)) { ++ ValueRef = Primitive->userData().template get<ValueType>(KeyName); + } + } else { +- if (!bIsOptional || Primitive->userData().has<ValueType>(KeyName)) { +- ValueRef = Primitive->userData().get2<ValueType>(KeyName); ++ if (!bIsOptional || Primitive->userData().template has<ValueType>(KeyName)) { ++ ValueRef = Primitive->userData().template get2<ValueType>(KeyName); + } + } + }; diff --git a/graphics/zeno/files/patch-zeno_src_extra_GlobalComm.cpp b/graphics/zeno/files/patch-zeno_src_extra_GlobalComm.cpp new file mode 100644 index 000000000000..a15914f4a00a --- /dev/null +++ b/graphics/zeno/files/patch-zeno_src_extra_GlobalComm.cpp @@ -0,0 +1,10 @@ +--- zeno/src/extra/GlobalComm.cpp.orig 2024-04-21 08:28:40 UTC ++++ zeno/src/extra/GlobalComm.cpp +@@ -10,6 +10,7 @@ + #include <unordered_set> + #include <zeno/types/MaterialObject.h> + #include <zeno/types/CameraObject.h> ++#include <thread> + #ifdef __linux__ + #include<unistd.h> + #include <sys/statfs.h> diff --git a/graphics/zeno/files/patch-zenovis_src_Scene.cpp b/graphics/zeno/files/patch-zenovis_src_Scene.cpp new file mode 100644 index 000000000000..b5f0794c8bf9 --- /dev/null +++ b/graphics/zeno/files/patch-zenovis_src_Scene.cpp @@ -0,0 +1,12 @@ +--- zenovis/src/Scene.cpp.orig 2024-04-22 12:39:31 UTC ++++ zenovis/src/Scene.cpp +@@ -12,7 +12,9 @@ + #include <zenovis/opengl/buffer.h> + #include <zenovis/opengl/common.h> + #include <zenovis/opengl/scope.h> ++#ifdef ZENO_ENABLE_OPTIX + #include "../xinxinoptix/xinxinoptixapi.h" ++#endif + #include <cstdlib> + #include <map> + diff --git a/graphics/zeno/files/patch-zenovis_src_optx_RenderEngineOptx.cpp b/graphics/zeno/files/patch-zenovis_src_optx_RenderEngineOptx.cpp new file mode 100644 index 000000000000..49761eabee9a --- /dev/null +++ b/graphics/zeno/files/patch-zenovis_src_optx_RenderEngineOptx.cpp @@ -0,0 +1,14 @@ +--- zenovis/src/optx/RenderEngineOptx.cpp.orig 2024-04-22 12:40:25 UTC ++++ zenovis/src/optx/RenderEngineOptx.cpp +@@ -1,10 +1,10 @@ ++#ifdef ZENO_ENABLE_OPTIX + #include "optixPathTracer.h" + #include "vec_math.h" + #include "xinxinoptixapi.h" + #include "zeno/utils/vec.h" + #include <limits> + #include <memory> +-#ifdef ZENO_ENABLE_OPTIX + #include "../../xinxinoptix/xinxinoptixapi.h" + #include "../../xinxinoptix/SDK/sutil/sutil.h" + #include <zeno/types/PrimitiveObject.h> diff --git a/graphics/zeno/patch-CMakeLists.txt b/graphics/zeno/patch-CMakeLists.txt new file mode 100644 index 000000000000..508f9b91bea9 --- /dev/null +++ b/graphics/zeno/patch-CMakeLists.txt @@ -0,0 +1,12 @@ +--- CMakeLists.txt.orig 2023-11-22 19:17:26 UTC ++++ CMakeLists.txt +@@ -26,6 +26,9 @@ if (PROJECT_BINARY_DIR STREQUAL PROJECT_SOURCE_DIR) + "Otherwise ZENO may fail to build, or make Git hard to exclude binary files.") + endif() + ++#set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") ++#set (CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") ++ + option(ZENO_BUILD_EDITOR "Build ZENO editor" ON) + option(ZENO_BUILD_DESIGNER "Build ZENO designer" OFF) + option(ZENO_BUILD_PLAYER "Build ZENO player" OFF) diff --git a/graphics/zeno/pkg-descr b/graphics/zeno/pkg-descr new file mode 100644 index 000000000000..a75d3c571b61 --- /dev/null +++ b/graphics/zeno/pkg-descr @@ -0,0 +1,6 @@ +ZENO is an open-source, Node based 3D system able to produce +cinematic physics effects at High Efficiency, it was designed +for large scale simulations and has been tested on complex +setups. Aside of its simulation Tools, ZENO provides necessary +visualization nodes for users to import and run simulations if +you feel that the current software you are using is too slow.