Skip to content

Commit

Permalink
Merge branch 'devel'
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffamstutz committed May 13, 2016
2 parents fe539ef + 4d69c61 commit 9415dd8
Show file tree
Hide file tree
Showing 351 changed files with 12,450 additions and 6,667 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Expand Up @@ -3,7 +3,16 @@
bin
*.user*
build
build_release
*.sw?
tags
.ycm_extra_conf.pyc
*.autosave
*.gz
*.rpm
*.zip
deps
tbb
embree
ispc
ospray-doc
151 changes: 151 additions & 0 deletions .gitlab-ci.yml
@@ -0,0 +1,151 @@
stages:
- build
- deploy

### BUILD JOBS ###

build-centos6-gcc:
type: build
script:
- scripts/build_gitlab/linux.sh
tags:
- centos6
- gcc
- build

build-centos7-gcc:
type: build
script:
- scripts/build_gitlab/linux.sh
tags:
- centos7
- gcc
- build

build-fedora-gcc:
type: build
script:
- scripts/build_gitlab/linux.sh
tags:
- fedora
- gcc
- build

build-ubuntu-gcc:
type: build
script:
- scripts/build_gitlab/linux.sh
tags:
- ubuntu
- gcc
- build

#build-ubuntu-clang:
# type: build
# script:
# - export CC=clang
# - export CXX=clang++
# - scripts/build_gitlab/linux.sh
# tags:
# - ubuntu
# - clang

build-sles-gcc:
type: build
script:
- scripts/build_gitlab/linux.sh
tags:
- sles
- gcc
- build

build-osx-clang:
type: build
script:
- scripts/build_gitlab/osx.sh
tags:
- osx
- clang
- build

build-windows-msvc:
type: build
script:
- call scripts\build_gitlab\win.bat
tags:
- msvc
- build
- win7

### RELEASE JOBS ###

#release-linux-gcc:
# type: deploy
# script:
# - module load gcc
# - export CC=gcc
# - export CXX=g++
# - export OSPRAY_RELEASE_NO_VERIFY=1
# - scripts/release/linux.sh
# tags:
# - gcc
# - release
# - centos6
# only:
# - devel
# - master
# artifacts:
# paths:
# - build_release/*.gz

