Mitsuba2:https://mitsuba2.readthedocs.io/

                   https://github.com/mitsuba-renderer/mitsuba2

官方安装:

## 从github上clone一个子仓库,不能直接download .zip,否则编译不成功### Cloning the repository ###
git clone --recursive https://github.com/mitsuba-renderer/mitsuba2## 如果没有输入--recursive则只下载了主仓库,而没有下载子模块, 则输入以下语句递归的安装子模块
## git submodule update --init --recursive## 使仓库保持更新
git config --global alias.pullall '!f(){ git pull "$@" && git submodule update --init --recursive; }; f'
git pullall### Compiling the systems ###
## for Linux
sudo apt install -y clang-9 libc++-9-dev libc++abi-9-dev cmake ninja-build
sudo apt install -y libz-dev libpng-dev libjpeg-dev libxrandr-dev libxinerama-dev libxcursor-dev
sudo apt install -y libz-dev libpng-dev libjpeg-dev libxrandr-dev libxinerama-dev libxcursor-dev## for running tests
sudo apt install -y python3-pytest python3-pytest-xdist python3-numpy
sudo apt install -y python3-sphinx python3-guzzle-sphinx-theme python3-sphinxcontrib.bibtex## 指定CXX环境
sudo gedit ~/.bashrc
在末尾加上:
export CC=clang-9
export CXX=clang++-9
更新环境:
source ~/.bashrc## 开始编译
cd mitsuba2
mkdir build
cd build
cmake -GNinja ..
ninja## Running mitsuba
source setpath.sh
# 测试是否可以导入:
python
import mitsuba

但是!由于mitsuba是个非常大型的项目,正常使用git clone非常之慢5Kb/s,中间不停的fatal、failed,如何提高git clone速度呢?
网上说的改端口地址对我的情况没有任何帮助,遂考虑使用镜像,一些可以参考的博文:

十种方法提高git clone速度

https://zhuanlan.zhihu.com/p/111697412

https://github.com/Sicmatr1x/Free-Resource/blob/master/Development.md

本git小白摸索了一晚上的解决方案!!!

(1)git限制了推送数据的大小,重新设置全局的通信缓存大小

git config --global http.postBuffer 524288000

但收效甚微

(2)Step1:

尝试先下载主仓库(以下方法都有效):

## 原本递归全下载的语句:
git clone --recursive https://github.com/mitsuba-renderer/mitsuba2
## 原本仅下载主仓库的语句:
git clone https://github.com/mitsuba-renderer/mitsuba2## 方法一:添加github镜像git clone https://github.com.cnpmjs.org/mitsuba-renderer/mitsuba2
# 此方法中如果加了--recursive会发现最开始下载主仓库很快,但子模块还是很慢下不了## 方法二:利用gitclone.com
git clone https://gitclone.com/github.com/mitsuba-renderer/mitsuba2

这两种方法发现速率都在1+Mb/s以上,5秒完成(流泪)

(2)step2:

接着是解决子模块的下载,我们需要递归的下载子模块:

