2 个版本

0.1.1 2023年11月16日
0.1.0 2023年11月15日

#225 in 渲染


delight-helpers 中使用

Apache-2.0…

22KB
186

delight

用于处理3Delight渲染器的库版本(lib3delight)的实用函数。

编译-与-运行时

该crate默认构建,具有默认功能。

然而,在运行时,该crate需要一个实现相应C-API的库/渲染器来链接。目前唯一做到这一点的是3Delight

Cargo功能

  • download_lib3delight -- 从Linux、macOS或Windows获取3Delight的动态库版本。这可以用作后备方案,用于在没有在您的系统上安装渲染器的情况下构建。但这是一个较旧的3Delight版本,首先是CI功能。

    建议您为您的平台下载3Delight软件包并安装它。这将设置构建脚本正在寻找的DELIGHT环境变量,以查找要链接的本地安装的库。

    这还将安装3Delight Display,您可以将渲染到的内容逐渐显示出来,这对于调试很有用。

    免费版本最多可以使用12个核心进行渲染。

  • link_lib3delight -- 在构建期间静态链接到`lib3dlight`。

    除非设置了download_lib3delight,否则这需要3Delight安装。另请参阅下一节。

链接样式

3Delight动态库(lib3delight)可以在构建期间链接,也可以在运行时加载。

  • 默认情况下,lib3deligh在运行时加载。这有几个优点

    1. 如果您分发您的应用程序或库,您可以将其分发给它,它仍然可以运行,并且如果库无法加载,将打印出有用的错误信息。

    2. 用户可以安装渲染器的更新版本,而且一切都会“正常工作”。

  • 动态链接到lib3delight

    • 该功能称为link_lib3delight。在这种情况下,您应禁用默认功能(它们不需要/使用)

      [dependencies]
      delight-sys = {
          version = "0.8",
          default-features = false,
          features = ["link_lib3delight"]
      }
      
    • lib3delight成为依赖项。如果系统动态链接器在运行时找不到它,您的库/应用程序将无法加载/启动。

依赖关系

~0.1–2.2MB
~40K (估计值) SLoC(约额外代码行数)