配置disney的brdf項目全過程

根據論文: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/bin

HEADERS = *.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.cpp


QT   += widgets opengl
DEFINES += PTEX_STATIC NOMINMAX

macx {
    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.pc

INSTALLS = target brdfs data images probes shaderTemplates pkgconfig

win32-msvc*{
    INCLUDEPATH += ZLIB_DIR
    DEFINES += ZLIB_WINAPI
    LIBS += 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-build
    LIBS += -static-libgcc
}

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

4.7找不到zlib.h文件,需要改爲:
在這裏插入圖片描述

經過這幾步的設置,基本能夠正確運行。但是可能還會報錯,是因爲opengl es3.0以上的限制,我換了個電腦配置成功了,其原因不詳,當然這整個在選擇:
在這裏插入圖片描述
時候直接崩潰,以及加載模型:
在這裏插入圖片描述
無法正確的顯示問題,還需要進一步的排查問題。

以上基本是配置原文提供的brdf的全部的過程,坑未踩完,仍需繼續,源碼閱讀也將在後續的文章中進行剖析,敬請期待。

要選擇打開brdf文件之後,纔不會報錯:
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章