release-linux-icc:
type: deploy
script:
- module load intel
- export CC=icc
- export CXX=icpc
- scripts/release/linux.sh
tags:
- icc
- release
- centos6
only:
- devel
- master
artifacts:
paths:
- build_release/*.gz

release-osx-clang:
type: deploy
script:
- export CC=clang
- export CXX=clang++
- scripts/release/macosx.sh
tags:
- clang
- release
- osx
only:
- devel
- master
artifacts:
paths:
- build_release/*.gz
- build_release/*.dmg

release-windows:
type: deploy
script:
- call scripts\release\win.bat
tags:
- msvc
- release
- win7
only:
- devel
- master
artifacts:
paths:
- build_release\ospray*.zip
- build_release\ospray*.exe
51 changes: 47 additions & 4 deletions CHANGELOG.md
@@ -1,6 +1,49 @@
Version History
---------------

### Changes in v0.10.0:

- Added new tasking options: `Cilk`, `Internal`, and `Debug`
- Provides more ways for OSPRay to interact with calling
application tasking systems
- `Cilk`: Use Intel® Cilk™ Plus language extensions (ICC only)
- `Internal`: Use hand written OSPRay tasking system
- `Debug`: All tasks are run in serial (useful for debugging)
- In most cases, `TBB` remains the fastest option
- Added support for adaptive accumulation and stopping
- `ospRenderFrame` now returns an estimation of the variance in
the rendered image if the framebuffer was created with the
`OSP_FB_VARIANCE` channel
- If the renderer parameter `varianceThreshold` is set,
progressive refinement concentrates on regions of the image with
a variance higher than this threshold
- Added support for volumes with voxelType `ushort` (16-bit unsigned
integers)
- `OSPTexture2D` now supports sRGB formats -- actually most images are
stored in sRGB. As a consequence the API call `ospNewTexture2D()`
needed to change to accept the new `OSPTextureFormat` parameter.
- Similarly, OSPRay's framebuffer types now also distinguishes between
linear and sRGB 8-bit formats. The new types are `OSP_FB_NONE`,
`OSP_FB_RGBA8`, `OSP_FB_SRGBA`, and `OSP_FB_RGBA32F`
- Changed "scivis" renderer parameter defaults
- All shading (AO + shadows) must be explicitly enabled
- OSPRay can now use a newer, pre-installed Embree enabled by the new
`OSPRAY_USE_EXTERNAL_EMBREE` CMake option
- New `ospcommon` library used to separately provide math types and OS
abstractions for both OSPRay and sample apps
- Removes extra dependencies on internal Embree math types and
utility functions
- `ospray.h` header is now C99 compatible
- Removed loaders module, functionality remains inside of
`ospVolumeViewer`
- Many miscellaneous cleanups, bugfixes, and improvements:
- Fixed data distributed volume rendering bugs when using less
blocks than workers
- Fixes to CMake `find_package()` config
- Fix bug in `GhostBlockBrickVolume` when using `double`s
- Various robustness changes made in CMake to make it easier to
compile OSPRay

### Changes in v0.9.1:

- Volume rendering now integrated into the "scivis" renderer
Expand All @@ -12,10 +55,10 @@ Version History
infrastructure restored (volume rendering is known to still be
broken)
- New support for CPack built OSPRay binary redistributable packages
- Add support for HDRI lighting in path tracer
- Add `ospRemoveVolume()` API call
- Add ability to render a subsection of the full view into the entire
framebuffer in the perspective camera
- Added support for HDRI lighting in path tracer
- Added `ospRemoveVolume()` API call
- Added ability to render a subsection of the full view into the
entire framebuffer in the perspective camera
- Many miscellaneous cleanups, bugfixes, and improvements:
- The depthbuffer is now correctly populated by in the "scivis"
renderer
Expand Down
72 changes: 39 additions & 33 deletions CMakeLists.txt
Expand Up @@ -30,17 +30,13 @@ ENDIF()

SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
SET(OSPRAY_VERSION_MAJOR 0)
SET(OSPRAY_VERSION_MINOR 9)
SET(OSPRAY_VERSION_PATCH 1)
SET(OSPRAY_VERSION_MINOR 10)
SET(OSPRAY_VERSION_PATCH 0)
SET(OSPRAY_VERSION
${OSPRAY_VERSION_MAJOR}.${OSPRAY_VERSION_MINOR}.${OSPRAY_VERSION_PATCH}
)
SET(OSPRAY_SOVERSION 0)

MACRO(PRINT var)
MESSAGE("${var} = ${${var}}")
ENDMACRO()

SET(CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo")
IF (WIN32)
IF (NOT OSPRAY_DEFAULT_CMAKE_CONFIGURATION_TYPES_SET)
Expand All @@ -58,17 +54,41 @@ SET(OSPRAY_BINARY_DIR ${PROJECT_BINARY_DIR})
SET(LIBRARY_OUTPUT_PATH ${OSPRAY_BINARY_DIR})
SET(EXECUTABLE_OUTPUT_PATH ${OSPRAY_BINARY_DIR})

# add experimental KNL/AVX512 build option - not fully supported, yet, so keep it hidden
##############################################################
# CMake modules and macro files
##############################################################

INCLUDE(cmake/ospray.cmake)
INCLUDE(cmake/ispc.cmake)
INCLUDE(cmake/mpi.cmake)

IF(NOT WIN32)
INCLUDE(cmake/doxygen.cmake)
ENDIF()

OSPRAY_CONFIGURE_COMPILER()

##############################################################
# OSPRay specific build options and configuration selection
##############################################################

OPTION(OSPRAY_USE_EXTERNAL_EMBREE
"Use a pre-built Embree instead of the internally built version")

OPTION(OSPRAY_BUILD_ENABLE_KNL "Enable experimental 'Knights Landing' build?")
MARK_AS_ADVANCED(OSPRAY_BUILD_ENABLE_KNL)

OPTION(OSPRAY_VOLUME_VOXELRANGE_IN_APP "Move 'voxelrange' computations to app?" OFF)
OPTION(OSPRAY_VOLUME_VOXELRANGE_IN_APP "Move 'voxelrange' computations to app?")
MARK_AS_ADVANCED(OSPRAY_VOLUME_VOXELRANGE_IN_APP)

IF (WIN32)
SET(OSPRAY_BUILD_MIC_SUPPORT OFF CACHE INTERNAL "OSPRay with KNC not supported on Windows.")
SET(OSPRAY_BUILD_MIC_SUPPORT OFF CACHE INTERNAL
"OSPRay with KNC not supported on Windows.")
ELSE()
OPTION(OSPRAY_BUILD_MIC_SUPPORT "Build OSPRay with KNC Support?")
IF (OSPRAY_BUILD_MIC_SUPPORT AND NOT OSPRAY_COMPILER_ICC)
MESSAGE(FATAL_ERROR "MIC support requires the Intel Compiler.")
ENDIF()
ENDIF()

OPTION(OSPRAY_BUILD_MPI_DEVICE "Add MPI Remote/Distributed rendering support?")
Expand All @@ -81,49 +101,35 @@ ELSE()
SET_PROPERTY(CACHE OSPRAY_BUILD_ISA PROPERTY STRINGS ALL SSE AVX AVX2)
ENDIF()

# make ospray target and compiler uppercase - we need this in some other parts of the build system
# make ISA target case-insensitive, used in configure_ospray() macro
STRING(TOUPPER ${OSPRAY_BUILD_ISA} OSPRAY_BUILD_ISA)

SET(OSPRAY_MIC ${OSPRAY_BUILD_MIC_SUPPORT})
SET(OSPRAY_MPI ${OSPRAY_BUILD_MPI_DEVICE})

# Make OpenMP available to all apps/libraries/modules
FIND_PACKAGE(OpenMP QUIET)
IF (OPENMP_FOUND)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
SET(CMAKE_EXE_LINKER_FLAGS
"${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
ENDIF()

##############################################################
# create binary packages; before any INSTALL() invocation/definition
# create binary packages; before any INSTALL() invocation/definition
##############################################################

INCLUDE(package)

##############################################################
# CMake modules
# the OSPRay 'common' library
##############################################################

INCLUDE(cmake/ospray.cmake)
INCLUDE(cmake/ispc.cmake)

SET(OSPRAY_EMBREE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/ospray/embree-v2.7.1)


INCLUDE(cmake/mpi.cmake)

IF(NOT WIN32)
INCLUDE(cmake/doxygen.cmake)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ospray/include)
SET(OSPRAY_TARGET "intel64")
ADD_SUBDIRECTORY(common builddir/ospray_common/intel64)
IF (OSPRAY_MIC)
SET(OSPRAY_TARGET "mic")
ADD_SUBDIRECTORY(common builddir/ospray_common/mic)
ENDIF()

##############################################################
# the OSPRay library
##############################################################

INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/ospray/include)
SET(OSPRAY_TARGET "intel64")
ADD_SUBDIRECTORY(ospray builddir/ospray/intel64)
IF (OSPRAY_MIC)
Expand Down
13 changes: 7 additions & 6 deletions README.md
@@ -1,9 +1,9 @@
OSPRay
======

This is release v0.9.1 of OSPRay. For changes and new
features see the [changelog](CHANGELOG.md). Also visit
http://www.ospray.org for more information.
This is release v0.10.0 of OSPRay. For changes and new features see the
[changelog](CHANGELOG.md). Also visit http://www.ospray.org for more
information.

OSPRay Overview
===============
Expand Down Expand Up @@ -56,7 +56,7 @@ branch should always point to the latest tested bugfix release.
Prerequisites
-------------

OSPRay currently supports both Linux and Mac OS X (and experimentally
OSPRay currently supports both Linux and Mac OS X (and experimentally
Windows). In addition, before you can build OSPRay you need the
following prerequisites:

Expand Down Expand Up @@ -106,7 +106,7 @@ Type the following to install the dependencies using `apt-get`:
sudo apt-get install freeglut3-dev
sudo apt-get install libqt4-dev

Under Mac OS\ X these dependencies can be installed using
Under Mac OS X these dependencies can be installed using
[MacPorts](http://www.macports.org/):

sudo port install cmake tbb freeglut qt4
Expand Down Expand Up @@ -161,7 +161,8 @@ Tutorial
--------

A minimal working example demonstrating how to use OSPRay can be found
at `apps/ospTutorial.cpp`. On Linux build it in the build_directory with
at `apps/ospTutorial.cpp`^[A C99 version is available at
`apps/ospTutorial.c`.]. On Linux build it in the build_directory with

g++ ../apps/ospTutorial.cpp -I ../ospray/include -I .. -I ../ospray/embree/common \
./libospray.so -Wl,-rpath,. -o ospTutorial
Expand Down

0 comments on commit 9415dd8

Please sign in to comment.