PDA

Voir la version complète : Octane: Paramètres de la fonction OSL "_evaluateDelayed" inopérants



bru
14/06/2020, 17h59
Bonjour tous !

Je me lance dans l'utilisation d'Octane, et je rencontre une première difficulté avec les scripts OSL. En fait, je cherche à faire une transformation d'UV dans une texture.

Je croyais comprendre que cela était possible à travers les deux derniers paramètres de la fonction "_evaluateDelayed", mais je n'obtiens absolument aucun effet lorsque je modifie les paramètres TexU ou TexV.

Vous trouverez ci-dessous le code du petit shader d'essai que je viens de faire dans un nœud "OSL texture" avec un objectif simple: retourner une texture.

#include <octane-oslintrin.h>
shader Texture(
color col1 = color(1, 0, 0),
output color c = 0)
{
c = _evaluateDelayed(col1, -u, -v);
}

Ce shader ne fait que transmettre la texture. Je peux mettre ce que je veux dans les deux derniers paramètres, même 0, rien ne change. Y a t'il une condition pour que ces deux paramètres aient un effet ?

Notez que j'ai pris différents exemples que j'ai trouvé sur le net qui utilisent cette fonction et on dirait qu'elle n'en fait pas plus dans ces exemples.

Version d'Octane: 2020.1-R7

Question subsidiaire: je voulais poster cette question sur le forum d'Octane. Impossible d'y trouver un bouton pour créer un nouveau sujet ! Je vois que certains d'entre-nous ont déjà posté là-bas. Y a t'il quelque-chose à faire pour pouvoir poster après s'être inscrit ?

bru
20/06/2020, 17h58
Je fais un petit up !

Personne ne se sert de ces scripts OSL ?

gr4ph0s
21/06/2020, 17h58
Dapres la doc To use the custom UV coordinates in another OSL node connected via a delayed input, give it a point input and connect a OSL UV Projection node to the corresponding input pin.

https://docs.otoy.com/osl/delayed%20inputs/

bru
21/06/2020, 18h58
Merci Gr4ph0s, mais j'avoue ne pas comprendre cette note.

Que doit t'on faire avec cette entrée. Si on ne l'utilise pas dans le corps de la fonction, il ne veut pas compiler. Si j'utilise les membres de l'entrée dans la fonction "_evaluateDelayed", il ne se passe toujours rien...

Cela dit, si je prends le bloc "osl tiler" qui fait partie des presets, j'ai l'impression que la transformation des UV prévue dedans ne fonctionne pas non plus: des tiles sont créés mais la texture n'est pas adaptée.