opensubdiv

環境:
・VS2012 pro
・Win7 pro 64bit
・GeForce GTX460
  ドライババージョン 331.82

以前   OpenSubdiv v2_3_2をビルドしていたのですが、
改めて OpenSubdiv v2_3_4をビルドしました。

CMake gui 2.8.12.1 で,
 GLEW 1.5.8/GLFW 3.0.2/ptex 2.0.41/DirectX11(June 2010)を設定

Compiling OpenSubdiv version v2_3_4

Using cmake version 2.8.12.1

Could NOT find TBB (missing: TBB_INCLUDE_DIR TBB_LIBRARIES) (Required is at least version "4.0")

Could NOT find OpenCL (missing: OPENCL_LIBRARIES OPENCL_INCLUDE_DIRS) (Required is at least version "1.1")

Found PTex: C:/Users/uimac/Desktop/cabbage/lib/ptex/include (found suitable version "2.1.3", minimum required is "2.0")

Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR) (Required is at least version "1.3.40")

Could NOT find Docutils (missing: RST2HTML_EXECUTABLE) (Required is at least version "0.6")

Could NOT find Maya (missing: MAYA_EXECUTABLE MAYA_INCLUDE_DIRS) (Required is at least version "201200")

CMake Warning at CMakeLists.txt:328 (message):
TBB was not found : support for TBB parallel compute kernels will be
diabled in Osd. If your compiler supports TBB directives, please refer to
the FindTBB.cmake shared module in your cmake installation.

CMake Warning at CMakeLists.txt:381 (message):
OpenCL was not found : support for OpenCL parallel compute kernels will be
disabled in Osd. If you have the OpenCL SDK installed, please refer to the
FindOpenCL.cmake in E:/externals/OpenSubdiv/cmake.

CMake Warning at CMakeLists.txt:392 (message):
CUDA was not found : support for CUDA parallel compute kernels will be
disabled in Osd. If you have the CUDA SDK installed, please refer to the
FindCUDA.cmake shared module in your cmake installation.

CMake Warning at CMakeLists.txt:417 (message):
Maya was not found : the OpenSubdiv mayaViwer plugin will not be available.
If you do have Maya installed and see this message, please add your Maya
path to FindMaya.cmake in E:/externals/OpenSubdiv/cmake or set it through
the MAYA_LOCATION cmake command line argument or environment variable.

Configuring done

Generating done


