Giter Club home page Giter Club logo

luxcore's People

Contributors

acasta69 avatar alpistinho avatar catherinetower avatar codefhd avatar dade916 avatar howetuft avatar illwieckz avatar jayfoxrox avatar kroko avatar lordcrc avatar luzpaz avatar mbrukman avatar neo2068 avatar objuan avatar omidghotbi avatar omniflux avatar pciccone avatar pgvzjatrul avatar rebpdx avatar sanguinariojoe avatar silverlan avatar sjlex avatar techvintage avatar tevexo avatar thatguy3444 avatar theverat avatar tombech avatar tschw avatar u3dreal avatar umadevimcw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luxcore's Issues

Python crashes when calling sys.exit()

Python crashes when calling sys.exit() if pyluxcore.Init() was called with an call back. This is due to pyluxcore keeping a reference to the callback in a static boost::python::object. Everything works fine if python code exit normally without calling sys.exit().

I haven't yet found a work around to this problem.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Periodic save of resume rendering file

Add the support for periodic save of a resume rendering file.

Add also "safe" save (i.e. save on a temporary name, rename the old file, rename the temporary file).

syntax error in fresnel texture

Since the merge with the new spectral rendering code I get a syntax error message with fresnelpreset and fresnelsopra textures .

Example material (tex 1 works, tex2 and tex 3 Syntax error):
scene.textures.tex3.type = fresnelsopra
scene.textures.tex3.file = scenes/luxball/Au.nk
scene.textures.tex2.type = fresnelpreset
scene.textures.tex2.name = copper
scene.textures.tex1.type = fresnelcolor
scene.textures.tex1.kr = 0.7 0.0 0.0
scene.materials.shell.type = metal2
scene.materials.shell.fresnel = tex3
scene.materials.shell.uroughness = 0.05
scene.materials.shell.vroughness = 0.05

Material is black with BIDIR, works with PATH

scene.zip

BIDIR:
bidir

PATH:
path

.scn file:

