-
Notifications
You must be signed in to change notification settings - Fork 24
MaterialExtensionTessellation #589
MaterialExtensionTessellation #589
Conversation
…omain stage. Example provided. see help/Tessellation/HowTo Beziert.vl known issues: 1. Need to set streams going to domain stage by hand ... see MaterialExtensionTessellation-Node not a big issue, but i think this can be handled automatically 2. ShaderFX Nodes behave confused Create 2 input pins for each input in the shader, one named nicely, that behave confused, one other named by shadername + property name ... this works correctly not a big issue ... because i just use the second inputs 3. Displacement not working on extended Materials, it just didn't compile correctly, so nothing to see I think some stage/streams are not set up correctly ... but i didn't dive in this deep
Looks good to me, few little things though:
|
… with Custom Tessellation.vl" move helppatch to ShaderFX, i think this is the category where it should be Add new node MaterialTessellation this node allow to use a Shader directly in Material Tessellation Pin Rename MaterialExtensionTessellation node to MaterialExtension (Tessellation) is more clear in my opinion Remove all dll and sln just use csproj instead Rename everything to to BezierTubeSegment ...
The patch works nice though:
it's a bummer that we don't have a help patch for the other material extension node. It's quite tricky... @tebjan do you have an opinion regarding how the nodes should be modularized? |
I have no crashes like that on my machine. |
Was looking at it with @azeno.
Hopefully we can shed some light on the topic and only tweak some little bits. |
The different of the both nodes i provide is: MaterialTessellation
MaterialExtensionTessellation
i like the idear to rename the MaterialTessellation node to CustomTessellation, this is more clear i think so next question why there is this extra MaterialExtension pin on MaterialExtensionTessellation node
so whats yor opinion, tomorrow i will has time to push all the changes next question ... should i provide a more simple sample than the bezierTube with own geometry own struct ...
summary:
|
all of what you propose sounds good to me. |
@kopffarben first I want to award you with the medal for (probably) being the first dev who has developed a custom material feature in the way that the Stride architecture wants you to do it :). 🥇 I also think that both workflows are valid and your renaming suggestion makes sense. And yes, it was also my first thought, if the existing MaterialExtension node is able to manage everything in one node without breaking existing patches, that would be best. |
- rename MaterialTessellation node to CustomTessellation - add TesselationFeature to existing Materialextension node - more simple basic sample - tessellate a HalfSphere facing to Camera out of float3 SpherePos : SPHEREPOS float3 SphereSize : SPHERESIZE - so no need for csproj - and much more clear simple Example to understand
THX TATA ... beeing a c# coder helps all Changes are now pushed ... now rename MaterialTessellation node to CustomTessellation
|
By the way, this problem
are still there ... ShaderFX behave a little bit confused if it found stage inputs in the DSMain, HSMain ... And if sombody looks to this, maybe we can get rid of the TessellationStream pin.
|
This is indeed a weird issue, it looks like the shader reflection returns two pins and we don't sift them out. needs further investigation. made an issue here: vvvv/VL.StandardLibs#72 |
Add a MaterialExtensionTessellation Node to use ShaderFX inside the domain stage.
Example provided. see help/Tessellation/HowTo Beziert.vl
known issues: