1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
include(vtkObjectFactory)
set(Module_SRCS
vtkOpenGLGPUVolumeRayCastMapper.cxx
vtkOpenGLProjectedTetrahedraMapper.cxx
vtkOpenGLRayCastImageDisplayHelper.cxx
vtkSmartVolumeMapper.cxx
)
set_source_files_properties(
vtkVolumeShader
WRAP_EXCLUDE
)
set(shader_files
shaders/raycasterfs.glsl
shaders/raycastervs.glsl
shaders/vtkglProjectedTetrahedraVS.glsl
shaders/vtkglProjectedTetrahedraFS.glsl
)
unset(shader_h_files)
foreach(file ${shader_files})
get_filename_component(file_we ${file} NAME_WE)
set(src ${CMAKE_CURRENT_SOURCE_DIR}/${file})
set(res ${CMAKE_CURRENT_BINARY_DIR}/${file_we}.cxx)
set(resh ${CMAKE_CURRENT_BINARY_DIR}/${file_we}.h)
list(APPEND shader_h_files ${resh})
add_custom_command(
OUTPUT ${res} ${resh}
DEPENDS ${src} vtkEncodeString
COMMAND vtkEncodeString
ARGS ${res} ${src} ${file_we}
--build-header VTKRENDERINGVOLUMEOPENGL2_EXPORT
vtkRenderingVolumeOpenGL2Module.h
)
list(APPEND Module_SRCS ${res})
set_source_files_properties(${file_we} WRAP_EXCLUDE)
endforeach()
# Now for the object factory.
set(opengl_overrides
GPUVolumeRayCastMapper
ProjectedTetrahedraMapper
RayCastImageDisplayHelper
)
foreach(_override ${opengl_overrides})
vtk_add_override(vtk${_override} vtkOpenGL${_override})
endforeach()
vtk_object_factory_configure("${vtk_module_overrides}")
list(APPEND Module_SRCS
${CMAKE_CURRENT_BINARY_DIR}/${vtk-module}ObjectFactory.cxx)
set_source_files_properties(${vtk-module}ObjectFactory.cxx WRAP_EXCLUDE)
vtk_module_library(vtkRenderingVolumeOpenGL2 ${Module_SRCS})
|