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

New TSL doc #29829

Open
Makio64 opened this issue Nov 7, 2024 · 3 comments
Open

New TSL doc #29829

Makio64 opened this issue Nov 7, 2024 · 3 comments

Comments

@Makio64
Copy link
Contributor

Makio64 commented Nov 7, 2024

Description

Currently the doc of threejs is very nice but it doesnt seems appropriated for all the small tsl function like uv() / min() / vec2() / position() / etc.. and I recently found myself diving into the Github research of this repo or into the large examples fews times a day while working with TSL.

Solution

I suggest a part of the doc dedicated to the TSL with on the left the nodes list and on the right minimal code.
With a UX similar to current examples but more appropriated for such a small node like animejs did : https://animejs.com/documentation/

I believe it'll help a lot of devs and will ease a lot the learning curve of TSL.

Alternatives

Add TSL pages in the docs with all the nodes, maybe sort with large category such as math vertex fragment posteffect

Additional context

No response

@Makio64 Makio64 changed the title New TSL docs New TSL doc Nov 7, 2024
@Mugen87
Copy link
Collaborator

Mugen87 commented Nov 7, 2024

Related: @sunag has started a Wiki page for TSL here: https://github.com/mrdoob/three.js/wiki/Three.js-Shading-Language

@Makio64
Copy link
Contributor Author

Makio64 commented Nov 8, 2024

@Mugen87 The wiki page was a nice introduction. As Node/TSL matures it needs to be add to the documentation/website, it's one of the core concept of the project and it doesn't make sense anymore to be keep in a single wiki page.

Another advantage : it'll be easier to update it when someone commit a change, like it's the case for adding/modifying functions in the rest of the project.

@Samsy
Copy link

Samsy commented Nov 27, 2024

Im am confused with the actual nodes of a nodematerial without explanations of how each node affect the shading.

Like for example, normalNode :

If I set a normalNode, is it rewriting the entire normal calcs and overriding let say a normal map that was set on the material previously ? or a normalNode is affecting the source normals ( geometry ) of the mesh ?

Same goes for colorNode, is it overriding every diffuse calculation including a map that was set on the material ? or is it just affecting the diffuse color regardless of the next map calculations

etc..

But also, when not defined by the user, are those set internally with a default node behavior for each ? How can we get access to default templates of each node for each material ?

There is also a lot of nodes, and wish they were all listed and given all explanations about how they work, and how they would affect the final render.

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