1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-11 02:50:24 +00:00

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>
This commit is contained in:
William Grzybowski 2013-08-07 22:22:17 +00:00
parent 3e1ce8c9e5
commit de047d1b6d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=324366
8 changed files with 160 additions and 0 deletions

View File

@ -574,6 +574,7 @@
SUBDIR += lprof-devel
SUBDIR += lua-gd
SUBDIR += luminance
SUBDIR += luxrays
SUBDIR += luxrender
SUBDIR += mahotas
SUBDIR += makehuman

32
graphics/luxrays/Makefile Normal file
View File

@ -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>

View File

@ -0,0 +1,2 @@
SHA256 (luxrender/475fbf15f0ca.tar.bz2) = 6643669befeb3c607fcd80ab82979a47fbbb60da97246bbfabe536d13dedfe8f
SIZE (luxrender/475fbf15f0ca.tar.bz2) = 55765775

View File

@ -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)

View File

@ -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));
}

View File

@ -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)

View File

@ -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

View File

@ -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