Skip to content

Commit

Permalink
Merge branch 'release-2.8.x'
Browse files Browse the repository at this point in the history
  • Loading branch information
TrevorThomson committed Nov 3, 2021
2 parents 5269850 + f0d4859 commit fe4b380
Show file tree
Hide file tree
Showing 257 changed files with 5,184 additions and 1,364 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*#
bin
*.user*
build*
/build*
install*
*.sw?
tags
Expand Down
59 changes: 52 additions & 7 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,20 @@ variables:
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX512SKX

.job_template: &benchmark_job
.job_template: &benchmark_manual_job
stage: benchmark
when: manual
script:
- scripts/tests/run-benchmarks.sh

.job_template: &benchmark_scheduled_job
stage: benchmark
only:
variables:
- $RUN_SCHEDULE_BENCHMARKS
script:
- scripts/tests/run-benchmarks.sh

### BUILD JOBS ###

build-arch-gcc:
Expand Down Expand Up @@ -449,20 +457,20 @@ test-windows-debug-all:

test-windows-msvc16-avx2:
<<: *test_job_windows_avx2
tags: [win, msvc16, avx2]
tags: [win, msvc16, avx2, mpi]
needs: [build-windows-msvc16-mpi_and_md]
allow_failure: true
script:
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE TEST_MPI

test-windows-msvc16-avx512skx:
<<: *test_job_windows_avx512skx
tags: [win, msvc16, avx512vl]
tags: [win, msvc16, avx512vl, mpi]
needs: [build-windows-msvc16-mpi_and_md]
script:
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX512SKX TEST_MULTIDEVICE
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX512SKX TEST_MULTIDEVICE TEST_MPI

generate-ci-baseline-avx2:
<<: *test_job_unix_avx2
Expand All @@ -488,13 +496,50 @@ generate-ci-baseline-avx512skx:
expire_in: 3 day
when: manual

### Benchmarks ###
### Benchmarks (Manual Runs) ###

benchmark-x8280-1:
<<: *benchmark_job
<<: *benchmark_manual_job
tags: [vis-perf-x8280-1]
needs: [build-centos8]

benchmark-a-1:
<<: *benchmark_manual_job
tags: [vis-perf-a-1]
needs: [build-centos8]

benchmark-adl-1:
<<: *benchmark_manual_job
tags: [vis-sdp-adl-1-perf]
needs: [build-centos8]

benchmark-tgl-1:
<<: *benchmark_manual_job
tags: [vis-sdp-dg2-01-perf]
needs: [build-centos8]

### Benchmarks (Scheduled Runs) ###

benchmark-x8280-1-schedule:
<<: *benchmark_scheduled_job
tags: [vis-perf-x8280-1]
needs: [build-centos8]

benchmark-a-1-schedule:
<<: *benchmark_scheduled_job
tags: [vis-perf-a-1]
needs: [build-centos8]

benchmark-adl-1-schedule:
<<: *benchmark_scheduled_job
tags: [vis-sdp-adl-1-perf]
needs: [build-centos8]

benchmark-tgl-1-schedule:
<<: *benchmark_scheduled_job
tags: [vis-sdp-dg2-01-perf]
needs: [build-centos8]

### Documentation ###

.job_template: &doc-defaults
Expand Down
19 changes: 15 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,37 @@
Version History
---------------

### Changes in v2.8.0:

- Lights can be now part of `OSPGroup` and thus instanced like
geometries and volumes and thus lights also support motion blur
(with the path tracer)
- Add cylinder light (with solid area sampling)
- Add support for rolling shutter of cameras
- Add support for quaternion motion blur for instance and camera to
allow for smoothly interpolated rotations
- Fix illumination from emissive quad meshes

### Changes in v2.7.1:

- Use Open VKL v1.0.1 to fix sporadic slowdowns when rendering
structured regular and VDB volumes with the SciVis renderer
- Fix CMake variables and logic
- Fix crash when transferfunction.opacity = 0
- Fix crash when `transferfunction.opacity = 0`
- Fix bug in MPI data-parallel rendering that caused rendering to hang
- Workaround dynamic linking issue on Windows in MPI distributed
rendering
- Correctly initialize renderFrame progress
- Correctly initialize `renderFrame` progress
- Improved performance of data-parallel rendering for scenes with
a large number of regions
- Expanded camera model support of the data-parallel renderer,
data-parallel rendering can now use all the camera models supported
by the scivis renderer
by the SciVis renderer
- Clarify documentation and error messages

### Changes in v2.7.0:

- Add support for transformation and camera Motion Blur (with the path
- Add support for transformation and camera motion blur (with the path
tracer) via `shutter` parameter of the camera and `motion.transform`
array and `time` parameter of the instance and camera
- OSPRay can now be built for ARM64 CPUs with NEON (e.g., Apple M1)
Expand Down
642 changes: 338 additions & 304 deletions README.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions apps/common/arcball_camera/ArcballCamera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ void ArcballCamera::updateCamera()
invCamera = rcp(camera);
}

void ArcballCamera::setRotation(rkcommon::math::quaternionf q)
void ArcballCamera::setRotation(rkcommon::math::quatf q)
{
rotation = q;
updateCamera();
Expand All @@ -95,16 +95,16 @@ void ArcballCamera::updateWindowSize(const rkcommon::math::vec2i &windowSize)
invWindowSize = rkcommon::math::vec2f(1) / rkcommon::math::vec2f(windowSize);
}

rkcommon::math::quaternionf ArcballCamera::screenToArcball(
rkcommon::math::quatf ArcballCamera::screenToArcball(
const rkcommon::math::vec2f &p)
{
const float dist = dot(p, p);
// If we're on/in the sphere return the point on it
if (dist <= 1.f) {
return rkcommon::math::quaternionf(0, p.x, p.y, std::sqrt(1.f - dist));
return rkcommon::math::quatf(0, p.x, p.y, std::sqrt(1.f - dist));
} else {
// otherwise we project the point onto the sphere
const rkcommon::math::vec2f unitDir = normalize(p);
return rkcommon::math::quaternionf(0, unitDir.x, unitDir.y, 0);
return rkcommon::math::quatf(0, unitDir.x, unitDir.y, 0);
}
}
6 changes: 3 additions & 3 deletions apps/common/arcball_camera/ArcballCamera.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,18 @@ class ArcballCamera
rkcommon::math::vec3f upDir() const;
rkcommon::math::AffineSpace3f transform() const;

void setRotation(rkcommon::math::quaternionf);
void setRotation(rkcommon::math::quatf);

void updateWindowSize(const rkcommon::math::vec2i &windowSize);

protected:
void updateCamera();

// Project the point in [-1, 1] screen space onto the arcball sphere
rkcommon::math::quaternionf screenToArcball(const rkcommon::math::vec2f &p);
rkcommon::math::quatf screenToArcball(const rkcommon::math::vec2f &p);

float zoomSpeed;
rkcommon::math::vec2f invWindowSize;
rkcommon::math::AffineSpace3f centerTranslation, translation, invCamera;
rkcommon::math::quaternionf rotation;
rkcommon::math::quatf rotation;
};
3 changes: 2 additions & 1 deletion apps/common/ospray_testing/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Copyright 2009-2020 Intel Corporation
## Copyright 2009-2021 Intel Corporation
## SPDX-License-Identifier: Apache-2.0

include(GenerateExportHeader)
Expand Down Expand Up @@ -26,6 +26,7 @@ add_library(ospray_testing SHARED
builders/ParticleVolume.cpp
builders/VdbVolume.cpp
builders/Transparency.cpp
builders/Instancing.cpp

# regression test scenes
builders/test_pt_glass.cpp
Expand Down
Loading

0 comments on commit fe4b380

Please sign in to comment.