scene.camera.cliphither = 0.00100000005
scene.camera.clipyon = 1.00000002e+30
scene.camera.shutteropen = 0
scene.camera.shutterclose = 1
scene.camera.lookat.orig = -2.65271783 -3.84124851 2.26758385
scene.camera.lookat.target = -2.14166713 -3.0918684 1.84656537
scene.camera.up = 0.237212077 0.347831845 0.90705204
scene.camera.screenwindow = -1 1 -0.5625 0.5625
scene.camera.lensradius = 0
scene.camera.focaldistance = 10
scene.camera.autofocus.enable = 0
scene.camera.type = "perspective"
scene.camera.oculusrift.barrelpostpro.enable = 0
scene.camera.fieldofview = 49.1343422
scene.lights.SunLAMPSUN.gain = 1 1 1
scene.lights.SunLAMPSUN.transformation = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
scene.lights.SunLAMPSUN.samples = -1
scene.lights.SunLAMPSUN.id = 0
scene.lights.SunLAMPSUN.visibility.indirect.diffuse.enable = 1
scene.lights.SunLAMPSUN.visibility.indirect.glossy.enable = 1
scene.lights.SunLAMPSUN.visibility.indirect.specular.enable = 1
scene.lights.SunLAMPSUN.type = "sun"
scene.lights.SunLAMPSUN.dir = -0.79181087 0.156163216 0.59046483
scene.lights.SunLAMPSUN.turbidity = 2.20000005
scene.lights.SunLAMPSUN.relsize = 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.gain = 1 1 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.transformation = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.samples = -1
scene.lights.__WORLD_BACKGROUND_LIGHT__.id = 0
scene.lights.__WORLD_BACKGROUND_LIGHT__.visibility.indirect.diffuse.enable = 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.visibility.indirect.glossy.enable = 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.visibility.indirect.specular.enable = 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.type = "sky2"
scene.lights.__WORLD_BACKGROUND_LIGHT__.dir = -0.79181087 0.156163216 0.59046483
scene.lights.__WORLD_BACKGROUND_LIGHT__.turbidity = 2.20000005
scene.lights.__WORLD_BACKGROUND_LIGHT__.groundalbedo = 0.5 0.5 0.5
scene.lights.__WORLD_BACKGROUND_LIGHT__.ground.enable = 0
scene.lights.__WORLD_BACKGROUND_LIGHT__.ground.color = 0.5 0.5 0.5
scene.lights.__WORLD_BACKGROUND_LIGHT__.ground.autoscale = 1
scene.textures.Imagemap_ground_tex.type = "imagemap"
scene.textures.Imagemap_ground_tex.file = "imagemap-00000.png"
scene.textures.Imagemap_ground_tex.gain = 1
scene.textures.Imagemap_ground_tex.gamma = 1
scene.textures.Imagemap_ground_tex.storage = "byte"
scene.textures.Imagemap_ground_tex.mapping.type = "uvmapping2d"
scene.textures.Imagemap_ground_tex.mapping.uvscale = 1 -1
scene.textures.Imagemap_ground_tex.mapping.uvdelta = 0 1
scene.textures.Implicit-ConstFloatTexture3-881ae599-dec1-4f30-989a-c692d3b184a4.type = "constfloat3"
scene.textures.Implicit-ConstFloatTexture3-881ae599-dec1-4f30-989a-c692d3b184a4.value = 0.649069846 0.0093759466 0.0093759466
scene.textures.Implicit-ConstFloatTexture3-bfe1f3bb-43ec-4f4a-8819-a80fd83365cd.type = "constfloat3"
scene.textures.Implicit-ConstFloatTexture3-bfe1f3bb-43ec-4f4a-8819-a80fd83365cd.value = 0.00471933186 0.172631368 0.0235267561
scene.textures.Pointer_Material_pointer.type = "checkerboard3d"
scene.textures.Pointer_Material_pointer.texture1 = "Implicit-ConstFloatTexture3-881ae599-dec1-4f30-989a-c692d3b184a4"
scene.textures.Pointer_Material_pointer.texture2 = "Implicit-ConstFloatTexture3-bfe1f3bb-43ec-4f4a-8819-a80fd83365cd"
scene.textures.Pointer_Material_pointer.mapping.type = "globalmapping3d"
scene.textures.Pointer_Material_pointer.mapping.transformation = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
scene.textures.Implicit-ConstFloatTexture-ef69bdff-1bc3-4be7-bb2e-bca6b79eebd1.type = "constfloat1"
scene.textures.Implicit-ConstFloatTexture-ef69bdff-1bc3-4be7-bb2e-bca6b79eebd1.value = 0
scene.textures.Implicit-ConstFloatTexture3-2e1ede90-1938-43ab-b806-1e383e697382.type = "constfloat3"
scene.textures.Implicit-ConstFloatTexture3-2e1ede90-1938-43ab-b806-1e383e697382.value = 0 0 0
scene.textures.Implicit-ConstFloatTexture-2cd14307-e916-48fa-aa61-d1e35aba96d3.type = "constfloat1"
scene.textures.Implicit-ConstFloatTexture-2cd14307-e916-48fa-aa61-d1e35aba96d3.value = 0
scene.textures.Implicit-ConstFloatTexture3-923c287d-2942-43ea-941c-0c3b1d55e840.type = "constfloat3"
scene.textures.Implicit-ConstFloatTexture3-923c287d-2942-43ea-941c-0c3b1d55e840.value = 1 1 1
scene.textures.Implicit-ConstFloatTexture-474db1a5-3fc1-4334-b5e6-3ee09ed9fa07.type = "constfloat1"
scene.textures.Implicit-ConstFloatTexture-474db1a5-3fc1-4334-b5e6-3ee09ed9fa07.value = 0.504559278
scene.materials.groundSURFACE.type = "roughmatte"
scene.materials.groundSURFACE.kd = "Imagemap_ground_tex"
scene.materials.groundSURFACE.sigma = "Implicit-ConstFloatTexture-ef69bdff-1bc3-4be7-bb2e-bca6b79eebd1"
scene.materials.groundSURFACE.id = 3364224
scene.materials.groundSURFACE.emission.gain = 1 1 1
scene.materials.groundSURFACE.emission.power = 0
scene.materials.groundSURFACE.emission.efficency = 0
scene.materials.groundSURFACE.emission.theta = 90
scene.materials.groundSURFACE.emission.samples = -1
scene.materials.groundSURFACE.emission.id = 0
scene.materials.groundSURFACE.visibility.indirect.diffuse.enable = 1
scene.materials.groundSURFACE.visibility.indirect.glossy.enable = 1
scene.materials.groundSURFACE.visibility.indirect.specular.enable = 1
scene.materials.groundSURFACE.shadowcatcher.enable = 0
scene.materials.groundSURFACE.shadowcatcher.onlyinfinitelights = 0
scene.materials.__BLACK__.type = "matte"
scene.materials.__BLACK__.kd = "Implicit-ConstFloatTexture3-2e1ede90-1938-43ab-b806-1e383e697382"
scene.materials.__BLACK__.id = 6728256
scene.materials.__BLACK__.emission.gain = 1 1 1
scene.materials.__BLACK__.emission.power = 0
scene.materials.__BLACK__.emission.efficency = 0
scene.materials.__BLACK__.emission.theta = 90
scene.materials.__BLACK__.emission.samples = -1
scene.materials.__BLACK__.emission.id = 0
scene.materials.__BLACK__.visibility.indirect.diffuse.enable = 1
scene.materials.__BLACK__.visibility.indirect.glossy.enable = 1
scene.materials.__BLACK__.visibility.indirect.specular.enable = 1
scene.materials.__BLACK__.shadowcatcher.enable = 0
scene.materials.__BLACK__.shadowcatcher.onlyinfinitelights = 0
scene.materials.Matte__Material_Material_mat.type = "roughmatte"
scene.materials.Matte__Material_Material_mat.kd = "Pointer_Material_pointer"
scene.materials.Matte__Material_Material_mat.sigma = "Implicit-ConstFloatTexture-2cd14307-e916-48fa-aa61-d1e35aba96d3"
scene.materials.Matte__Material_Material_mat.id = 10034367
scene.materials.Matte__Material_Material_mat.emission.gain = 1 1 1
scene.materials.Matte__Material_Material_mat.emission.power = 0
scene.materials.Matte__Material_Material_mat.emission.efficency = 0
scene.materials.Matte__Material_Material_mat.emission.theta = 90
scene.materials.Matte__Material_Material_mat.emission.samples = -1
scene.materials.Matte__Material_Material_mat.emission.id = 0
scene.materials.Matte__Material_Material_mat.visibility.indirect.diffuse.enable = 1
scene.materials.Matte__Material_Material_mat.visibility.indirect.glossy.enable = 1
scene.materials.Matte__Material_Material_mat.visibility.indirect.specular.enable = 1
scene.materials.Matte__Material_Material_mat.shadowcatcher.enable = 0
scene.materials.Matte__Material_Material_mat.shadowcatcher.onlyinfinitelights = 0
scene.materials.MaterialSURFACE.type = "mix"
scene.materials.MaterialSURFACE.material1 = "__BLACK__"
scene.materials.MaterialSURFACE.material2 = "Matte__Material_Material_mat"
scene.materials.MaterialSURFACE.amount = "Implicit-ConstFloatTexture-474db1a5-3fc1-4334-b5e6-3ee09ed9fa07"
scene.materials.MaterialSURFACE.id = 13398304
scene.materials.MaterialSURFACE.emission.gain = 1 1 1
scene.materials.MaterialSURFACE.emission.power = 100
scene.materials.MaterialSURFACE.emission.efficency = 17
scene.materials.MaterialSURFACE.emission.theta = 90
scene.materials.MaterialSURFACE.emission.samples = -1
scene.materials.MaterialSURFACE.emission.id = 0
scene.materials.MaterialSURFACE.emission = "Implicit-ConstFloatTexture3-923c287d-2942-43ea-941c-0c3b1d55e840"
scene.materials.MaterialSURFACE.visibility.indirect.diffuse.enable = 1
scene.materials.MaterialSURFACE.visibility.indirect.glossy.enable = 1
scene.materials.MaterialSURFACE.visibility.indirect.specular.enable = 1
scene.materials.MaterialSURFACE.shadowcatcher.enable = 0
scene.materials.MaterialSURFACE.shadowcatcher.onlyinfinitelights = 0
scene.objects.Plane000.material = "groundSURFACE"
scene.objects.Plane000.ply = "mesh-00000.ply"
scene.objects.Plane000.transformation = 2.6944859 0 0 0 0 2.6944859 0 0 0 0 2.6944859 0 0 0 0 1
scene.objects.Sphere000.material = "MaterialSURFACE"
scene.objects.Sphere000.ply = "mesh-00001.ply"
scene.objects.Sphere000.transformation = 0.658479452 0 0 0 0 0.658479452 0 0 0 0 0.658479452 0 -0.595433474 -0.957952261 0.484843493 1