プラットフォームツールセットをv110_xpに変更(Win8SDKのDirectX11ではなくてDirectX11(June 2010)をしようしたいため。
あと微妙にCMakeでパス入れ忘れたりしたものを何とかしてビルドを通す。


1>------ すべてのリビルド開始: プロジェクト: stringify, 構成: Release Win32 ------
2>------ すべてのリビルド開始: プロジェクト: osd_cpu_obj, 構成: Release Win32 ------
3>------ すべてのリビルド開始: プロジェクト: examples_common_obj, 構成: Release Win32 ------
4>------ すべてのリビルド開始: プロジェクト: osdutil, 構成: Release Win32 ------
1>  main.cpp
4>  adaptiveEvaluator.cpp
2>  cpuKernel.cpp
3>  font_image.cpp
2>  cpuComputeController.cpp
3>  hdr_reader.cpp
3>  hud.cpp
2>  cpuComputeContext.cpp
3>  patchColors.cpp
1>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
2>  cpuEvalLimitContext.cpp
1>  stringify.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\stringify.exe
4>  evaluator_capi.cpp
2>  cpuEvalLimitController.cpp
3>  gl_hud.cpp
5>------ すべてのリビルド開始: プロジェクト: osd_gpu_obj, 構成: Release Win32 ------
5>  Generating glslPatchCommon.gen.h
2>  cpuEvalLimitKernel.cpp
4>  mesh.cpp
5>  Generating glslPatchBSpline.gen.h
5>  Generating glslPatchGregory.gen.h
5>  Generating glslPatchTransition.gen.h
5>  Generating glslPtexCommon.gen.h
5>  Generating glslTransformFeedbackKernel.gen.h
5>  Generating glslComputeKernel.gen.h
5>  Generating hlslComputeKernel.gen.h
5>  Generating hlslPatchCommon.gen.h
2>  cpuEvalStencilsContext.cpp
5>  Generating hlslPatchBSpline.gen.h
5>  Generating hlslPatchGregory.gen.h
5>  Generating hlslPatchTransition.gen.h
5>  Generating hlslPtexCommon.gen.h
2>  cpuEvalStencilsController.cpp
5>  glPtexTexture.cpp
3>  d3d11_hud.cpp
2>  cpuSmoothNormalContext.cpp
2>  cpuSmoothNormalController.cpp
4>  refiner.cpp
5>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
5>  glPtexMipmapTexture.cpp
2>  cpuVertexBuffer.cpp
2>  error.cpp
2>  evalLimitContext.cpp
3>  コードを生成中...
2>  drawContext.cpp
5>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
3>  examples_common_obj.vcxproj -> E:\externals\OpenSubdiv\out\examples\common\examples_common_obj.dir\Release\examples_common_obj.lib
2>  drawRegistry.cpp
5>  d3d11PtexTexture.cpp
6>------ すべてのリビルド開始: プロジェクト: far_regression, 構成: Release Win32 ------
4>  topology.cpp
5>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
4>  uniformEvaluator.cpp
5>  d3d11PtexMipmapTexture.cpp
5>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
4>  コードを生成中...
5>  cpuGLVertexBuffer.cpp
5>  glDrawContext.cpp
5>  glDrawRegistry.cpp
6>  main.cpp
2>  ptexTextureLoader.cpp
2>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
2>  ptexMipmapTextureLoader.cpp
2>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
2>  ompKernel.cpp
2>  ompComputeController.cpp
2>  ompEvalStencilsController.cpp
2>  コードを生成中...
6>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
6>  far_regression.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\far_regression.exe
2>  コンパイル中...
2>  ompSmoothNormalController.cpp
7>------ すべてのリビルド開始: プロジェクト: hbr_baseline, 構成: Release Win32 ------
4>  osdutil.vcxproj -> E:\externals\OpenSubdiv\out\lib\Release\osdutil.lib
2>  コードを生成中...
7>  baseline.cpp
5>  glVertexBuffer.cpp
2>  osd_cpu_obj.vcxproj -> E:\externals\OpenSubdiv\out\opensubdiv\osd\osd_cpu_obj.dir\Release\osd_cpu_obj.lib
8>------ すべてのリビルド開始: プロジェクト: hbr_regression, 構成: Release Win32 ------
9>------ すべてのリビルド開始: プロジェクト: osd_static_cpu, 構成: Release Win32 ------
8>  main.cpp
5>  glslTransformFeedbackComputeController.cpp
9>  osd_static_cpu.vcxproj -> E:\externals\OpenSubdiv\out\lib\Release\osdCPU.lib
10>------ [すべてリビルド] のスキップ: プロジェクト: public_headers, 構成: Release Win32 ------
10>プロジェクトはこのソリューション構成に対してビルドするように選択されていません。 
5>  glslTransformFeedbackComputeContext.cpp
7>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
7>  hbr_baseline.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\hbr_baseline.exe
5>  glslTransformFeedbackKernelBundle.cpp
8>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
8>  hbr_regression.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\hbr_regression.exe
5>  glslComputeController.cpp
5>  glslComputeContext.cpp
5>  glslKernelBundle.cpp
5>  cpuD3D11VertexBuffer.cpp
5>  d3d11ComputeContext.cpp
5>  d3d11ComputeController.cpp
5>  d3d11DrawContext.cpp
5>  d3d11DrawRegistry.cpp
5>  d3d11KernelBundle.cpp
5>  コードを生成中...
5>  コンパイル中...
5>  d3d11VertexBuffer.cpp
5>  コードを生成中...
5>  osd_gpu_obj.vcxproj -> E:\externals\OpenSubdiv\out\opensubdiv\osd\osd_gpu_obj.dir\Release\osd_gpu_obj.lib
11>------ すべてのリビルド開始: プロジェクト: osd_static_gpu, 構成: Release Win32 ------
11>  osd_static_gpu.vcxproj -> E:\externals\OpenSubdiv\out\lib\Release\osdGPU.lib
12>------ すべてのリビルド開始: プロジェクト: dxPtexViewer, 構成: Release Win32 ------
13>------ すべてのリビルド開始: プロジェクト: dxViewer, 構成: Release Win32 ------
14>------ すべてのリビルド開始: プロジェクト: glBatchViewer, 構成: Release Win32 ------
15>------ すべてのリビルド開始: プロジェクト: glStencilViewer, 構成: Release Win32 ------
12>  Generating shader.gen.h
13>  Generating shader.gen.h
14>  Generating shader.gen.h
15>  main.cpp
14>  Generating shader_gl3.gen.h
12>  dxPtexViewer.cpp
13>  dxviewer.cpp
14>  viewer.cpp
12>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
13>..\..\..\examples\dxViewer\dxviewer.cpp(1489): warning C4018: '<' : signed と unsigned の数値を比較しようとしました。
14>  delegate.cpp
14>  effect.cpp
15>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
12>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
13>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
15>  glStencilViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\glStencilViewer.exe
12>  dxPtexViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\dxPtexViewer.exe
13>  dxViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\dxViewer.exe
16>------ すべてのリビルド開始: プロジェクト: glViewer, 構成: Release Win32 ------
17>------ すべてのリビルド開始: プロジェクト: limitEval, 構成: Release Win32 ------
16>  Generating shader.gen.h
17>  main.cpp
16>  Generating shader_gl3.gen.h
16>  viewer.cpp
18>------ すべてのリビルド開始: プロジェクト: osd_regression, 構成: Release Win32 ------
14>  effectRegistry.cpp
18>  main.cpp
14>  コードを生成中...
17>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
14>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
17>  limitEval.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\limitEval.exe
16>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
14>  glBatchViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\glBatchViewer.exe
19>------ すべてのリビルド開始: プロジェクト: paintTest, 構成: Release Win32 ------
20>------ すべてのリビルド開始: プロジェクト: ptexViewer, 構成: Release Win32 ------
16>  glViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\glViewer.exe
19>  Generating shader.gen.h
19>  Generating paintShader.gen.h
21>------ すべてのリビルド開始: プロジェクト: simpleCpu, 構成: Release Win32 ------
19>  main.cpp
20>  Generating shader.gen.h
20>  Generating shader_gl3.gen.h
20>  Generating skyshader.gen.h
20>  Generating imageshader.gen.h
21>  Generating shader.gen.h
20>  viewer.cpp
21>  main.cpp
21>  simpleCpuSubdivision.cpp
18>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
18>  osd_regression.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\osd_regression.exe
22>------ すべてのリビルド開始: プロジェクト: tessellateObjFile, 構成: Release Win32 ------
22>  main.cpp
20>C:/Users/uimac/Desktop/cabbage/lib/ptex/include\Ptexture.h(145): warning C4305: '初期化中' : 'double' から 'const float' へ切り詰めます。
21>  コードを生成中...
22>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
21>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
19>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
22>  tessellateObjFile.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\tessellateObjFile.exe
21>  simpleCpu.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\simpleCpu.exe
20>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
23>------ すべてのリビルド開始: プロジェクト: uvViewer, 構成: Release Win32 ------
19>  paintTest.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\paintTest.exe
23>  Generating shader.gen.h
23>  viewer.cpp
20>  ptexViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\ptexViewer.exe
23>LINK : warning LNK4044: オプション '/openmp' は無効です。無視されます。
23>  uvViewer.vcxproj -> E:\externals\OpenSubdiv\out\bin\Release\uvViewer.exe
24>------ すべてのリビルド開始: プロジェクト: ALL_BUILD, 構成: Release Win32 ------
24>  Build all projects
25>------ [すべてリビルド] のスキップ: プロジェクト: INSTALL, 構成: Release Win32 ------
25>プロジェクトはこのソリューション構成に対してビルドするように選択されていません。 
========== すべてリビルド: 23 正常終了、0 失敗、2 スキップ ==========

ビルド終了。
サンプル起動してみる。


E:\externals\OpenSubdiv\out\bin\Release>ptexViewer.exe bunny\bunny.ptx bunny\bunny.obj
Loading ptex : bunny\bunny.ptx
PageSize = 600 x 528 x 39
Reading bunny\bunny.obj


↑ptexviewer.exe
あってるのか不明。
http://ptex.us/samples.html
ここのbunnyちゃんです。


↑別オプション。こちらは良いように見えます。



↑ dxPtexViewer.exe bunny\bunny.ptx bunny\bunny.obj
死亡…。


↑dxViewer.exe
bilinear_cube / loop_triangle_edgecorner →Nvidia ドライバが応答を停止…!
・loop_cube / loop_icosahedron / loop_addle_edgeonly→ 落ちます
 (loop_saddle_edgecornerは落ちないです。正常動作。)

・loop_triangle_edgeonly
落ちた上で、なんかダイアログがいっぱい出ました




↑glViewer.exe
全部動きました。いけてる!


↑paintTest.exe
特に問題なく塗れました!
古い版のv2_3_2では以下のようなエラーが出ていたのですが、それも出なくなり改善されていました!




↑uvViewer.exe
全部でました!かっこいい!

とりあえず今日は時間切れ
週末あたり余力があれば Intel GMA 4000 (Mac Mini/Win8) でも試します


サブページ (1): opensubdiv 使ってみた
Comments