Skip to content

Commit

Permalink
updated documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
svenwoop committed Oct 26, 2015
1 parent 80a1b73 commit 5de0420
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 41 deletions.
25 changes: 23 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
Version History
---------------

### New Features in Embree 2.7.1

- Internal tasking system supports cancellation of build operations.
- ISPC mode for robust and compact scenes got significantly faster
(implemented hybrid traversal for bvh4.triangle4v and bvh4.triangle4i).
- Hair rendering got faster as we fixed some issues with the SAH
heuristic cost factors.
- BVH8 got slight faster for single ray traversal (improves sorting
when hitting more than 4 boxes).
- BVH build performance got up to 30% faster on CPUs with high core
counts (improved parallel partition code).
- High quality build mode again working properly (spatial splits had been
deactivated in v2.7.0 due to some bug).
- Support for merging two adjacent triangles sharing a common edge
into a triangle-pair primitive (can reduce memory consumption and
BVH build times by up to 50% for mostly quad-based input meshes).
- Internal cleanups (reduced number of traversal kernels by more templating)
- Reduced stack size requirements of BVH builders.
- Fixed crash for dynamic scenes, triggered by deleting all
geometries from the scene.

### New Features in Embree 2.7.0

- Added device concept to Embree to allow different components of an
Expand All @@ -22,10 +43,10 @@ Version History
- Added ray packet intersectors for subdivision geometry, resulting in
improved performance for coherent rays.
- Reduced virtual address space usage for static geometries.
- Fixed some AVX2 code paths when compiling with GCC or CLANG.
- Fixed some AVX2 code paths when compiling with GCC or Clang.
- Bugfix for subdiv patches with non-matching winding order.
- Bugfix in ISA detection of AVX512.

### New Features in Embree 2.6.1

- Major performance improvements for ray tracing subdivision surfaces,
Expand Down
104 changes: 65 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Embree: High Performance Ray Tracing Kernels 2.7.0
% Embree: High Performance Ray Tracing Kernels 2.7.1
% Intel Corporation

Embree Overview
Expand Down Expand Up @@ -48,9 +48,9 @@ Supported Platforms
-------------------

Embree supports Windows (32\ bit and 64\ bit), Linux (64\ bit) and Mac
OS\ X (64\ bit). The code compiles with the Intel Compiler, GCC, CLANG
OS\ X (64\ bit). The code compiles with the Intel Compiler, GCC, Clang
and the Microsoft Compiler. Embree is tested with Intel
Compiler 15.0.2, CLANG 3.4.2, GCC 4.8.2, and Visual Studio
Compiler 15.0.2, Clang 3.4.2, GCC 4.8.2, and Visual Studio
12 2013. Using the Intel Compiler improves performance by
approximately 10%.

Expand All @@ -60,7 +60,18 @@ and requires at least a CPU with support for SSE2.

The Xeon Phi version of Embree only works under Linux in 64\ bit mode.
For compilation of the the Xeon Phi code the Intel Compiler is required.
The host side code compiles with GCC, CLANG, and the Intel Compiler.
The host side code compiles with GCC, Clang, and the Intel Compiler.

Contributing to Embree
----------------------

To contribute code to the Embree repository you need to sign a
Contributor License Agreement (CLA). Individuals need to fill out the
[Individual Contributor License Agreement (ICLA)]. Corporations need to
fill out the [Corporate Contributor License Agreement (CCLA)] and each
employee that wants to contribute has to fill out an [Individual
Contributor License Agreement (ICLA)]. Please follow the instructions of
the CLA forms to send them.

Embree Support and Contact
--------------------------
Expand All @@ -81,14 +92,14 @@ Windows Installer

You can install the 64\ bit version of the Embree library using the
Windows installer application
[embree-2.7.0-x64.exe](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.x64.exe). This
[embree-2.7.1-x64.exe](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.x64.exe). This
will install the 64 bit Embree version by default in `Program
Files\Intel\Embree v2.7.0 x64`. To install the 32\ bit
Files\Intel\Embree v2.7.1 x64`. To install the 32\ bit
Embree library use the
[embree-2.7.0-win32.exe](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.win32.exe)
[embree-2.7.1-win32.exe](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.win32.exe)
installer. This will install the 32\ bit Embree version by default in
`Program Files\Intel\Embree v2.7.0 win32` on 32\ bit
systems and `Program Files (x86)\Intel\Embree v2.7.0 win32`
`Program Files\Intel\Embree v2.7.1 win32` on 32\ bit
systems and `Program Files (x86)\Intel\Embree v2.7.1 win32`
on 64\ bit systems.

You have to set the path to the `lib` folder manually to your `PATH`
Expand All @@ -100,15 +111,15 @@ Embree installation.
To uninstall Embree again open `Programs and Features` by clicking the
`Start button`, clicking `Control Panel`, clicking `Programs`, and
then clicking `Programs and Features`. Select `Embree
2.7.0` and uninstall it.
2.7.1` and uninstall it.

Windows ZIP File
-----------------

Embree is also delivered as a ZIP file for 64 bit
[embree-2.7.0.x64.windows.zip](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.x64.windows.zip)
[embree-2.7.1.x64.windows.zip](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.x64.windows.zip)
and 32 bit
[embree-2.7.0.win32.windows.zip](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.win32.windows.zip). After
[embree-2.7.1.win32.windows.zip](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.win32.windows.zip). After
unpacking this ZIP file you should set the path to the `lib` folder
manually to your `PATH` environment variable for applications to find
Embree. To compile applications with Embree you also have to set the
Expand All @@ -122,24 +133,24 @@ Linux RPMs
----------

Uncompress the 'tar.gz' file
[embree-2.7.0.x86_64.rpm.tar.gz](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.x86_64.rpm.tar.gz)
[embree-2.7.1.x86_64.rpm.tar.gz](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.x86_64.rpm.tar.gz)
to
obtain the individual RPM files:

tar xzf embree-2.7.0.x86_64.rpm.tar.gz
tar xzf embree-2.7.1.x86_64.rpm.tar.gz

To install the Embree using the RPM packages on your Linux system type
the following:

sudo rpm --install embree-lib-2.7.0-1.x86_64.rpm
sudo rpm --install embree-devel-2.7.0-1.x86_64.rpm
sudo rpm --install embree-examples-2.7.0-1.x86_64.rpm
sudo rpm --install embree-lib-2.7.1-1.x86_64.rpm
sudo rpm --install embree-devel-2.7.1-1.x86_64.rpm
sudo rpm --install embree-examples-2.7.1-1.x86_64.rpm

To also install the Intel® Xeon Phi™ version of Embree additionally
install the following Xeon Phi™ RPMs:

sudo rpm --install --nodeps embree-lib_xeonphi-2.7.0-1.x86_64.rpm
sudo rpm --install --nodeps embree-examples_xeonphi-2.7.0-1.x86_64.rpm
sudo rpm --install --nodeps embree-lib_xeonphi-2.7.1-1.x86_64.rpm
sudo rpm --install --nodeps embree-examples_xeonphi-2.7.1-1.x86_64.rpm

To use the Xeon Phi™ version of Embree you additionally have configure your
`SINK_LD_LIBRARY_PATH` to point to `/usr/lib`:
Expand Down Expand Up @@ -169,32 +180,32 @@ install using the tar.gz files, which always ship with the latest TBB version.
Under Linux Embree is installed by default in the `/usr/lib` and
`/usr/include` directories. This way applications will find Embree
automatically. The Embree tutorials are installed into the
`/usr/bin/embree-2.7.0` folder. Specify the full path to
`/usr/bin/embree-2.7.1` folder. Specify the full path to
the tutorials to start them.

To uninstall Embree again just execute the following:

sudo rpm --erase embree-lib-2.7.0-1.x86_64
sudo rpm --erase embree-devel-2.7.0-1.x86_64
sudo rpm --erase embree-examples-2.7.0-1.x86_64
sudo rpm --erase embree-lib-2.7.1-1.x86_64
sudo rpm --erase embree-devel-2.7.1-1.x86_64
sudo rpm --erase embree-examples-2.7.1-1.x86_64

If you also installed the Xeon Phi™ RPMs you have to uninstall them
too:

sudo rpm --erase embree-lib_xeonphi-2.7.0-1.x86_64
sudo rpm --erase embree-examples_xeonphi-2.7.0-1.x86_64
sudo rpm --erase embree-lib_xeonphi-2.7.1-1.x86_64
sudo rpm --erase embree-examples_xeonphi-2.7.1-1.x86_64

Linux tar.gz files
------------------

The Linux version of Embree is also delivered as a tar.gz file
[embree-2.7.0.x86_64.linux.tar.gz](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.x86_64.linux.tar.gz). Unpack
[embree-2.7.1.x86_64.linux.tar.gz](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.x86_64.linux.tar.gz). Unpack
this file using `tar` and source the provided `embree-vars.sh` (if you
are using the bash shell) or `embree-vars.csh` (if you are using the
C shell) to setup the environment properly:

tar xzf embree-2.7.0.x64.linux.tar.gz
source embree-2.7.0.x64.linux/embree-vars.sh
tar xzf embree-2.7.1.x64.linux.tar.gz
source embree-2.7.1.x64.linux/embree-vars.sh

If you want to ship Embree with your application best use the Embree
version provided through the tar.gz file.
Expand All @@ -204,7 +215,7 @@ Mac OS X PKG Installer

To install the Embree library on your Mac\ OS\ X system use the
provided package installer inside
[embree-2.7.0.x86_64.dmg](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.x86_64.dmg). This
[embree-2.7.1.x86_64.dmg](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.x86_64.dmg). This
will install Embree by default into `/opt/local/lib` and
`/opt/local/include` directories. The Embree tutorials are installed
into the `/Applications/Embree2` folder.
Expand All @@ -220,19 +231,19 @@ and set the `DYLD_LIBRARY_PATH` environment variable to point
to the TBB library.

To uninstall Embree again execute the uninstaller script
`/Applications/embree-2.7.0/uninstall.command`.
`/Applications/embree-2.7.1/uninstall.command`.

Mac OS X tar.gz file
---------------------

The Mac\ OS\ X version of Embree is also delivered as a tar.gz file
[embree-2.7.0.x86_64.macosx.tar.gz](https://github.com/embree/embree/releases/download/v2.7.0/embree-2.7.0.x86_64.macosx.tar.gz). Unpack
[embree-2.7.1.x86_64.macosx.tar.gz](https://github.com/embree/embree/releases/download/v2.7.1/embree-2.7.1.x86_64.macosx.tar.gz). Unpack
this file using `tar` and and source the provided `embree-vars.sh` (if you
are using the bash shell) or `embree-vars.csh` (if you are using the
C shell) to setup the environment properly:

tar xzf embree-2.7.0.x64.macosx.tar.gz
source embree-2.7.0.x64.macosx/embree-vars.sh
tar xzf embree-2.7.1.x64.macosx.tar.gz
source embree-2.7.1.x64.macosx/embree-vars.sh

If you want to ship Embree with your application please use the Embree
library of the provided tar.gz file. The library name of that Embree
Expand All @@ -257,7 +268,7 @@ Linux and Mac OS\ X
-------------------

To compile Embree you need a modern C++ compiler that supports C++11.
Embree is tested with Intel® Compiler 15.0.2, CLANG 3.4.2, and GCC
Embree is tested with Intel® Compiler 15.0.2, Clang 3.4.2, and GCC
4.8.2. If the GCC that comes with your Fedora/Red Hat/CentOS
distribution is too old then you can run the provided script
`scripts/install_linux_gcc.sh` to locally install a recent GCC into
Expand Down Expand Up @@ -314,7 +325,20 @@ build directory.
cd build
ccmake ..

This will open a configuration dialog where you can perform various
Per default CMake will use the compilers specified with the `CC` and
`CXX` environment variables. Should you want to use a different
compiler, run `cmake` first and set the `CMAKE_CXX_COMPILER` and
`CMAKE_C_COMPILER` variables to the desired compiler. For example, to
use the Intel Compiler instead of the default GCC on most Linux machines
(`g++` and `gcc`) execute

cmake -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc ..

Similarly, to use Clang set the variables to `clang++` and `clang`,
respectively. Note that the compiler variables cannot be changed anymore
after the first run of `cmake` or `ccmake`.

Running `ccmake` will open a dialog where you can perform various
configurations as described below. After having configured Embree, press
c (for configure) and g (for generate) to generate a Makefile and leave
the configuration. The code can be compiled by executing make.
Expand Down Expand Up @@ -475,9 +499,6 @@ parameters that can be configured in CMake:
and debug symbols
(RelWithDebInfo).

COMPILER Select either GCC, ICC, or GCC
CLANG as compiler.

ENABLE_ISPC_SUPPORT Enables ISPC support of Embree. ON

ENABLE_STATIC_LIB Builds Embree as a static OFF
Expand All @@ -487,7 +508,6 @@ parameters that can be configured in CMake:
ENABLE_STATIC_LIB before
including rtcore.h in your
application.


ENABLE_TUTORIALS Enables build of Embree ON
tutorials.
Expand Down Expand Up @@ -520,6 +540,10 @@ parameters that can be configured in CMake:
internal tasking system
(INTERNAL).

RTCORE_TRIANGLE_PAIRS Enables fusing of adjacent triangles OFF
sharing a common edge into a single
primitive.

XEON_ISA Select highest supported ISA on AVX2
Intel® Xeon® CPUs (SSE2, SSE3,
SSSE3, SSE4.1, SSE4.2, AVX,
Expand Down Expand Up @@ -2024,6 +2048,8 @@ X.Y.Z\lib\cmake\embree-X.Y.Z`.
[BVH Builder]: #bvh-builder
[Interpolation]: #interpolation
[Configuring Embree]: #configuring-embree
[Individual Contributor License Agreement (ICLA)]: https://embree.github.io/data/Embree-ICLA.pdf
[Corporate Contributor License Agreement (CCLA)]: https://embree.github.io/data/Embree-CCLA.pdf
[imgTriangleUV]: https://embree.github.io/images/triangle_uv.png
[imgQuadUV]: https://embree.github.io/images/quad_uv.png
[imgTriangleGeometry]: https://embree.github.io/images/triangle_geometry.jpg
Expand Down
Binary file modified readme.pdf
Binary file not shown.

0 comments on commit 5de0420

Please sign in to comment.