Skip to content

Conversation

@SchottChristian
Copy link

Hello,
I am working as a student trainee for the InstruNEXT GmbH, where I am currently using vsgUnity to create and augment *.vsg files.
During the time working with vsgUnity I have made a few changes to it, which we would like to contribute to this project.

  • refactored GraphBuilder.cs to be more readable, and easier to extend
  • added support for cubemap skyboxes (based on vsgExamples)
  • improved ExportWindow (using a ScritpableObject to make settings persistent)
  • export unity lights as vsg::Light nodes
  • update default shader to include lighting support

I am relatively new to working with Vulkan and VSG, so I am open to any feedback.

@robertosfield
Copy link
Collaborator

Wow lots of changes, it's great to see it being used actively and extended.

I'm not the author of vsgUnity and haven't used Unity save for testing the build and operations when @tomhog authored vsgUnity. This means I'm not well placed to review the merits of each change, unfortunately Tom has been very busy with client projects so hasn't been available on the VSG side so I've been just keeping things building as the VSG as evolved.

What platform are you using? Do you have test models that you are using in the process? I think it would be useful for myself and others to post a few details about your work and the changes to vsgUnity to the vsg-users google group. This would help provide insight into the work you are doing, how to go about testing it.

It's also a good place to ask questions about VSG/Vulkan as we can provide pointers on how best to solve things, and also if there are issues/problems you are trying to solve that the VSG is making awkward we can look at refining/implementing features to address these short comings. As I'm pushing on towards 1.0 resolving these type of issues is a priority for me.

@robertosfield
Copy link
Collaborator

@rhabacker are you actively using vsgUnity? If so it would be helpful to test out this PR and provide feedback. Thanks.

@rhabacker
Copy link
Contributor

@rhabacker are you actively using vsgUnity?

Not at the moment, I just saw the error in building.

@rhabacker
Copy link
Contributor

fixes + refactor + skybox/cubemap support

The commit message mentions several independent topics. A first step would be to provide them as separate commits, which would be easier to review.

@robertosfield
Copy link
Collaborator

@SchottChristian, I've just done a quick review of changes to try and keep a little more up to speed with the codebase as it's evolving, can't say I understand it all at this point.

The latest commit [ScriptableObject based pbr shader mapping] does look to touch a bit upon similar functionality to the StateComposer branch that I've been working on in the core VSG and vsgXchange. In particular the new vsg::ShaderSet may be of us to you as it provides a high level all the bindings and defines that a set of vertex + fragment shaders support. The vsg::GraphicsPipelineConfig also provides utilities for generating the final graphics pipeline, layouts, arrays and descriptors required.

There are also some convenience functions for creating a PBR, Phong or Flat ShaderSet. Today I'll also enable user customization of these by add a shaderSets map to vsg::Option so we can pass in preferred shader sets that loaders should use.

I'm thinking that all this functionality would be of use for your work and enable better leveraging of extensions to the shaders as we improve them in the core VSG. I've written up this work on vsg-users StateComposer thread so would recommend reading though. I'm open to suggestions on ways it can be further improved, so if there are things that you'd find useful let us know.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants