LuxCore: new features

Discussion related to the implementation of new features & algorithms to the Core Engine.

Moderators: Dade, jromang, tomb, zcott, coordinators

Re: LuxCore: new features

Postby Dade » Thu Feb 23, 2017 4:02 am

The guys at Intel Embree have accepted to expose the BVH builder like I did in our special version of Embree. It will be included in the next 2.15 release so we will be able to use official Embree binaries again from that version.
User avatar
Dade
Developer
 
Posts: 8314
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: LuxCore: new features

Postby kalel » Thu Feb 23, 2017 8:10 am

Dade wrote:The guys at Intel Embree have accepted to expose the BVH builder like I did in our special version of Embree. It will be included in the next 2.15 release so we will be able to use official Embree binaries again from that version.


Great, just curious, will the possibly newer version have any advantages? I don't know if they perform any optimizations or other improvements with newer builds, or e.g. simply expand the feature set.
kalel
 
Posts: 258
Joined: Sun Jul 17, 2016 6:35 am

Re: LuxCore: new features

Postby Dade » Thu Feb 23, 2017 8:34 am

kalel wrote:Great, just curious, will the possibly newer version have any advantages? I don't know if they perform any optimizations or other improvements with newer builds, or e.g. simply expand the feature set.


Yes, there are new features (https://embree.github.io/ version history section) but don't expect any significative improvement in ray intersection test: there is very much else to squeeze there. It is more stuff related to new features or specific platforms (Xeon Phi, etc.).
User avatar
Dade
Developer
 
Posts: 8314
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: LuxCore: new features

Postby neo2068 » Thu Feb 23, 2017 2:35 pm

Dade wrote:The guys at Intel Embree have accepted to expose the BVH builder like I did in our special version of Embree. It will be included in the next 2.15 release so we will be able to use official Embree binaries again from that version.

That's great news. :D
i7 5820K, 32 GB RAM, NVIDIA Geforce GTX 780 + GTX 560, Windows 10 64bit, Blender 2.77a
neo2068
Developer
 
Posts: 739
Joined: Sun May 03, 2009 2:11 am
Location: Germany

Re: LuxCore: new features

Postby jeanphi » Sat Mar 04, 2017 7:32 am

Hi,

Regarding portals, the portal as a shader can be much faster, but will prevent proper lighting of objects outside the portal. The main issue with LuxRender style portals is that the pdf computations are quite tricky and can be expensive.

With sun light, portals are only useful for light paths, so only for bidirectional rendering. For sky light or hemi lights, it really helps for interior renderings, even with the power of GPUs, but the complexity of the computations of LuxRender portals will probably kill GPU processing.

Jeanphi
jeanphi
Developer
 
Posts: 7943
Joined: Mon Jan 14, 2008 7:21 am

Re: LuxCore: new features

Postby sharlybg » Sat Mar 04, 2017 11:18 am

jeanphi wrote:Hi,

Regarding portals, the portal as a shader can be much faster, but will prevent proper lighting of objects outside the portal. The main issue with LuxRender style portals is that the pdf computations are quite tricky and can be expensive.

With sun light, portals are only useful for light paths, so only for bidirectional rendering. For sky light or hemi lights, it really helps for interior renderings, even with the power of GPUs, but the complexity of the computations of LuxRender portals will probably kill GPU processing.

Jeanphi



Most of well lighting Indoor rendering use HDRis Or sunSky. If Portals can accelerate theses lighting scenario it is far enough. :D
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: LuxCore: new features

Postby sharlybg » Thu Apr 27, 2017 7:51 am

i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.
User avatar
sharlybg
 
Posts: 679
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: LuxCore: new features

Postby minecraft2048 » Wed Jul 19, 2017 2:08 am

neo2068 wrote:I fixed the bug with multiple densitygrids but with biased path it aborts rendering with CL_OUT_OF_RESSOURCES on my GTX 780 and GTX 560. With path I get a CL_INVALID_BINARY error.

smoke OCL-CPU2.jpg

Code: Select all
Starting export...
[SDL][17.047] Camera type: perspective
[SDL][17.047] Camera position: Point[1.75046, -1.56039, 0.290355]
[SDL][17.047] Camera target: Point[1.23477, -0.713546, 0.420453]
[SDL][17.047] Camera clipping plane disabled
Converting volume: air
Converting volume: smoke
[Cube] Beginning smoke export (channel: fire)
[Cube] Smoke export of channel fire took 0.027s
[Cube] Beginning smoke export (channel: density)
[Cube] Smoke export of channel density took 0.024s
Converting object Suzanne
Converting material: monkey
Converting object Plane
Converting material: ground
Converting object Cube
Converting material: Material
Converting lightgroup "" (ID: 0)
Export finished (1.4s)
[SDL][18.531] Texture definition: fire
[SDL][18.547] Texture definition: emission
[SDL][18.547] Texture definition: emission_colorramp
[SDL][18.547] Texture definition: density
[SDL][18.563] Texture definition: scatter
[SDL][18.563] Texture definition: scatter_colorramp
[SDL][18.563] Texture definition: smoke_vol_emissionscale
[SDL][18.563] Volume definition: air_vol
[SDL][18.563] Volume definition: smoke_vol
[SDL][18.563] Material definition: monkey_mat
[SDL][18.563] Material definition: ground_mat
[SDL][18.563] Material definition: Material_mat
[SDL][18.563] Scene objects count: 3
[SDL][18.563] Light definition: Lamp_sun
[SDL][18.563] Light definition: Lamp_sky
[LuxCore][18.578] Configuration:
[LuxCore][18.578]   film.filter.type = "BLACKMANHARRIS"
[LuxCore][18.578]   film.filter.width = 1.5
[LuxCore][18.578]   sampler.type = "SOBOL"
[LuxCore][18.578]   renderengine.type = "PATHOCL"
[LuxCore][18.578]   path.maxdepth = 129
[LuxCore][18.578]   path.clamping.variance.maxvalue = 500
[LuxCore][18.578]   path.clamping.pdf.value = 0
[LuxCore][18.578]   path.forceblackbackground.enable = 0
[LuxCore][18.578]   lightstrategy.type = "LOG_POWER"
[LuxCore][18.578]   renderengine.seed = 1
[LuxCore][18.578]   opencl.cpu.use = 1
[LuxCore][18.594]   opencl.gpu.use = 1
[LuxCore][18.594]   opencl.devices.select = "1000"
[LuxCore][18.594]   film.opencl.enable = 0
[LuxCore][18.594]   opencl.kernelcache = "PERSISTENT"
[LuxCore][18.594]   film.width = 800
[LuxCore][18.594]   film.height = 800
[LuxCore][18.594]   accelerator.instances.enable = 1
[LuxCore][18.594]   film.outputs.1.type = "RGB_TONEMAPPED"
[LuxCore][18.594]   film.outputs.1.filename = "E:/Temp/smoke_test.Scene.00028_RGB_TONEMAPPED_.png"
[LuxCore][18.594]   scene.epsilon.min = 1.0000000000000001e-005
[LuxCore][18.594]   biaspathocl.devices.maxtiles = "1"
[LuxCore][18.594]   film.imagepipeline.0.type = "TONEMAP_LINEAR"
[LuxCore][18.594]   film.imagepipeline.0.scale = 0.44444444444444442
[LuxCore][18.594]   film.radiancescales.0.enabled = 1
[LuxCore][18.594]   film.radiancescales.0.globalscale = 1
[LuxCore][18.594] Film resolution: 800x800
[SDL][18.594] Film output definition: RGB_IMAGEPIPELINE [image.png]
[SDL][18.594] Image pipeline: film.imagepipeline
[SDL][18.594] Image pipeline step 0: TONEMAP_LINEAR
[SDL][18.594] Film output definition: RGB_TONEMAPPED [E:/Temp/smoke_test.Scene.00028_RGB_TONEMAPPED_.png]
[LuxRays][18.641] OpenCL Platform 0: NVIDIA Corporation
[LuxRays][18.641] OpenCL Platform 1: Intel(R) Corporation
[LuxRays][18.641] OpenCL Platform 2: Advanced Micro Devices, Inc.
[LuxRays][18.641] Device 0 name: NativeThread
[LuxRays][18.641] Device 0 type: NATIVE_THREAD
[LuxRays][18.641] Device 0 compute units: 1
[LuxRays][18.641] Device 0 preferred float vector width: 4
[LuxRays][18.641] Device 0 max allocable memory: 0MBytes
[LuxRays][18.641] Device 0 max allocable memory block size: 0MBytes
[LuxRays][18.641] Device 1 name: GeForce GTX 780
[LuxRays][18.641] Device 1 type: OPENCL_GPU
[LuxRays][18.641] Device 1 compute units: 12
[LuxRays][18.641] Device 1 preferred float vector width: 1
[LuxRays][18.656] Device 1 max allocable memory: 3072MBytes
[LuxRays][18.656] Device 1 max allocable memory block size: 768MBytes
[LuxRays][18.656] Device 2 name: GeForce GTX 560
[LuxRays][18.656] Device 2 type: OPENCL_GPU
[LuxRays][18.656] Device 2 compute units: 7
[LuxRays][18.656] Device 2 preferred float vector width: 1
[LuxRays][18.656] Device 2 max allocable memory: 1024MBytes
[LuxRays][18.656] Device 2 max allocable memory block size: 256MBytes
[LuxRays][18.656] Device 3 name: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
[LuxRays][18.656] Device 3 type: OPENCL_CPU
[LuxRays][18.656] Device 3 compute units: 12
[LuxRays][18.656] Device 3 preferred float vector width: 8
[LuxRays][18.656] Device 3 max allocable memory: 32668MBytes
[LuxRays][18.656] Device 3 max allocable memory block size: 8167MBytes
[LuxRays][18.656] Device 4 name: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
[LuxRays][18.656] Device 4 type: OPENCL_CPU
[LuxRays][18.656] Device 4 compute units: 12
[LuxRays][18.672] Device 4 preferred float vector width: 8
[LuxRays][18.672] Device 4 max allocable memory: 32668MBytes
[LuxRays][18.672] Device 4 max allocable memory block size: 8167MBytes
[LuxRays][18.672] Preprocessing DataSet
[LuxRays][18.672] Total vertex count: 7986
[LuxRays][18.672] Total triangle count: 15758
[LuxRays][18.672] Preprocessing DataSet done
[LuxRays][18.688] Creating 1 intersection device(s)
[LuxRays][18.688] Allocating intersection device 0: GeForce GTX 780 (Type = OPENCL_GPU)
[LuxCore][18.688] OpenCL Devices used:
[LuxCore][18.688] [GeForce GTX 780 Intersect]
[LuxCore][18.688]   Device OpenCL version: OpenCL 1.2 CUDA
[LuxRays][18.688] Adding DataSet accelerator: BVH
[LuxRays][18.688] Total vertex count: 7986
[LuxRays][18.688] Total triangle count: 15758
[LuxRays][18.688] BVH Dataset preprocessing time: 0ms
[LuxRays][18.688] BVH builder: EMBREE_BINNED_SAH
[LuxRays][18.703] BVH build hierarchy time: 14ms
[LuxRays][18.703] BVH total build time: 14ms
[LuxRays][18.703] Total BVH memory usage: 984Kbytes
[LuxCore][18.703] Configuring 1 CPU render threads
[Lux 2016-Nov-15 08:04:23] Starting the rendering process...
[LuxRays][18.813] [Device GeForce GTX 780 Intersect] BVH mesh vertices buffer size: 93Kbytes
[LuxRays][18.813] [Device GeForce GTX 780 Intersect] BVH nodes buffer size: 984Kbytes
[LuxCore][18.813] [PathOCLRenderEngine] OpenCL task count: 524288
[LuxCore][18.813] [PathOCLBaseRenderEngine] OpenCL max. page memory size: 786432Kbytes
[LuxCore][18.828] Compile Geometry
[LuxCore][18.828] Scene geometry compilation time: 0ms
[LuxCore][18.828] Compile 17 Textures
[LuxCore][18.828] Textures compilation time: 0ms
[LuxCore][18.828] Compile 5 Materials
[LuxCore][18.828] Material compilation time: 0ms
[LuxCore][18.828] Compile Lights
[LuxCore][18.828] Lights compilation time: 0ms
[LuxCore][18.828] Compile ImageMaps
[LuxCore][18.828] Image maps page(s) count: 0
[LuxCore][18.828] Texture maps compilation time: 0ms
[LuxCore][18.828] Compile Densitygrids
[LuxCore][18.828] DensityGrid 0:
[LuxCore][18.828]    Dimensions: 96 x 96 x 96
[LuxCore][18.828]    PageIndex: 0
[LuxCore][18.828]    Voxelsindex: 0
[LuxCore][18.828]    WrapMode: 1
[LuxCore][18.844] DensityGrid 1:
[LuxCore][18.844]    Dimensions: 96 x 96 x 96
[LuxCore][18.844]    PageIndex: 0
[LuxCore][18.844]    Voxelsindex: 884736
[LuxCore][18.844]    WrapMode: 1
[LuxCore][18.844] Density grids page(s) count: 1
[LuxCore][18.844]  Density page 0 size: 6912Kbytes
[LuxCore][18.844] Density grids compilation time: 16ms
[LuxCore][18.844] Always enabled OpenCL code:
[LuxCore][18.844] Compile Geometry
[LuxCore][18.844] Scene geometry compilation time: 0ms
[LuxCore][18.844] Compile 17 Textures
[LuxCore][18.844] Textures compilation time: 0ms
[LuxCore][18.859] Compile 5 Materials
[LuxCore][18.859] Material compilation time: 0ms
[LuxCore][18.859] Compile Lights
[LuxCore][18.859] Lights compilation time: 0ms
[LuxCore][18.859] Compile ImageMaps
[LuxCore][18.859] Image maps page(s) count: 0
[LuxCore][18.859] Texture maps compilation time: 0ms
[LuxCore][18.859] Compile Densitygrids
[LuxCore][18.859] DensityGrid 0:
[LuxCore][18.859]    Dimensions: 96 x 96 x 96
[LuxCore][18.859]    PageIndex: 0
[LuxCore][18.859]    Voxelsindex: 0
[LuxCore][18.859]    WrapMode: 1
[LuxCore][18.859] DensityGrid 1:
[LuxCore][18.859]    Dimensions: 96 x 96 x 96
[LuxCore][18.859]    PageIndex: 0
[LuxCore][18.859]    Voxelsindex: 884736
[LuxCore][18.875]    WrapMode: 1
[LuxCore][18.875] Density grids page(s) count: 1
[LuxCore][18.875]  Density page 0 size: 6912Kbytes
[LuxCore][18.875] Density grids compilation time: 16ms
[LuxCore][18.875] Starting 1 PathOCL render threads
[LuxRays][18.891] [Device GeForce GTX 780 Intersect] RADIANCE_PER_PIXEL_NORMALIZEDs[0] buffer size: 10000Kbytes
[LuxRays][18.891] [Device GeForce GTX 780 Intersect] RADIANCE_PER_PIXEL_NORMALIZEDs[0] buffer size: 10000Kbytes
[LuxRays][18.891] [Device GeForce GTX 780 Intersect] Camera buffer size: 5444bytes
[LuxRays][18.891] [Device GeForce GTX 780 Intersect] Normals buffer size: 93Kbytes
[LuxRays][18.891] [Device GeForce GTX 780 Intersect] Vertices buffer size: 93Kbytes
[LuxRays][18.891] [Device GeForce GTX 780 Intersect] Triangles buffer size: 184Kbytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Mesh description buffer size: 456bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] DensityGrid descriptions buffer size: 48bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] DensityGrids buffer size: 6912Kbytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Textures buffer size: 4624bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Materials buffer size: 660bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Scene objects buffer size: 24bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Lights buffer size: 648bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Env. light indices buffer size: 8bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] Light offsets buffer size: 12bytes
[LuxRays][18.906] [Device GeForce GTX 780 Intersect] LightsDistribution buffer size: 24bytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] InfiniteLightSourcesDistribution buffer size: 24bytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] Ray buffer size: 24576Kbytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] RayHit buffer size: 10240Kbytes
[LuxCore][18.922] [PathOCLStateKernelBaseRenderThread::0] Size of a GPUTask: 356bytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] GPUTask buffer size: 182272Kbytes
[LuxCore][18.922] [PathOCLStateKernelBaseRenderThread::0] Size of a GPUTask DirectLight: 72bytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] GPUTaskDirectLight buffer size: 36864Kbytes
[LuxCore][18.922] [PathOCLStateKernelBaseRenderThread::0] Size of a GPUTask State: 232bytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] GPUTaskState buffer size: 118784Kbytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] GPUTask Stats buffer size: 2048Kbytes
[LuxCore][18.922] [PathOCLStateKernelBaseRenderThread::0] Size of a Sample: 48bytes
[LuxRays][18.922] [Device GeForce GTX 780 Intersect] Sample buffer size: 24576Kbytes
[LuxCore][18.938] [PathOCLStateKernelBaseRenderThread::0] Sample dimensions: 1167
[LuxCore][18.938] [PathOCLStateKernelBaseRenderThread::0] Size of a SampleData: 0bytes
[LuxRays][18.938] [Device GeForce GTX 780 Intersect] SampleData buffer size: 1bytes
[LuxRays][18.938] [Device GeForce GTX 780 Intersect] PathVolumeInfo buffer size: 22528Kbytes
[LuxRays][18.938] [Device GeForce GTX 780 Intersect] DirectLightVolumeInfo buffer size: 22528Kbytes
[LuxRays][18.938] [Device GeForce GTX 780 Intersect] Pixel Filter Distribution buffer size: 132Kbytes
[LuxCore][18.953] [PathOCLBaseRenderThread::0] Defined symbols:  -D LUXRAYS_OPENCL_KERNEL -D SLG_OPENCL_KERNEL -D RENDER_ENGINE_PATHOCL -D PARAM_RAY_EPSILON_MIN=1.000000e-005f -D PARAM_RAY_EPSILON_MAX=1.000000e-001f -D PARAM_LIGHT_WORLD_RADIUS_SCALE=1.000000e+001f -D PARAM_ACCEL_BVH -D PARAM_FILM_RADIANCE_GROUP_0 -D PARAM_FILM_RADIANCE_GROUP_COUNT=1 -D PARAM_ENABLE_TEX_CONST_FLOAT -D PARAM_ENABLE_TEX_CONST_FLOAT3 -D PARAM_ENABLE_TEX_IMAGEMAP -D PARAM_ENABLE_TEX_DENSITYGRID -D PARAM_ENABLE_TEX_SCALE -D PARAM_ENABLE_TEX_MIX -D PARAM_ENABLE_TEX_BAND -D PARAM_ENABLE_TEX_NORMALMAP -D PARAM_ENABLE_TEX_FRESNELCOLOR -D PARAM_ENABLE_TEX_FRESNELCONST -D PARAM_ENABLE_MAT_MATTE -D PARAM_ENABLE_MAT_NULL -D PARAM_ENABLE_MAT_CLEAR_VOL -D PARAM_ENABLE_MAT_HETEROGENEOUS_VOL -D PARAM_HAS_PASSTHROUGH -D PARAM_CAMERA_TYPE=0 -D PARAM_HAS_SKYLIGHT2 -D PARAM_HAS_SUNLIGHT -D PARAM_HAS_ENVLIGHTS -D PARAM_HAS_DENSITYGRIDS -D PARAM_DENSITYGRIDS_PAGE_0 -D PARAM_DENSITYGRIDS_COUNT=1 -D PARAM_HAS_VOLUMES -D SCENE_DEFAULT_VOLUME_INDEX=4294967295 -D PARAM_MAX_PATH_DEPTH=129 -D PARAM_MAX_PATH_DEPTH_DIFFUSE=129 -D PARAM_MAX_PATH_DEPTH_GLOSSY=129 -D PARAM_MAX_PATH_DEPTH_SPECULAR=129 -D PARAM_RR_DEPTH=3 -D PARAM_RR_CAP=5.000000e-001f -D PARAM_SQRT_VARIANCE_CLAMP_MAX_VALUE=5.000000e+002f -D PARAM_PDF_CLAMP_VALUE=0.000000e+000f -D PARAM_IMAGE_FILTER_TYPE=5 -D PARAM_IMAGE_FILTER_WIDTH_X=1.500000e+000f -D PARAM_IMAGE_FILTER_WIDTH_Y=1.500000e+000f -D PARAM_IMAGE_FILTER_PIXEL_WIDTH_X=1 -D PARAM_IMAGE_FILTER_PIXEL_WIDTH_Y=1 -D PARAM_SAMPLER_TYPE=2 -D PARAM_SAMPLER_SOBOL_RNG0=8.534878e-002f -D PARAM_SAMPLER_SOBOL_RNG1=3.454906e-002f -D PARAM_SAMPLER_SOBOL_STARTOFFSET=32 -D PARAM_SAMPLER_SOBOL_MAXDEPTH=6
[LuxCore][18.984] [PathOCLBaseRenderThread::0] Compiling kernels
[LuxCore][61.281] [PathOCLBaseRenderThread::0] PathOCL kernel compilation error
ERROR clBuildProgram[CL_INVALID_BINARY]:
ptxas error   : File uses too much global constant data (0x283b8 bytes, 0x10000 max)


What is the current status of OpenCL smoke+fire rendering? Can I use it in latest stable Luxrender?
minecraft2048
 
Posts: 29
Joined: Tue Jan 07, 2014 6:25 am

Previous

Return to Architecture & Design

Who is online

Users browsing this forum: No registered users and 4 guests