Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a BLENDER_materials_nodes extension #82

Open
Moguri opened this issue Aug 15, 2017 · 7 comments
Open

Create a BLENDER_materials_nodes extension #82

Moguri opened this issue Aug 15, 2017 · 7 comments
Assignees
Milestone

Comments

@Moguri
Copy link
Collaborator

Moguri commented Aug 15, 2017

This extension would export shader nodes to be consumed by an engine. This is easier to consume than raw GLSL, but it still allows for shader creation in Blender.

@reduz
Copy link

reduz commented Aug 15, 2017

sounds great, with Cycles and Eevee support please! :D

@stevenvergenz
Copy link
Contributor

Easier to consume by which engines? Only Blender would be able to make use of these, would probably be easier to stick that data in extras than formalizing an extension.

@reduz
Copy link

reduz commented Aug 15, 2017

@stevenvergenz Any engines. In Godot this would work great, in fact. There isn't really any kind of abstract shader language that would work, and writing directly to something like GLSL or SPIR-V is useless due to them being too low level.

If the node graph is exported, however, it is easy for a parser to convert it to the shaders used internally by any engine.

@Moguri Moguri changed the title Create a BLENDER_shader_nodes extension Create a BLENDER_materials_nodes extension Oct 16, 2017
@Moguri
Copy link
Collaborator Author

Moguri commented Oct 16, 2017

I have created a material_nodes branch to begin work on the spec for this extension. No implementation work has started yet.

@reduz My current thought is to export a graph with each graph node having a type and a list of inputs and outputs (i.e., sockets). These sockets also have a type and value. The types on the sockets should be fairly well defined (e.g., color, scalar, node reference), but interpreting the node type will be mostly up to the consuming application. Does this rough cut align with what you were expecting? I have also listed you as a contributor for this extension.

@reduz
Copy link

reduz commented Oct 16, 2017 via email

@Moguri Moguri self-assigned this Oct 16, 2017
@Kupoman Kupoman added this to the Unscheduled milestone Nov 10, 2017
@ghost
Copy link

ghost commented Jun 16, 2018

I'm very sorry if my question doesn't fit the topic, but since I'm kind of new to github and programming stuff - maybe you can help me out.

I came from the Khronos glTF-Exporter for Blender to see, if the animation exportation of this exporter works properly - and it does. Very intuitive and reliable, so thanks for that!

My problem is, that with the Khronos exporter and their KHR-Shader Groups I could easily create materials that looked a lot like in Blender-Cycles, when rendered via three.js (WebGL).
Until now, I couldn't figure out a way to create materials with your exporter - all objects are displayed shiny (100% metallic, 0% roughness, color: ffffff). Do you have a documentation or something like that somewhere? I wasn't able to find it yet.

Thanks and best regards

@Kupoman
Copy link
Owner

Kupoman commented Jun 16, 2018

@dustronauts This exporter exports Blender Internal materials, but not Cycles materials. If you look at the material panel while the renderer is set to "Blender Render", you should see a "PBR Export" panel that allows you to set some PBR related settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants