» fr.EX9.HLSL.Introduction
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

fr.EX9.HLSL.Introduction

English | Italian

The original english version of this page is newer and may contain information this translation does not have! Click here to view the english version.

Semantics

à venir...

Vecteurs et Swizzles

En dehors des types de donnée simples comme bool (booléen), int (nombres entiers), float (virgule flottante) et double, vous pouvez aussi avec l'HLSL utiliser tous ces types de données comme vecteurs en écrivant quelque chose comme:

{CODE(ln=>0)}
float4 ff = {4, 3, 2, 1};
bool2 bb = {1, 0};
^

A présent vous pouvez accéder à chaque composante de vecteur en utilisant les swizzles, qui fonctionnent comme des suffixes aux noms de variables:

 .x, .y, .z, .w 

est la même chose que:

 .r, .g, .b, .a
{CODE(ln=>0)}
float f = ff.a; // f = 1
bool b = bb.y; // b = 0
float2 f2 = ff.xz // f2 = {4, 2}
^

Tableaux

Avec les types de données basiques vous pouvez également déclarer des tableaux, mais notez bien que leur longueur est limitée en fonction du nombre de registre de constante correspondant au profile de shader utilisé. Vous pouvez trouver des informations sur le nombre de constantes autorisées sur msdn:
vs_2_0 registers
ps_2_0 registers
vs_3_0 registers
ps_3_0 registers

Vous pouvez définir et accéder aux tableaux comme le montre l'exemple suivant:

{CODE(ln=>0)}
float4 ff[2] = {{0, 1, 2, 3}, {4, 5, 6, 7}}
float4 f1 = f[0]; //f1 = {0, 1, 2, 3}
float3 f2 = f[1].rgb; //f2 = {4, 5, 6}
^

Fonctions Intrinsèques

L'HLSL a une courte liste de fonctions intégrées. Un clic-droit dans l'éditeur de shader de vvvv fait apparaître la liste.

Fonctions et Inclusions

En parallèle aux principales fonctions vertex shader et pixel shader, vous pouvez définir n'importe quel nombre de fonctions d'aide dans un fichier d'effet externe. Si votre code devient trop confus, des fonctions peuvent être exportées vers un fichier texte puis incorporées à l'effet grâce à une simple déclaration comme:

{CODE(ln=>0)}#include "myfunctions.fxh"^

Le fichier spécifié doit être placé dans le même dossier que le fichier .fx qui l'inclus.

Profiles de Shader

Dans chaque technique vous devez spécifier un profile de shader avec lequel vous voulez que les vertex shader et pixel shader soient compilés. En règle générale, plus le profile est élevé, plus il est flexible. Si votre shader renvoie une erreur disant que vous êtes hors des instructions, alors vous devriez essayer un profile plus élevé.

Des détails concernant les profiles de shader et leurs caractéristiques peuvent être trouvés sur msdn: Shader Models vs. Shader Profiles

En fonction des capacités de votre carte graphique, vvvv supporte les profiles suivants:

  • vs_1_0, ps_1_0
  • vs_1_1, ps_1_1
  • vs_2_0, ps_2_0
  • vs_2_a, ps_2_a
  • vs_2_b, ps_2_b
  • vs_3_0, ps_3_0 //notez que si vous utilisez vs_3_0 alors vous devez aussi utiliser ps_3_0

anonymous user login

Shoutbox

~6d ago

bjoern: Yo peeps! I am looking for a job/project starting July. For contact info check: vvvv specialists available for hire

~1mth ago

joreg: Summer Season 23 vvvv workshops are now ready for sign-up: https://thenodeinstitute.org/vvvv-intermediates-summer-2023/

~1mth ago

schlonzo: yeah! shader input pins now also visible, while the variable it not used!

~1mth ago

benju: Job opportunity, teaching Sounddesign for New Media purposes in Berlin (6hrs/week): https://www.letteverein.berlin/wp-content/uploads/2023/03/Ausschreibung_MIA_LK_6_UStd._Sounddesign_NEU.pdf

~2mth ago

joreg: vvvv gamma 5.0 is out! Please read all about it in the release notes: https://visualprogramming.net/blog/2023/vvvv-gamma-5.0-release

~2mth ago

domj: Coming to LPM next weekend? Learn more about one of the first full vvvv gamma apps, Schéma! https://liveperformersmeeting.net/editions/2023-muenster/program/detail/schema-talk/

~2mth ago

joreg: Want to get started with #vvvv? Check this 12 session beginner online course starting May 8th: https://thenodeinstitute.org/courses/vvvv-beginner-class-summer-2023/

~3mth ago

mediadog: @ggml Yup, lots. Only used in 4.x, haven't tried in 5.x yet: https://www.unrealengine.com/marketplace/en-US/product/simple-udp-tcp-socket-client