根据论文:Physically-Based Shading at Disney
中提到的开源项目:https://github.com/wdas/brdf
进行配置,其最终的结果为:

其中编译的过程还是废了一番周折的。

1.qtcreator的安装
我安装的是:qt-opensource-windows-x86-5.14.0.exe
qt-opensource-windows-x86-5.14.1.exe这个的居然没有QTZlib头文件,无语了。

2.zlib库还需要自己的去编译,这里参考:https://blog.csdn.net/wodownload2/article/details/104266901

3.clone出项目之后,结构如下:

4.做一定的修改
4.1 安装好qtcreator之后,配置环境变量:

4.2打开qtcreator之后,打开项目中的main.pro
即可打开项目。


4.3对编译环境进行设置:

取消勾选。

4.5对brdf.pro文件进行修改,如下:

TEMPLATE = app
CONFIG += qt5  #debug
prefix = $$PWD
isEmpty(prefix) {prefix = $$system(pf-makevar --absolute root 2>/dev/null)
}
isEmpty(prefix) {error("$prefix is undefined. Please pass prefix=<path> to qmake")
}DEST = $$prefix
isEmpty(LIBDIR) {LIBDIR = $$system(pf-makevar lib 2>/dev/null)
}
isEmpty(LIBDIR) {LIBDIR = lib
}TARGET = brdf
target.path = $$DEST/binHEADERS = *.h
SOURCES = \Quad.cpp \Sphere.cpp \BRDFAnalytic.cpp \BRDFBase.cpp \BRDFImageSlice.cpp \BRDFMeasuredAniso.cpp \BRDFMeasuredMERL.cpp \ColorVarWidget.cpp \FloatVarWidget.cpp \DGLFrameBuffer.cpp \DGLShader.cpp \IBLWidget.cpp \IBLWindow.cpp \ImageSliceWidget.cpp \ImageSliceWindow.cpp \LitSphereWindow.cpp \main.cpp \glerror.cpp \MainWindow.cpp \ViewerWindow.cpp \ParameterGroupWidget.cpp \ParameterWindow.cpp \SharedContextGLWidget.cpp \ShowingDockWidget.cpp \PlotCartesianWindow.cpp \PlotCartesianWidget.cpp \PlotPolarWidget.cpp \Plot3DWidget.cpp \LitSphereWidget.cpp \SimpleModel.cpp \Paths.cpp \ptex/PtexReader.cpp \ptex/PtexUtils.cpp \ptex/PtexCache.cpp \ptex/PtexHalf.cppQT   += widgets opengl
DEFINES += PTEX_STATIC NOMINMAXmacx {CONFIG -= app_bundle
}brdfs.path = $$DEST/brdf/brdfs
brdfs.files = ../brdfs/*data.path = $$DEST/brdf/data
data.files = ../data/*images.path = $$DEST/brdf/images
images.files = ../images/*probes.path = $$DEST/share/brdf/probes
probes.files = ../probes/*shaderTemplates.path = $$DEST/share/brdf/shaderTemplates
shaderTemplates.files = ../shaderTemplates/*pkgconfig.path = $$DEST/$$LIBDIR/pkgconfig
pkgconfig.files = brdf.pcINSTALLS = target brdfs data images probes shaderTemplates pkgconfigwin32-msvc*{INCLUDEPATH += ZLIB_DIRDEFINES += ZLIB_WINAPILIBS += E:\workspace\x64\ZlibDllDebug\zlibwapi.lib
}win32-g++*{LIBS += -lz
}unix*{LIBS += -lz
}# Windows cross compile at disney
linux-mingw32-custom{WINDOWS_BUILD=/jobs2/soft/users/aselle/windows-buildLIBS += -static-libgcc
}

4.6编译好的zlib,使用其中的:E:\workspace\x64\ZlibDllDebug\zlibwapi.lib
即可。

4.7找不到zlib.h文件,需要改为:

经过这几步的设置,基本能够正确运行。但是可能还会报错,是因为opengl es3.0以上的限制,我换了个电脑配置成功了,其原因不详,当然这整个在选择:

时候直接崩溃,以及加载模型:

无法正确的显示问题,还需要进一步的排查问题。

以上基本是配置原文提供的brdf的全部的过程,坑未踩完,仍需继续,源码阅读也将在后续的文章中进行剖析,敬请期待。

要选择打开brdf文件之后,才不会报错:

配置disney的brdf项目全过程相关推荐

  1. (阿里云)Linux部署SSM项目全过程

    首先安装好jdk, 然后安装好mysql 具体步骤可以看我的这篇博客: (阿里云)Linux部署springboot项目全过程_向上的狼的博客-CSDN博客 如果你使用的是 Spring Boot,内 ...

  2. Docker Compose配置springboot微服务项目

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  3. 超级详细的手写webpack4配置来启动vue2项目(附配置作用)

    基础目录结构以及各个文件的作用 初始npm项目 npm init 一路回车,一律使用默认的npm项目配置 package.json修改scripts 如下: {"name": &q ...

  4. visual studio编译linux,在 Visual Studio 中配置 Linux MSBuild C++ 项目

    在 Visual Studio 中配置 Linux MSBuild C++ 项目Configure a Linux MSBuild C++ project in Visual Studio 10/16 ...

  5. [原创] HBuildX,微信小程序模拟器报错(如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目)

    今天在学习使用uniapp,开发微信小程序时第三方登录时,HBuild编辑器报了一个错误,经过定位分析,确定代码是没有问题的,报错如下 如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目 经过 ...

  6. Ubuntu下配置、训练YOLO的全过程——无人机检测小系统

    搞毕设做的在TX2上识别检测旋翼无人机,现在把环境配置和制作训练集的整个过程分享如下,也借鉴了网上很多教程网站一并附在本文最后. 本文主要阐述Ubuntu下配置.训练YOLO的全过程. 1 安装ubu ...

  7. Maven配置本地仓库 Maven项目使用本地仓库

    Maven配置本地仓库 Maven项目使用本地仓库 项目部署或开发环境没有外网的情况下, 需要配置本地仓库. 由于是在内网环境,maven无法连接互联网,所以只能事先将jar下载到本地,然后通过配置p ...

  8. EPC项目全过程精细化管控21个关键点,一个也不能少!

    文章来源:EPC项目全过程精细化管控21个关键点,一个也不能少! EPC即为工程总承包模式,是设计采购施工一体化(EPC即Engineering(设计).Procurement(采购).Constru ...

  9. IDEA配置本地tomcat启动项目

    没有开发环境,测试环境资源不足时,自己编写的代码无法进行测试,这时就可以执行本地启动 Tomcat. 默认大家已经拥有 idea 和可以通过 idea 编译的 war 包项目,基于 JDK8.idea ...

  10. 阿里云服务器购买 发布web项目全过程

    阿里云发布web项目使用历程: 注册阿里云用户 我的本地项目配置:win7 32位+jdk1.6+tomcat7.0+MyEclipse2014+sqlserver 2005+WEB项目(页面都为js ...

最新文章

  1. 如何利用Docker构建基于DevOps的全自动CI
  2. JVM -- 运行时栈帧结构简介
  3. 13成都邀请赛 1005 Naive and Silly Muggles
  4. idea每次新建项目都要重新配置maven
  5. boost::iostreams模块测试定义的布尔类型特征
  6. 【报告分享】零售行业三大平台之对比分析-阿里VS京东VS拼多多:分级、竞争、进化.pdf...
  7. The “QtRunWork“ task returned false but did not log an error
  8. 微信小程序 列表展示+详情
  9. 新安装IAR打开现有工程
  10. Struts2拦截器详解
  11. 电脑关闭Fn键+F1,直接使用F1键
  12. Simpson’s Rule (辛普森法则)
  13. Ubuntu 找不到wifi适配器
  14. 计算机基础我的课堂调控,计算机基础课堂析及实验安排.doc
  15. 「镁客·请讲」太平洋未来科技李建亿:深耕AR技术,布局垂直领域
  16. 本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。
  17. 计算机色温调整,如何调节计算机屏幕的色温
  18. 蓝牙5.0跟蓝牙4.2的区别
  19. 【已解决】iphone和mac的备忘录、提醒事项、日历等无法同步。MacBook点击“更新Apple ID 设置”无反应。
  20. 变革中的思索之重读《孙子兵法》

热门文章

  1. Java生成二维码,Spring Boot整合ZXing实现二维码生成,支持自定义二维码
  2. direct在计算机网络中是什么意思,DX11是什么 DX11(DirectX 11)是什么意思?
  3. form表单提交到controller时出现404的尴尬问题(或链接不到.action、链接不到.do跳404的问题)
  4. 数据库作业8:SQL练习5 - SELECT(嵌套查询EXISTS、集合查询、基于派生表的查询)
  5. 微软浏览器Edge不能上网的解决办法
  6. 句子迷 2015_01_10
  7. 电子面单打印结果通知回调API接口
  8. Qt打包程序报错“应用程序无法正常启动(0xc000007b)”
  9. linux运行proxmark3,Linux 下编译使用Proxmark3
  10. 基于MATLAB的AM调制解调