oaschwab
(oaschwab)
May 28, 2019, 8:27pm
182
Nice animation but the focus racks so quickly it makes it feel weird.
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
June 8, 2019, 8:26pm
183
The 2.8 port is coming along, I’m laying the foundations step by step.
What’s working so far:
the addon registers without errors (I had to edit 150 files to reach this point, a lot of search/replace of course)
I have ported the viewport draw code to modern OpenGL
I can start a small, hard-coded testscene that is rendered in the viewport, and I can move the camera around
I have ported our C+±accelerated mesh conversion code, so I can load meshes from Blender into Lux (at the moment only one object can be used)
What’s not working yet:
Everything else
Final render, viewport render, material previews are not usable yet
The whole UI is disabled, meaning that the property window is very empty
The viewport camera is slightly off for some reason
I’m mostly done with the groundwork though.
If you want to support this development, you can raise the bounty on the 2.8 github issue:
opened 06:51PM - 26 May 18 UTC
closed 08:54AM - 03 Oct 19 UTC
refactoring
bounty
This issue is used to track the progress of the Blender 2.8 port of LuxCore's Bl… ender addon.
You can contribute to the development by [raising the bounty](https://www.bountysource.com/issues/58875521-blender-2-8?utm_campaign=plugin&utm_content=tracker%2F80143047&utm_medium=issues&utm_source=github) on this issue.
### Info about the required changes:
* [Changes Overview](https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API)
* [API Docs](https://docs.blender.org/api/blender2.8/)
---
* https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/UI_API
* https://wiki.blender.org/index.php/Dev:2.8/Source/Python/UpdatingScripts
* https://github.com/nortikin/sverchok/issues/1783
* https://devtalk.blender.org/t/prepping-addons-for-2-8/265/8
* interesting stuff about the new depsgraph: https://wiki.blender.org/wiki/Source/Depsgraph
* new opengl draw api: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Draw_API
* New callbacks: https://developer.blender.org/D3977
* new timer API: https://docs.blender.org/api/blender2.8/bpy.app.timers.html
* https://blenderartists.org/t/2-80-cheat-sheet-for-updating-add-ons/1148974
* Changes in depsgraph handling: https://developer.blender.org/rBe693918d40741b0839cea84d2e0c386cc262e0c3
* https://docs.blender.org/api/blender2.8/bpy.types.Depsgraph.html
### Todo:
#### Preparation (still 2.79 compatible):
* [x] Move all classes that need to be registered out of `__init__.py` files (so auto_load.py can find them)
* [x] Base nodes
* [x] Node trees
* [x] Operators
* [x] Change all inheritance chains involving `bpy.types` classes into multi inheritance (e.g. if we have base class `LuxCoreNode`, then subclasses like `LuxCoreNodeMatte` should use multi inheritance: `LuxCoreNodeMatte(bpy.types.Node, LuxCoreNode)`)
* [x] Nodes
* [x] Node trees
* [x] Node sockets
* [x] Operators
* [x] Menus
* [x] Use auto_load.py instead of `bpy.utils.register_module` (deprecated in 2.80)
#### 2.80 Port
Basics:
* [x] Register node trees
* [x] UI
* [X] Port our custom UI panels, adapt to single-column layout
* [x] Fix ui/texture.py, a lot has changed in the API (I think it was mostly copied from Blender code, so we can try to do that again)
* [x] Move our custom imageviewer panels to the right side (out of the tools panel)
* [ ] Can we impose an order on Blender panels? Currently they are sometimes mixed with ours in a non-optimal way.
* [x] Create a unified cache panel that contains PhotonGI, DLSC and Env. Light Cache settings (the latter will be used for all environment lights, which shouldn't be a problem because usually there's only one)
* [x] We can't use the `template_ID()` function from the Blender API for our material UI because we need not only a custom "new" operator, but also a custom "copy" operator (otherwise the node tree is not copied and two different materials share the same node tree). So we need to build our own UI that looks as close to the `template_ID()` result as possible (see the 2.79 BlendLuxCore code for an example)
* [x] Check if we should use `depsgraph.scene` or `depsgraph.scene_eval` (documentation is missing, read the Blender source code or ask in devtalk) -> Cycles uses `scene_eval`, so we should do the same
* [x] Scene export/conversion
* [x] Port mesh export code
* [x] port pyluxcore conversion function (C++)
* [x] new mesh api: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Mesh_API
* [x] Object export (I want to rework this so it works with shared meshes and instances out of the box and reliable in viewport render)
* [x] Instance export
* [x] Transformation update in viewport
* [x] Mesh update in viewport
* [x] Motion blur (important: https://developer.blender.org/T60771)
* [x] Autosmooth
* [x] Light export
* [x] World light export
* [x] Material export
* [x] Material viewport updates
* [x] (Waiting for a fix of https://developer.blender.org/T66521) looks like we won't get one, we'll have to find a workaround (probably property update methods)
* [x] Pointiness export
* [x] Hair export
* [x] Fix Export of Vertex Colors and UVs for hairs
* [x] Port viewport render draw code (there's a good example in the [Blender API docs](https://docs.blender.org/api/master/bpy.types.RenderEngine.html))
* [x] Viewport render
* [x] Do session init in separate thread for responsive UI (maybe also mesh conversion)
* [ ] Rework camera screenwindow calculation (can we use `context.region.view2d.view_to_region`?)
* [x] Final render
* [x] Basics
* [x] Tile Draw Handler
* [x] Fix halt conditions not being updated during render (perhaps use `depsgraph.scene` instead of `depsgraph.scene_eval` in render engine for halt conditions)
* [x] Port the function that ensures that a material and it's custom node tree always have the same name
Extras:
* [x] LuxCore will have to change the Python version to the one 2.8 uses (3.7.0)
* [ ] Reopen issue #38
* [ ] Choose new icons for better/worse/equal states in the statistics panel
* [x] Material preview
* [x] Fix hair preview
* [x] Check if we could replace blender shader ball with LuxCore shader ball
* [X] Use Cycles' "shadow_soft_size" property instead of our custom "radius" for point lights
* [ ] Cycles scene reader: #272
* [ ] Make it easier to find the denoised result, e.g. by replacing combined once a denoised result exists and writing the noisy raw output into an extra "NOISY" pass (the "DENOISED" pass would be removed)
* [ ] Fix motion blur for viewport renders
* [ ] Rewrite the main readme file, it is outdated
<bountysource-plugin>
---
The **[$430 bounty](https://www.bountysource.com/issues/58875521-blender-2-8?utm_campaign=plugin&utm_content=tracker%2F80143047&utm_medium=issues&utm_source=github)** on this issue has been claimed at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F80143047&utm_medium=issues&utm_source=github).
</bountysource-plugin>
In other news:
HugTower has implemented a new math texture: rounding.
You can specify the increment to round to.
For example, if the increment is 1, you get no decimal places after rounding: 34.567 → 35
If the increment is 0.1, you get one decimal place: 34.567 → 34.6
The increment can be textured.
I have added the support in BlendLuxCore on the 2.79_maintenance branch: https://github.com/LuxCoreRender/BlendLuxCore/tree/2.79_maintenance
17 Likes
burnin
June 9, 2019, 7:00am
184
Bounty broken.
Why there’s no simple donations like in the old days?
1 Like
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
June 9, 2019, 8:18am
185
The whole bountysource page seems to have problems at the moment.
This is the first time I noticed this. We have evaluated a lot of donation services and bountysource seemed like the best choice at the time. Let’s see how quick they fix this outage.
You can do simple donations via bountysource (when the site is working).
Ozu
(Ozu)
June 9, 2019, 8:59am
186
Awesome! Thanks for your great work
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
June 16, 2019, 7:49pm
187
We have released v2.2beta2: https://forums.luxcorerender.org/viewtopic.php?f=9&t=1172#p13775
Some highlights:
Disney BRDF
Stefan Bergmann has implemented the Disney BRDF material from Siggraph 2012 paper in LuxCoreRender for his master thesis and he was so kind to donate the code back to the project.
For details, see https://forums.luxcorerender.org/viewtopic.php?f=5&t=1123
Env. Light Visiblity Cache
Dade has implemented an extended version of his “automatic portals” technique.
Note, this is only available on the CPU right now, the implementation for OpenCL engines is not done yet.
Details: https://forums.luxcorerender.org/viewtopic.php?f=5&t=1109
A comparison, this is without any map:
This is with a single visibility map, the technique we had since a while:
And this is the new cache, which stores multiple visibility maps:
New math textures
I have added “Split RGB” and “Combine RGB” nodes.
HugTower has implemented two new math textures: round and modulo (fmod).
Details: https://forums.luxcorerender.org/viewtopic.php?f=5&t=9&start=530#p13443
Tiled OIDN denoising
CodeHD has implemented tiled denoising, which splits the rendered image into tiles to save a lot of RAM during the denoising phase, trading for a slightly longer denoising time.
The tile size can be changed in the denoiser settings.
Details: https://forums.luxcorerender.org/viewtopic.php?f=5&t=967&start=60#p13230
PhotonGI documentation
@Linkun wrote a wiki page about the PhotonGI cache: https://wiki.luxcorerender.org/PhotonGI
A big thanks to all contributors and to our donors for their support!
15 Likes
oaschwab
(oaschwab)
June 16, 2019, 9:09pm
188
Awesome work! This is still 2.79, correct?
chafouin
(chafouin)
June 16, 2019, 9:24pm
189
The Disney material will be a huge boost for LuxCore adoption, can’t wait to try it in 2.8!
3 Likes
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
June 16, 2019, 9:45pm
190
Yes, v2.2 will still support Blender 2.79 only.
The work on 2.80 support happens in parallel.
5 Likes
Harvester
(Harvester)
June 17, 2019, 12:30pm
191
This is a great release! Thank you.
1 Like
Dade
(Dade)
June 27, 2019, 3:05pm
192
Some of the latest developments for v2.2:
and a B.Y.O.B.'s animation test (45secs per frame): https://www.youtube.com/watch?v=MXKYdekMgSE
15 Likes
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
June 27, 2019, 3:14pm
193
To further explain this new feature:
LuxCore can now compute complex caustic paths on the CPU while the rest of the paths are rendered on the GPU(s) via OpenCL. There is no caching involved in this feature (although it can be used in conjunction with indirect light caching, like Dade did in the above render).
Since caustic paths done via light tracing are noise-free very fast, even on the CPU, this leads to the extremely short render times you can see above.
15 Likes
omodo
(Dodoma)
June 27, 2019, 4:24pm
194
This is fantastic guys. can’t wait to try it.
1 Like
Kramon
(Kramon)
June 28, 2019, 3:00pm
195
amazeing. can’t wait for 2.8 also about disney shader that is so awesome will make transition from cycles to lux render sceen just a blast or eevee!
1 Like
pafurijaz
(pafurijaz)
June 29, 2019, 10:46am
196
still with a lot of crashes but I think is the best engine available for free and not
B.Y.O.B
(Node Preview and LuxCore Addon Developer)
June 29, 2019, 10:59am
197
Please report any crashes, otherwise we can’t fix them. https://github.com/LuxCoreRender/BlendLuxCore/issues/new
By the way, one type of crash happening on undo was a bug in Blender and has been fixed in 2.80: https://developer.blender.org/T63706
pafurijaz
(pafurijaz)
June 29, 2019, 11:19am
198
Ok, I will, I try to use more in my works from now, I always done only a testing session with critical scenes and comparing quality with others, The crashes as always keep me away to use and prefer the simple solution Cycles, but some times i like the quality of the result for the statics images.
sharlybg
(sharlybg)
July 3, 2019, 3:05pm
199
My 10 min render 4K caustics Test :
16 Likes
lsscpp
(Lsscpp)
July 3, 2019, 7:34pm
200
Nice caustics and nice rendertime!
Why everything’s so ‘sepia’?
Ok, was there some evolution in CG while i was asleep? Those kind of caustics needed hours to render. Now corona and lux added this magic. How?