-
-
Notifications
You must be signed in to change notification settings - Fork 9
PR attempt # 3 #10
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
PR attempt # 3 #10
Conversation
textures. All okay, I hope.
textures. All okay, I hope. Working on a new node called a TextureStack that aims to cut down on the wiring from a TextureParameter and then a Texture2D node.
|
I agree with all your points. Will get on it. PS - As to the titles - I have tried putting a space in, like "Two Words" and that causes a gdscript error. So I will just remove the underscores. |
In that case just remove them, exactly. |
|
|
Btw for the future, it is probably easier to create more smaller Pull Requets than one HUGE one. But that is up to you in the end. It just makes it smaller to debug a small addition in my humble opinion |
It's a function of the time I have to work. With the power outs we have I put much more effort into just getting stuff done. It's hard to explain what it's like having your day chopped into 3 or 4 hour stretches of time to code. I'll try to keep each PR smaller in future. |
|
Ah yeah sorry about that. I mean if this type of workflow suits you better, that totally also works for me. No worries there then. Just ignore my last remark then :) |
My question was rather should we alter your current shapes to include the "Smoothness" option rather than have another crowd of similar named shapes?
I wish I could change the x and y ! I tried! It's beyond my mathematical chops to understand what it's actually doing. If you could take a look at this one, I'd appreciate it. The other mystery is when doing the random rotation while the brick-shift effect is happening causes some strangeness.
Ah, okay - can you approve at least two others like a rock and moss texture*? We will also need their normal, occlusion, metal, yadda-yadda maps. There are nodes that can't be demoed without them.
Forgive me if I delay on that for a while. I have to be out of my house by the end of this month and then I am house hunting from some rented thing. I will be MIA for a while. I won't start mucking about in your example scene at this point. Glad you like the new nodes so far! It's been fun. |
Got Texture Stack node working quite nicely.
You can replace the existing ones with your Box and Circle Shape version. No need for two versions.
I will have a look at it.
Where did you get these textures? I think one of them is good with all different maps but why two of them?
Absolutely no problem. Take your time :D I don't intend to release the 4.0 version until I had time to implement the nodes for Sky and Water Shaders anyway. |
Roger. I will try to add Smoothness to the other shapes over time.
Tah.
I don't mean to be difficult, but I don't quite follow your reasoning. Here's my last (I promise) attempt to defend the library concept:
Does that make sense to you? If you still thumb it down, can I implement a small version of it for those functions that are strictly used more than once? For example:
I will remove the issues and such and return a simple string from _get_description() with only a description.
If you look at the world normal demo you will see it's mixing two sets of textures to get the effect. Their normals are mixed and so on. There will be further nodes that make use of ORM and other PBR techniques that will all require the full complement of maps. It's just worth finding a nice demo set that the godot logo can't cover.
For sure!
Cool. I am playing with ideas too and I'll try to keep my repo in a stable state. Good luck with your exams. |
|
Paddy, I was being super dense about the library thing. I see what you mean now. It has piqued my interest to see if I can't solve the problem, so ... rabbit hole time! :) We'll see. |
…the pattern of what methods gets called.
nodes to simple string without version and issued. Only certain new nodes use the ShaderLib, it's not compulsory.
nodes to simple string without version and issued. Only certain new nodes use the ShaderLib, it's not compulsory.
Since the 4.0 version isn't released yet I will just remove the node from the 4.0 branch and you can rebase your changes on top of mine. |
|
The same goes for the UVTiler.gd node. Would it not be easier for us to leave nodes in their own directory structures? The category already sorts them visually for the end user. This way we won't be stepping on toes and having to try remember what nodes are old and so on. For example, we could have: |
too. Cleanups and file moves.
Deleted Usability folder from main dir because it was now empty.
|
Paddy, I managed to make a connector that is only in<-->out which is cool. I call it the One to Many. The other connector is now Many to Many. There is a demo. I might not get more time in the month or two ahead to do any work I am packing my old house up and preparing to move 1000km north. It's a crazy time. If you need stuff done, it's probably better to clone my fork and manually pick and choose what you want from my donnv2 branch (the latest). Best, until the chaos subsides. |
Ah, good to know.
The folder for demos is a valid point for when more scenes like 3D demo scene(s) will be added but I am 100% against fractioning the nodes inside contributors folders. It makes more sense to have the same structure for the nodes like they are structured in their respective category to have easier maintainability. This is not something I will ever change. I hope you have a good move. About merging your PR though: You will still need to adapt your changes to the current nodes. |
|
No worries re directory structure.
BTW - Here's what I learned about the repeating function names:
Therefore it is necessary for all nodes which define global functions to ensure those functions are namespaced so they do not clash. The ShaderLib does this namespacing: I could find no way to access the final string before it gets to the output node, so there seems no way to just remove all duplicates. I thought I'd go through this specifically to see what you say about it. If we dropped the shaderlib, we'd still need some mechanism to ensure unique function names across different custom shader nodes. How go your exams? |
|
I made a small change to the connector nodes. I had a brainwave and simplified them. I also renamed them to Route and RouteMany (using Blender's term for it). I have pushed to donnv2 but that is all. Out of time again! |
Yeah I suppose it isn't possible after all. I would be in favor of dropping this then. I could imagine having a custom Material or Shader class that automatically deletes the duplicated functions but that would be over the top complicated. |
|
Well done on passing you exams, saw it on Twitter. I am knee-deep in boxes and then I am moving house. Will try get back into this project soon as I can, but I can't say when I'll have a desk and Internet and all that. See you on the other side. |
Thanks :D and yeah no worries! |
482af89 to
952a4db
Compare
|
Bump :) just wanted to ask how it's going with this PR and if you are ready to pick things up again. |
|
Hi Sir Paddy, I am finally in a flat and have got my pc setup. I will get
back into it soon. I see you released a version as well as a new project
for the code-only side of shaders. You're a busy mensch.
I'll try catch up to where we left off, to remind myself what was what. I
have a great forgettery!
/d
…On Mon, 20 Mar 2023 at 01:09, Patrick (FlameLizard) < ***@***.***> wrote:
Bump :)
—
Reply to this email directly, view it on GitHub
<#10 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC7YGTHQPPL476NOWLXYITW46GY3ANCNFSM6AAAAAATQB7L74>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Sounds good👍🏻 |
|
Guten Tag Paddy,
What's your overall opinion about the code I pushed and the ShaderLib? Will you adopt the approach or is it a problem? I had started converting a hex-tiling (non repeatable) shader before I moved, I will try to get back into that and get it into a node. Do you think there is any overlap with this visual shader project and your new shaderFunctions project? If the node functions could somehow be changed into .gdshaderinc files, then we could share that one collection of files between both projects? Maybe a common folder under Addons? I would have to experiment with #include, because in the last version of Godot I used there was no way to output a "#include" string from the _get_global_code() function. It just refused for some reason. Perhaps some kind of Unicode issue? I shall have another go. Auf Wiedersehen, |
|
Hey @donn-xx, I will have to reevaluate the nodes you pushed and test them out. I would also prefer if you could re-create the PR since the whole workflow of PRs is not to discuss integration but integration and merging the PR itself. Since this PRs has evolved very chaotically you are best to close it and open a new one (also a new one for one node at a time preferably). |
|
Paddy, I must say that I am finding the git workflow to be obscure. I'll just do my best in my fork for now and then ask you to clone/pull and review that. Perhaps you can then PR or merge from your clone, or give me specific instructions closer to the time. If you need to discuss non-PR things then use my email: donn.ingle@gmail.com. I'll close this PR now. |
















Paddy,
I have now burned close to 5 hours in git and I am done in. After rebase went haywire and trying all kinds of ways to synch my 4.0 to yours, I deleted my fork, reforked and started over.
I hope this new PR is usable.
dbat/demos : I also made 2d demos of all the nodes I could.
dbat/nodes : Added nodes, as well as updated UVTiler, UVRotate and the Compare (new name Color_Compare because there was a Compare node already).
dbat/nodes/Filters : Not sure about "Filters" name for things like blur. Let me know.
dbat/nodes/Shapes : Find two of the shape nodes you already made with an added feather option. Would that be useful to extend to all the shapes?
dbat/nodes/WorldNormal : A cool shader I learned from Arnklit (Kasper).
dbat/nodes/library : The LizardShaderLibrary for your consideration.
Look for README.txt files in the folders where I have extra info.
HTH
/d