aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorwg <wg@FreeBSD.org>2013-08-08 06:22:17 +0800
committerwg <wg@FreeBSD.org>2013-08-08 06:22:17 +0800
commit0e957e21070473fb4e7e1f2ab4e217d50d3b4a9d (patch)
tree83e3c73e953c1fd4dfabf89dc9adf339763fe7b1 /graphics
parentc016ed208001f2cd4181aaa8da54ec2d58fd7721 (diff)
downloadfreebsd-ports-gnome-0e957e21070473fb4e7e1f2ab4e217d50d3b4a9d.tar.gz
freebsd-ports-gnome-0e957e21070473fb4e7e1f2ab4e217d50d3b4a9d.tar.zst
freebsd-ports-gnome-0e957e21070473fb4e7e1f2ab4e217d50d3b4a9d.zip
graphics/luxrays: Accelerate the ray intersection process by using GPUs
LuxRays is library dedicated to accelerate the ray intersection process by using GPUs. Uses a Data Parallel Model: it doesn't reduce the time spent to trace a single ray but it is able to trace many thousands of rays in parallel. Supports Hybrid CPU/GPU mode where only the ray intersection task is off load to the GPUs while everything else run on the CPU and can be written with usual tools and languages. WWW: http://www.luxrender.net/wiki/LuxRays PR: ports/181019 Submitted by: Natacha Porté <natbsd instinctive.eu>
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Makefile1
-rw-r--r--graphics/luxrays/Makefile32
-rw-r--r--graphics/luxrays/distinfo2
-rw-r--r--graphics/luxrays/files/patch-CMakeLists.txt11
-rw-r--r--graphics/luxrays/files/patch-include-luxrays-core-geometry-frame.h16
-rw-r--r--graphics/luxrays/files/patch-samples-benchsimple-CMakeLists.txt8
-rw-r--r--graphics/luxrays/pkg-descr11
-rw-r--r--graphics/luxrays/pkg-plist79
8 files changed, 160 insertions, 0 deletions
diff --git a/graphics/Makefile b/graphics/Makefile
index 270c2e0f1feb..fdd9d5664495 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -574,6 +574,7 @@
SUBDIR += lprof-devel
SUBDIR += lua-gd
SUBDIR += luminance
+ SUBDIR += luxrays
SUBDIR += luxrender
SUBDIR += mahotas
SUBDIR += makehuman
diff --git a/graphics/luxrays/Makefile b/graphics/luxrays/Makefile
new file mode 100644
index 000000000000..b16e6251a450
--- /dev/null
+++ b/graphics/luxrays/Makefile
@@ -0,0 +1,32 @@
+# Created by: Natacha Porté <natbsd@instinctive.eu>
+# $FreeBSD$
+
+PORTNAME= luxrays
+PORTVERSION= 1.2.1
+CATEGORIES= graphics
+MASTER_SITES= http://src.luxrender.net/luxrays/archive/
+DISTNAME= ${HG_NODEID}
+DIST_SUBDIR= luxrender
+
+MAINTAINER= natbsd@instinctive.eu
+COMMENT= Accelerate the ray intersection process by using GPUs
+
+LICENSE= GPLv3
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libfreeimage.a:${PORTSDIR}/graphics/freeimage
+LIB_DEPENDS= boost_thread:${PORTSDIR}/devel/boost-libs
+
+HG_NODEID= 475fbf15f0ca
+
+USES= bison cmake
+USE_BZIP2= yes
+USE_GL= glew glut
+WRKSRC= ${WRKDIR}/luxrays-${HG_NODEID}
+
+CMAKE_ARGS= -DLUXRAYS_DISABLE_OPENCL:BOOL=ON
+
+do-install:
+ (cd ${WRKSRC}/include && ${COPYTREE_SHARE} . ${PREFIX}/include)
+ ${INSTALL_DATA} ${WRKSRC}/lib/libluxrays.a ${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/graphics/luxrays/distinfo b/graphics/luxrays/distinfo
new file mode 100644
index 000000000000..65654490f6eb
--- /dev/null
+++ b/graphics/luxrays/distinfo
@@ -0,0 +1,2 @@
+SHA256 (luxrender/475fbf15f0ca.tar.bz2) = 6643669befeb3c607fcd80ab82979a47fbbb60da97246bbfabe536d13dedfe8f
+SIZE (luxrender/475fbf15f0ca.tar.bz2) = 55765775
diff --git a/graphics/luxrays/files/patch-CMakeLists.txt b/graphics/luxrays/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..fa1fa3bf098b
--- /dev/null
+++ b/graphics/luxrays/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2013-08-04 12:25:45.415147716 +0200
++++ CMakeLists.txt 2013-08-04 12:26:52.319147148 +0200
+@@ -142,7 +142,7 @@
+ message(WARNING "SLG2 requires OpenCL support, not building")
+ endif(NOT LUXRAYS_DISABLE_OPENCL)
+
+- add_subdirectory(samples/smallluxgpu3)
++ # add_subdirectory(samples/smallluxgpu3)
+ endif(OPENGL_FOUND AND GLUT_FOUND AND GLEW_FOUND)
+
+
diff --git a/graphics/luxrays/files/patch-include-luxrays-core-geometry-frame.h b/graphics/luxrays/files/patch-include-luxrays-core-geometry-frame.h
new file mode 100644
index 000000000000..56fb882f8628
--- /dev/null
+++ b/graphics/luxrays/files/patch-include-luxrays-core-geometry-frame.h
@@ -0,0 +1,16 @@
+--- include/luxrays/core/geometry/frame.h.orig 2013-08-04 12:00:53.496371213 +0200
++++ include/luxrays/core/geometry/frame.h 2013-08-04 12:01:10.695167535 +0200
+@@ -44,11 +44,11 @@
+ SetFromZ(z);
+ }
+
+- Frame(const Normal &z) {
++ Frame(const luxrays::Normal &z) {
+ SetFromZ(Vector(z));
+ }
+
+- void SetFromZ(const Normal &z) {
++ void SetFromZ(const luxrays::Normal &z) {
+ SetFromZ(Vector(z));
+ }
+
diff --git a/graphics/luxrays/files/patch-samples-benchsimple-CMakeLists.txt b/graphics/luxrays/files/patch-samples-benchsimple-CMakeLists.txt
new file mode 100644
index 000000000000..99735bb48d02
--- /dev/null
+++ b/graphics/luxrays/files/patch-samples-benchsimple-CMakeLists.txt
@@ -0,0 +1,8 @@
+--- samples/benchsimple/CMakeLists.txt.orig 2013-08-04 12:21:54.850147165 +0200
++++ samples/benchsimple/CMakeLists.txt 2013-08-04 12:22:17.696646898 +0200
+@@ -23,4 +23,4 @@
+ link_directories (${LuxRays_LIB_DIR})
+
+ add_executable(benchsimple benchsimple.cpp)
+-target_link_libraries(benchsimple luxrays)
++target_link_libraries(benchsimple luxrays pthread)
diff --git a/graphics/luxrays/pkg-descr b/graphics/luxrays/pkg-descr
new file mode 100644
index 000000000000..caa8c838994a
--- /dev/null
+++ b/graphics/luxrays/pkg-descr
@@ -0,0 +1,11 @@
+LuxRays is library dedicated to accelerate the ray intersection process by
+using GPUs.
+
+Uses a Data Parallel Model: it doesn't reduce the time spent to trace a single
+ray but it is able to trace many thousands of rays in parallel.
+
+Supports Hybrid CPU/GPU mode where only the ray intersection task is off load
+to the GPUs while everything else run on the CPU and can be written with usual
+tools and languages.
+
+WWW: http://www.luxrender.net/wiki/LuxRays
diff --git a/graphics/luxrays/pkg-plist b/graphics/luxrays/pkg-plist
new file mode 100644
index 000000000000..8df231d42847
--- /dev/null
+++ b/graphics/luxrays/pkg-plist
@@ -0,0 +1,79 @@
+include/luxrays/accelerators/bvhaccel.h
+include/luxrays/accelerators/mqbvhaccel.h
+include/luxrays/accelerators/qbvhaccel.h
+include/luxrays/cfg.h
+include/luxrays/core/accelerator.h
+include/luxrays/core/context.h
+include/luxrays/core/dataset.h
+include/luxrays/core/device.h
+include/luxrays/core/epsilon.h
+include/luxrays/core/geometry/bbox.h
+include/luxrays/core/geometry/bsphere.h
+include/luxrays/core/geometry/frame.h
+include/luxrays/core/geometry/frame.h.orig
+include/luxrays/core/geometry/matrix4x4.h
+include/luxrays/core/geometry/normal.h
+include/luxrays/core/geometry/point.h
+include/luxrays/core/geometry/ray.h
+include/luxrays/core/geometry/raybuffer.h
+include/luxrays/core/geometry/transform.h
+include/luxrays/core/geometry/triangle.h
+include/luxrays/core/geometry/uv.h
+include/luxrays/core/geometry/vector.h
+include/luxrays/core/geometry/vector_normal.h
+include/luxrays/core/intersectiondevice.h
+include/luxrays/core/trianglemesh.h
+include/luxrays/core/utils.h
+include/luxrays/core/virtualdevice.h
+include/luxrays/kernels/kernels.h
+include/luxrays/luxrays.h
+include/luxrays/opencl/device.h
+include/luxrays/opencl/intersectiondevice.h
+include/luxrays/opencl/opencl.h
+include/luxrays/opencl/utils.h
+include/luxrays/utils/convtest/convtest.h
+include/luxrays/utils/convtest/pdiff/lpyramid.h
+include/luxrays/utils/convtest/pdiff/metric.h
+include/luxrays/utils/core/atomic.h
+include/luxrays/utils/core/exttrianglemesh.h
+include/luxrays/utils/core/mc.h
+include/luxrays/utils/core/randomgen.h
+include/luxrays/utils/core/spectrum.h
+include/luxrays/utils/film/film.h
+include/luxrays/utils/film/filter.h
+include/luxrays/utils/film/framebuffer.h
+include/luxrays/utils/film/tonemapping.h
+include/luxrays/utils/plymesh/LICENSE
+include/luxrays/utils/plymesh/rply.h
+include/luxrays/utils/properties.h
+include/luxrays/utils/sampler/sampler.h
+include/luxrays/utils/sdl/bsdf.h
+include/luxrays/utils/sdl/bsdfevents.h
+include/luxrays/utils/sdl/camera.h
+include/luxrays/utils/sdl/data/rgbD65_32.h
+include/luxrays/utils/sdl/data/rgbE_32.h
+include/luxrays/utils/sdl/data/sun_spect.h
+include/luxrays/utils/sdl/data/xyzbasis.h
+include/luxrays/utils/sdl/extmeshcache.h
+include/luxrays/utils/sdl/light.h
+include/luxrays/utils/sdl/material.h
+include/luxrays/utils/sdl/scene.h
+include/luxrays/utils/sdl/sdl.h
+include/luxrays/utils/sdl/spd.h
+include/luxrays/utils/sdl/texmap.h
+lib/libluxrays.a
+@dirrm include/luxrays/utils/sdl/data
+@dirrm include/luxrays/utils/sdl
+@dirrm include/luxrays/utils/sampler
+@dirrm include/luxrays/utils/plymesh
+@dirrm include/luxrays/utils/film
+@dirrm include/luxrays/utils/core
+@dirrm include/luxrays/utils/convtest/pdiff
+@dirrm include/luxrays/utils/convtest
+@dirrm include/luxrays/utils
+@dirrm include/luxrays/opencl
+@dirrm include/luxrays/kernels
+@dirrm include/luxrays/core/geometry
+@dirrm include/luxrays/core
+@dirrm include/luxrays/accelerators
+@dirrm include/luxrays