{"action":"created","issue":{"url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/issues/272","repository_url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore","labels_url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/issues/272/labels{/name}","comments_url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/issues/272/comments","events_url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/issues/272/events","html_url":"https://github.com/LuxCoreRender/BlendLuxCore/issues/272","id":471314423,"node_id":"MDU6SXNzdWU0NzEzMTQ0MjM=","number":272,"title":"Cycles scene reader","user":{"login":"Theverat","id":1584761,"node_id":"MDQ6VXNlcjE1ODQ3NjE=","avatar_url":"https://avatars2.githubusercontent.com/u/1584761?v=4","gravatar_id":"","url":"https://api.github.com/users/Theverat","html_url":"https://github.com/Theverat","followers_url":"https://api.github.com/users/Theverat/followers","following_url":"https://api.github.com/users/Theverat/following{/other_user}","gists_url":"https://api.github.com/users/Theverat/gists{/gist_id}","starred_url":"https://api.github.com/users/Theverat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Theverat/subscriptions","organizations_url":"https://api.github.com/users/Theverat/orgs","repos_url":"https://api.github.com/users/Theverat/repos","events_url":"https://api.github.com/users/Theverat/events{/privacy}","received_events_url":"https://api.github.com/users/Theverat/received_events","type":"User","site_admin":false},"labels":[{"id":764545078,"node_id":"MDU6TGFiZWw3NjQ1NDUwNzg=","url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/labels/enhancement","name":"enhancement","color":"8fc5ff","default":true,"description":"Additional feature"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-07-22T20:33:49Z","updated_at":"2019-12-22T00:26:08Z","closed_at":null,"author_association":"MEMBER","body":"This project aims for compatibility with Cycles material/texture nodes, light settings, camera settings and so on. The Cycles scene reader is not a single class or function, but rather a project to fuse every part of BlendLuxCore closer with Cycles/Eevee by sharing properties where it makes sense and is possible.\r\n\r\n### Material Nodes\r\n* [x] Support packed images\r\n* [ ] Support nested node groups\r\n* [ ] Support for more nodes (see the list of compatible/incompatible nodes below)\r\n* [ ] figure out how to make it possible to add shader nodes (diffuse BSDF etc.) while LuxCore engine is selected (currently they get hidden, apparently they have some check for the current engine in their poll() methods)\r\n* [ ] Improve the report about incompatible nodes. Maybe mark them in red in the node editor (with reset button)? Show the percentage of successfully converted nodes and maybe a statement like \"The materials in this scene are too complicated for our node reader\" when percentage is lower than x.\r\n* [ ] Handle malformed node setups the same way as Cycles. For example, if a shader is plugged into a color socket, Cycles seems to simply ignore it and use the `default_value` of the socket, while our converter currently produces an incorrect SDL output that will throw errors on render startup.\r\n\r\n#### List of nodes\r\nNodes with ~~strikethrough~~ are unlikely to ever get supported or don't make sense in our shading system (e.g. a sky texture on a material).\r\nNodes with a checkmark are at least partially supported. Note that the support can be an approximation or unfinished.\r\nNormal inputs of material nodes (for bump/normalmapping) are not supported yet.\r\n\r\n##### Input\r\n* [ ] Ambient Occlusion\r\n* [ ] Attribute\r\n* [ ] Bevel\r\n* [ ] Camera Data\r\n* [ ] Fresnel\r\n* [ ] Geometry\r\n* [ ] Hair Info\r\n* [ ] Layer Weight\r\n* [ ] Light Path\r\n* [ ] Object Info\r\n* [ ] Particle Info\r\n* [x] RGB\r\n* [ ] Tangent\r\n* [ ] Texture Coordinate\r\n* [ ] UV Map\r\n* [x] Value\r\n* [ ] Wireframe\r\n\r\n##### Shader\r\n* [ ] ~~Add Shader~~\r\n* [x] Anisotropic BSDF (rotation TODO)\r\n* [x] Diffuse BSDF\r\n* [x] Emission\r\n* [x] Glass BSDF\r\n* [x] Glossy BSDF\r\n* [ ] Hair BSDF\r\n* [ ] Holdout\r\n* [x] Mix Shader\r\n* [x] Principled BSDF (unsupported inputs: subsurface, subsurface radius, subsurface color, clearcoat roughness, IOR, transmission, transmission roughness, emission, alpha, normal, clearcoat normal, tangent)\r\n* [ ] Principled Hair BSDF\r\n* [ ] Principled Volume\r\n* [ ] Refraction BSDF\r\n* [ ] Subsurface Scattering\r\n* [ ] Toon BSDF\r\n* [x] Translucent BSDF (TODO just an approximation right now)\r\n* [x] Transparent BSDF\r\n* [ ] Velvet BSDF\r\n* [ ] Volume Absorption\r\n* [ ] Volume Scatter\r\n\r\n##### Texture\r\n* [ ] Brick Texture\r\n* [x] Checker Texture (only \"Object\" texture coordinates are supported. Textured scale is not supported)\r\n* [ ] ~~Environment Texture~~\r\n* [ ] Gradient Texture\r\n* [ ] IES Texture\r\n* [x] Image Texture (Lots of stuff to do, only the basics work)\r\n* [ ] Magic Texture\r\n* [ ] Musgrave Texture\r\n* [ ] Noise Texture\r\n* [ ] Point Density\r\n* [ ] ~~Sky Texture~~\r\n* [ ] Voronoi Texture\r\n* [ ] Wave Texture\r\n\r\n##### Color\r\n* [x] Bright Contrast\r\n* [ ] Gamma\r\n* [x] Hue/Saturation\r\n* [x] Invert\r\n* [ ] ~~Light Falloff~~\r\n* [x] MixRGB (only the following modes are supported: Mix, Multiply, Add, Subtract, Divide)\r\n* [ ] RGB Curves\r\n\r\n##### Vector\r\n* [ ] Bump\r\n* [ ] Displacement\r\n* [ ] Mapping\r\n* [ ] Normal\r\n* [x] Normal Map\r\n* [ ] Vector Curves\r\n* [ ] Vector Displacement\r\n* [ ] Vector Transform\r\n\r\n##### Converter\r\n* [ ] Blackbody\r\n* [x] ColorRamp (only Linear and Constant interpolation modes are supported, the rest is exported as cubic interpolation. Only RGB is supported as color mode)\r\n* [ ] Combine HSV\r\n* [x] Combine RGB\r\n* [x] Combine XYZ\r\n* [x] Math (only the following modes are supported: Add, Subtract, Multiply, Divide, Greater Than, Less Than, Power, Absolute, Round, Modulo)\r\n* [x] RGB to BW\r\n* [ ] Separate HSV\r\n* [x] Separate RGB\r\n* [x] Separate XYZ\r\n* [ ] Vector Math\r\n* [ ] Wavelength\r\n\r\n##### Script\r\n* [ ] ~~Script~~\r\n\r\n##### Group\r\nBasic node groups are supported, but nested node groups (a group within another group) are not supported yet.\r\n\r\n##### Layout\r\n* [x] Frame\r\n* [x] Reroute\r\n\r\n### Object Settings\r\n* [ ] Use the camera ray visibility property of Cycles\r\n* [ ] Use the motion blur properties of Cycles\r\n\r\n### Light/World Settings\r\n* [ ] World:\r\n  * [ ] Flat color\r\n  * [ ] HDRI\r\n  * [ ] Sky\r\n* [ ] Lights:\r\n  * [ ] Try to share as many properties with Cycles (or Eevee?) as possible. It should be relatively seamless to switch back and forth between Cycles, LuxCore and Eevee - if you change a light's brightness in one engine, the others should also reflect this change\r\n\r\n### Camera Settings\r\n* [x] Default tonemapper should be linear, auto disabled, gain = 1\r\n* [ ] Enable clipping by default\r\n* [ ] Use Cycles DOF settings (f-stop etc.) and hide unsupported settings (e.g. blades)\r\n\r\nRelated: #80\r\n\r\n<bountysource-plugin>\r\n\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/78373911-cycles-scene-reader?utm_campaign=plugin&utm_content=tracker%2F80143047&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F80143047&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"},"comment":{"url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/issues/comments/568222419","html_url":"https://github.com/LuxCoreRender/BlendLuxCore/issues/272#issuecomment-568222419","issue_url":"https://api.github.com/repos/LuxCoreRender/BlendLuxCore/issues/272","id":568222419,"node_id":"MDEyOklzc3VlQ29tbWVudDU2ODIyMjQxOQ==","user":{"login":"neo2068","id":17701407,"node_id":"MDQ6VXNlcjE3NzAxNDA3","avatar_url":"https://avatars0.githubusercontent.com/u/17701407?v=4","gravatar_id":"","url":"https://api.github.com/users/neo2068","html_url":"https://github.com/neo2068","followers_url":"https://api.github.com/users/neo2068/followers","following_url":"https://api.github.com/users/neo2068/following{/other_user}","gists_url":"https://api.github.com/users/neo2068/gists{/gist_id}","starred_url":"https://api.github.com/users/neo2068/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neo2068/subscriptions","organizations_url":"https://api.github.com/users/neo2068/orgs","repos_url":"https://api.github.com/users/neo2068/repos","events_url":"https://api.github.com/users/neo2068/events{/privacy}","received_events_url":"https://api.github.com/users/neo2068/received_events","type":"User","site_admin":false},"created_at":"2019-12-22T00:26:08Z","updated_at":"2019-12-22T00:26:08Z","author_association":"MEMBER","body":"I work on the converter for light/world settings"}}
{"actor":{"display_login":"neo2068"}}