## 递归下载子模块的方法
git submodule update --init --recursive1. 子模块的下载地址是在仓库的根目录下有一个.gitmodules的文件,里面保存了所有我们需要clone的子模块的地址,打开(表面上看不到)它:
sudo gedit .gitmodules
发现里面所有的地址还是github.com,这也就是为什么我们在利用镜像或者gitclone.com的时候不能用--recursive的原因,这会默认使用github.com的地址下载子模块2. !!!!!!!还没有结束!!!!!!!之前我就只是改了.gitmodules发现部分报错
## sudo gedit .git/config(发现这里面的都还没有镜像,全是/github.com/)发现还是有一部分报错
使用以下指令将新的URL更新到文件.git/config
git submodule sync3. 然后就很简单啦~我们把所有的地址像clone主仓库一样,全部改成利用镜像或者gitclone.com。不知道为什么我使用gitclone.com这个会clone失败,所以我采取了添加镜像后缀的方法4. 运行:
git submodule update --init --recursive5. 一开始会和正常不一样,出现很多语句,例如:
Submodule ‘ext/asmjit’ (https://github.com.cnpmjs.org/mitsuba-renderer/asmjit) registered for path 'ext/asmjit'
就是表达这个子模块的clone地址改变成我们现在使用的了6. 然后就是等待(整个过程就很折磨),而且发现部分还是会报错,git pullall部分子模块也失败了
后来发现git submodule sync仅能更改当前已下载下来的.gitmodules
但是子模块中在colne的时候其内部还有子模块,里面的.gitmodules的地址是原始的github.com
于是更新子模块中子模块的clone地址,mitsuba2中包括:
ext/enoki/.gitmodules
ext/nanogui/.gitmodules
ext/pybind11/.gitmodules
ext/nanogui/ext/.gitmodules
所有的都需要:
git submodule sync后来明白了其实就应该去github上的仓库看,那些文件上有一个箭头的就是需要clone的,甚至是别人的别人的代码,看到有.gitmodule的都需要修改里面的clone路径7. 按照上述方法递归的安装子模块的子模块:git submodule update --init --recursive这样下来所有的子模块以及子模块的子模块都被clone完毕,可以git pull成功啦

思考:如果在安装子模块的时候不加递归语句:--recursive,是不是不会自动安装子模块中的子模块?这样是不是就不会报错,我们只需要进去ext中修改一下子模块中的.gitmodules让它再跑一次

注:运行的时候会报错:没有ldrfilm.so

但通过查找文件夹里发现有一个取名字很像的hdrfilm.so在build/dist/plugins,把这个文件名字改成ldrfilm.so

竟然就成功了!渲染出来的也是正常的T T终于装好了哭哭

三维渲染mitsuba2安装 | git clone下载过慢问题 | 使用镜像源快速安装submodule相关推荐

  1. CentOS 服务器 git clone下载加速(下载过慢或超时)

    在 CentOS 服务器 上通过 git clone 下载项目,速度很慢或直接超时 [root@VM-0-11-centos home]# git clone https://github.com/d ...

  2. git clone下载代码,解决中途断开下载的方法

    问题如下: 解决: 办法1 1)运行以下命令进行clone $ git clone --recursive https:xxxxxx 2)进入项目根目录,继续下载 $ cd eigen-git-mir ...

  3. pycharm镜像源_pycharm安装第三方库

    点击蓝字关注我们 hello,大家好,我是你们的小编大飞.小编一直在学习编程语言,挑选了很久之后决定入了python的坑(bushi).而python之所以火,是因为它专注于如何解决问题.自由开放的社 ...

  4. arm linux源更新,[Linux] - Manjaro ARM 系统配置(更新镜像源,安装 Docker 和 Dotnet Core)...

    硬件:Raspberry Pi 4B 系统:Manjaro-ARM-xfce-rpi4-19.08 网址:https://manjaro.org/ Issue 系统启动后,中文字符显示为小方格乱码 解 ...

  5. Linux安装指定版本的docker及添加国内镜像源

    一.安装指定版本docker 1. 下载deb文件 选择Ubuntu的deb文件 访问https://download.docker.com/linux/ubuntu/dists/ 来选择Ubuntu ...

  6. Anaconda安装和清华源快速安装PyTorch

    1.Anaconda安装 1.安装anacoda下载地址: 官网地址:https://www.anaconda.com/products/individual 以往版本地址:https://repo. ...

  7. Jenkins 安装和配置插件中心国内镜像源加快安装

    通过WAR文件 Jenkins的Web应用程序ARchive(WAR)文件版本可以安装在任何支持Java的操作系统或平台上. 要下载并运行Jenkins的WAR文件版本,请执行以下操作: 将最新的稳定 ...

  8. 【ijkplayer】编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )

    文章目录 一.安装 Git 软件 二.下载 ijkplayer 代码 参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ; 一.安装 Git 软件 执行 ...

  9. 关于git clone 下载apex 过程中,缺少libssl.so.1.0.0的问题

    在安装apex 的时候,git clone 安装的时候一直报少libssl.so.1.0.0的库,从其他的服务器git clone 下来,然后转移到需要安装的机器上.使用 https://github ...

最新文章

  1. 【WP7】页面过渡效果
  2. JVM参数设置、分析
  3. [css] 使用纯CSS代码实现动画的暂停与播放
  4. Android笔记 杀死进程demo
  5. 在Linux上如何查看Python3自带的帮助文档?
  6. 这是目前为止5G最完整的PPT
  7. jquery 图片裁剪 java,jQuery实现图片上传和裁剪插件Croppie
  8. 购物计算小程序,遍历所有情况。
  9. IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈
  10. 阴阳师服务器维护6,《阴阳师》手游6月10日维护更新公告
  11. 关于麒麟座开发板串口打印乱码与其它工程用官方源码出问题的解决方案
  12. 如何查看支付宝商户ID(支付宝pid)?
  13. 在线客服服务干货:如何与客户进行有效沟通?
  14. 几个常用的js 函数汇总大全
  15. Eclipse安装过程
  16. 获取地图数据GEOJSON还有OSM
  17. Phillip and Trains(dfs专题)
  18. 使用For循环实现9x9乘法表
  19. DP4301频段在470mhz~510mhz的SUB-1G集成芯片超低功耗
  20. Python案例笔记 | 用python群发邮件

热门文章

  1. 代码制作数字流星雨_如何运用html完成流星雨的效果(代码)
  2. 二代身份证阅读器(XZX)
  3. 场景适配多元,内容生态丰富 你的生活更智能了吗?
  4. Unity2D角色跳跃
  5. 探地雷达(GPR)检测地下钢筋,并可视化钢筋
  6. 黑龙江省新一轮“双一流”建设名单公布,哈工大、哈工程、哈理工计算机科学与技术在列...
  7. vue项目中超出部分省略号显示不生效问题
  8. 不喧哗,自有声(转载)
  9. 移动支付(mobile money)系列 —— Service Provider的异同
  10. 为什么您公司的工作周报制度,形同虚设?