Regression: Meshlights with many triangles take a very long time to initialize

I just updated to the latest LuxCore and somewhere in the last commits this regression happened I think.
I don't know what the last working commit was, but I think the one I had before was around 208f71b.

The problem: When I put a light emitting material on the LuxBall, the intialization takes a very long time (singlethreaded apparently). Before the regression this was instant, no noticeable difference between light emitting materials and non-light-emitting.
Here's a test scene:
testscene.zip

And here's the CPU usage during the startup (on the left it starts, on the right the render starts with all cores)
scrn_2017-12-22_00-14-12

This is the log:

[SDL][4.850] Material definition: Material__001SURFACE
[SDL][4.852] The Luxball000 object is a light sources with 85824 triangles
[SDL][36.040] Scene objects count: 1
[SDL][36.041] The Luxball__ring000 object is a light sources with 12386 triangles
[SDL][40.490] Scene objects count: 3

Tested on Linux 64 bit no OpenCL.
P.S. once the render runs, I can move around the scene normally (very fast).

undefined symbol: rtcNewInstance2

Continued from: https://forums.luxcorerender.org/viewtopic.php?f=5&t=19&p=323#p320

Any scene I try crashes when I use TILEPATH engine.
Example: testfile.zip
I exported this simple scene with FILESAVER. When I try to start it with luxcoreui, it closes and the end of the log shows this:

[LuxRays][0.059] Adding DataSet accelerator: EMBREE
[LuxRays][0.059] Total vertex count: 4
[LuxRays][0.059] Total triangle count: 2
./bin/luxcoreui: symbol lookup error: ./bin/luxcoreui: undefined symbol: rtcNewInstance2

Maybe my build is messed up? I'll try a full rebuild.
edit: Did not help.
When started from Blender it crashes with a SIGSEGV when I try to stop the render.

By the way, it would make my life much easier if LuxCore would try to find files with incorrect filepaths in the current directory as a fallback.
(E.g. if "scene.scn" is not at the specified path that was set by FILESAVER, try to find it in the folder where the root render.cfg lies)

PATHOCL+METROPOLIS output difference with PATHOCL+RANDOM/SOBOL

Sometime there is a difference in average image luminance when rendering with PATHOCL+METROPOLIS and PATHOCL+RANDOM/SOBOL or PATHCPU+RANDOM/SOBOL/METROPOLIS.
This may be explained with the startup bias due to large number of tasks in OpenCL but may be also a bug.

CPU+RANDOM:
cpu-rnd
CPU+METROPOLIS:
cpu-met
GPU+RANDOM:
gpu-rnd
GPU+METROPOLIS:
gpu-met

LuxCore has a image write error after a certain render time

