Skip to content

Commit fe4b380

Browse files
committed
Merge branch 'release-2.8.x'
2 parents 5269850 + f0d4859 commit fe4b380

File tree

257 files changed

+5184
-1364
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

257 files changed

+5184
-1364
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
*#
33
bin
44
*.user*
5-
build*
5+
/build*
66
install*
77
*.sw?
88
tags

.gitlab-ci.yml

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,20 @@ variables:
106106
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
107107
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX512SKX
108108

109-
.job_template: &benchmark_job
109+
.job_template: &benchmark_manual_job
110110
stage: benchmark
111111
when: manual
112112
script:
113113
- scripts/tests/run-benchmarks.sh
114114

115+
.job_template: &benchmark_scheduled_job
116+
stage: benchmark
117+
only:
118+
variables:
119+
- $RUN_SCHEDULE_BENCHMARKS
120+
script:
121+
- scripts/tests/run-benchmarks.sh
122+
115123
### BUILD JOBS ###
116124

117125
build-arch-gcc:
@@ -449,20 +457,20 @@ test-windows-debug-all:
449457

450458
test-windows-msvc16-avx2:
451459
<<: *test_job_windows_avx2
452-
tags: [win, msvc16, avx2]
460+
tags: [win, msvc16, avx2, mpi]
453461
needs: [build-windows-msvc16-mpi_and_md]
454462
allow_failure: true
455463
script:
456464
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
457-
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE
465+
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE TEST_MPI
458466

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

467475
generate-ci-baseline-avx2:
468476
<<: *test_job_unix_avx2
@@ -488,13 +496,50 @@ generate-ci-baseline-avx512skx:
488496
expire_in: 3 day
489497
when: manual
490498

491-
### Benchmarks ###
499+
### Benchmarks (Manual Runs) ###
492500

493501
benchmark-x8280-1:
494-
<<: *benchmark_job
502+
<<: *benchmark_manual_job
495503
tags: [vis-perf-x8280-1]
496504
needs: [build-centos8]
497505

506+
benchmark-a-1:
507+
<<: *benchmark_manual_job
508+
tags: [vis-perf-a-1]
509+
needs: [build-centos8]
510+
511+
benchmark-adl-1:
512+
<<: *benchmark_manual_job
513+
tags: [vis-sdp-adl-1-perf]
514+
needs: [build-centos8]
515+
516+
benchmark-tgl-1:
517+
<<: *benchmark_manual_job
518+
tags: [vis-sdp-dg2-01-perf]
519+
needs: [build-centos8]
520+
521+
### Benchmarks (Scheduled Runs) ###
522+
523+
benchmark-x8280-1-schedule:
524+
<<: *benchmark_scheduled_job
525+
tags: [vis-perf-x8280-1]
526+
needs: [build-centos8]
527+
528+
benchmark-a-1-schedule:
529+
<<: *benchmark_scheduled_job
530+
tags: [vis-perf-a-1]
531+
needs: [build-centos8]
532+
533+
benchmark-adl-1-schedule:
534+
<<: *benchmark_scheduled_job
535+
tags: [vis-sdp-adl-1-perf]
536+
needs: [build-centos8]
537+
538+
benchmark-tgl-1-schedule:
539+
<<: *benchmark_scheduled_job
540+
tags: [vis-sdp-dg2-01-perf]
541+
needs: [build-centos8]
542+
498543
### Documentation ###
499544

500545
.job_template: &doc-defaults

CHANGELOG.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,37 @@
11
Version History
22
---------------
33

4+
### Changes in v2.8.0:
5+
6+
- Lights can be now part of `OSPGroup` and thus instanced like
7+
geometries and volumes and thus lights also support motion blur
8+
(with the path tracer)
9+
- Add cylinder light (with solid area sampling)
10+
- Add support for rolling shutter of cameras
11+
- Add support for quaternion motion blur for instance and camera to
12+
allow for smoothly interpolated rotations
13+
- Fix illumination from emissive quad meshes
14+
415
### Changes in v2.7.1:
516

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

2132
### Changes in v2.7.0:
2233

23-
- Add support for transformation and camera Motion Blur (with the path
34+
- Add support for transformation and camera motion blur (with the path
2435
tracer) via `shutter` parameter of the camera and `motion.transform`
2536
array and `time` parameter of the instance and camera
2637
- OSPRay can now be built for ARM64 CPUs with NEON (e.g., Apple M1)

README.md

Lines changed: 338 additions & 304 deletions
Large diffs are not rendered by default.

apps/common/arcball_camera/ArcballCamera.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ void ArcballCamera::updateCamera()
8484
invCamera = rcp(camera);
8585
}
8686

87-
void ArcballCamera::setRotation(rkcommon::math::quaternionf q)
87+
void ArcballCamera::setRotation(rkcommon::math::quatf q)
8888
{
8989
rotation = q;
9090
updateCamera();
@@ -95,16 +95,16 @@ void ArcballCamera::updateWindowSize(const rkcommon::math::vec2i &windowSize)
9595
invWindowSize = rkcommon::math::vec2f(1) / rkcommon::math::vec2f(windowSize);
9696
}
9797

98-
rkcommon::math::quaternionf ArcballCamera::screenToArcball(
98+
rkcommon::math::quatf ArcballCamera::screenToArcball(
9999
const rkcommon::math::vec2f &p)
100100
{
101101
const float dist = dot(p, p);
102102
// If we're on/in the sphere return the point on it
103103
if (dist <= 1.f) {
104-
return rkcommon::math::quaternionf(0, p.x, p.y, std::sqrt(1.f - dist));
104+
return rkcommon::math::quatf(0, p.x, p.y, std::sqrt(1.f - dist));
105105
} else {
106106
// otherwise we project the point onto the sphere
107107
const rkcommon::math::vec2f unitDir = normalize(p);
108-
return rkcommon::math::quaternionf(0, unitDir.x, unitDir.y, 0);
108+
return rkcommon::math::quatf(0, unitDir.x, unitDir.y, 0);
109109
}
110110
}

apps/common/arcball_camera/ArcballCamera.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ class ArcballCamera
2323
rkcommon::math::vec3f upDir() const;
2424
rkcommon::math::AffineSpace3f transform() const;
2525

26-
void setRotation(rkcommon::math::quaternionf);
26+
void setRotation(rkcommon::math::quatf);
2727

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

3030
protected:
3131
void updateCamera();
3232

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

3636
float zoomSpeed;
3737
rkcommon::math::vec2f invWindowSize;
3838
rkcommon::math::AffineSpace3f centerTranslation, translation, invCamera;
39-
rkcommon::math::quaternionf rotation;
39+
rkcommon::math::quatf rotation;
4040
};

apps/common/ospray_testing/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Copyright 2009-2020 Intel Corporation
1+
## Copyright 2009-2021 Intel Corporation
22
## SPDX-License-Identifier: Apache-2.0
33

44
include(GenerateExportHeader)
@@ -26,6 +26,7 @@ add_library(ospray_testing SHARED
2626
builders/ParticleVolume.cpp
2727
builders/VdbVolume.cpp
2828
builders/Transparency.cpp
29+
builders/Instancing.cpp
2930

3031
# regression test scenes
3132
builders/test_pt_glass.cpp

0 commit comments

Comments
 (0)