When I start a final render in Blender, LuxCore can't write the output image after a certain render time (approx. 10 minutes).

Blender LuxCore Log:

[...]
[LuxCore][25.531] [LinearToneMap] Kernels compilation time: 47ms
[LuxCore][623.922] Outputting film: RGB_IMAGEPIPELINE.png type: 2
Traceback (most recent call last):
  File "F:\Users\Michael\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlendLuxCore\engine\__init__.py", line 115, in render
    stats = utils_render.refresh(self, scene, config, draw_film, time_until_film_refresh)
  File "F:\Users\Michael\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlendLuxCore\utils\render.py", line 25, in refresh
    engine._session.UpdateStats()
RuntimeError: Error while writing an output type in Film::Output(): e0594766-e2cf-4246-b4ba-84bb197a903c.png
ERROR: Error while writing an output type in Film::Output(): e0594766-e2cf-4246-b4ba-84bb197a903c.png
[LuxCore][624.343] [GeForce GTX 1080 Intersect] Memory used for OpenCL image pipeline: 81076Kbytes
LuxCoreRenderEngine del
Error: Error while writing an output type in Film::Output(): e0594766-e2cf-4246-b4ba-84bb197a903c.png

Test scene:
full_export.zip

Travis CI for releases

I just discovered that Travis CI can upload the compiled binaries to create releases on github:

Now all we need is a cross compiler so Travis can also build Windows binaries for us and we'll never again have to package a release by hand...

Red fringe when using dispersion on a sphere

I noticed a red fringe on a sphere with dispersion enabled (cauchyc 0.05).

red_fringe1

Higher cauchy c value (0.2) makes it stronger:
red_fringe2

I went back to 765fb61 and it shows the same red fringe.
So I do not think it was introduced in the latest glass sampling changes.
765fb611bef8bf3cadf037b4cf8e1daed1559c50

Classic API does not show this kind of fringe.
classic

Testscene:
00019.zip

Do not crash when incorrect sampler is set for RTPATHOCL engine

Hi, it would be great if LuxCore would output a message that the right sampler is TILEPATHSAMPLER and not simply crash without output.
Similar to the other engines that require a special sampler.

Edit: the same happens with TILEPATHOCL and TILEPATHCPU engines.

Edit 2: weird, when I do a final render and use TILEPATHOCL with incorrect sampler, I get the desired runtime error:
RuntimeError: (RT)TILEPATHOCL render engine can use only TILEPATHSAMPLER
Seems I'm handling the error wrong during viewport renders, let me check.

During viewport render it also prints the runtime error to console, but afterwards Blender crashes:

Traceback (most recent call last):
  File "F:\Users\Simon_2\AppData\Roaming\Blender Foundation\Blender\2.79\scripts
\addons\BlendLuxCore\engine\__init__.py", line 82, in view_update_lux
    self._session.Start()
RuntimeError: (RT)TILEPATHOCL render engine can use only TILEPATHSAMPLER
Error: EXCEPTION_ACCESS_VIOLATION

F:\Users\Simon_2>

This is the code:

            try:
                self.update_stats("Creating Render Session...", "")
                self._session = self._exporter.create_session(context.scene, context)
                self._session.Start()
                self.update_stats("Viewport Render", "")
                return
            except Exception as error:
                self.update_stats("Error: ", str(error))
                import traceback
                traceback.print_exc()

Use boost::bimap

Use boost::bimap instead of 2 hast tables, sets, etc. in all definition repositories inside Scene class.

visibility.indirect.*.enable does not seem to work

I'm setting the visibility like this:

scene.lights.__WORLD_BACKGROUND_LIGHT__.visibility.indirect.diffuse.enable = 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.visibility.indirect.glossy.enable = 1
scene.lights.__WORLD_BACKGROUND_LIGHT__.visibility.indirect.specular.enable = 0

scene.zip
But when I test it with a sphere with mirror material (specular, right?) the sky2 is still visible in the reflection.
Do I misunderstand how this should work or is there a bug?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.