-
exemple shader
je recherche deux exemples :
1/ un qui utilise les shaders de maniere simple
2/ un qui utilise les shaders mais avec comme fonctionnalite :
Je lui passe un tableau de float (correspondant a une texture) et lui me trace une texture en 2D ou 3D
Merci d'avance
-
1/ Quel type de shader ? ARB program ? GLSL ? Cg ? Extension spécifique à ta carte ?
2/ Tu ne peux pas passer toute une texture sous forme de constante (le nombre de registres est limité, et ne sert pas à ça). Par contre tu peux utiliser les textures que tu as envoyées à OpenGL, dans tes pixel shaders. Et puis je n'ai pas compris ce que tu voulais faire.
Ensuite, avec un peu de Google je suis sûr que tu trouveras des tonnes d'exemples de shaders.
-
voila ce que je veux faire :
J'ai un ensemble de points 3D dont le z varie regulierement en fonction du temps.
A partir de ces points je veux faire un maillage ( mes points en 2D forme un rectangle avec un maillage regulier).
En fonction du z, on obtient une couleur dans une palette selon une certaime loi.
Je veux appliquer la couleur a chacun des points et representer le tout en 2D et 3D.
J'aimerai que ma carte fasse un maximum de calcul.
Merci d'avance
-
Ce que tu peux faire, c'est envoyer ta palette de couleurs sous forme de texture que tu vas appliquer à tes points, puis dans un vertex shader calculer les coordonnées de texture (ie. la bonne couleur) selon la coordonnée Z.
Après il faut que tu choisisse un langage de shader.
-
Le langage se choisit comment ? Il existe quoi ?
Mon objectif et de l'utiliser en java via JOGL.
Merci
-
même pour ca tu a 3 facon de faire des shaders en openGL :
- fragment program : tu code tout en assembleur pour carte graphique, comme pour l'ASM du CPU, c'est assez illisible mais tu peut optimiser a fond
- CG : tu code to shader dans un langage proche du C puuis tu le compile pour recuperer le l'ASM que tu envoie a la carte
- glSL : lui aussi est un langage assez proche du C, mais il est officiellement supporté par l'ARB
-
Mais, euh, si c'est pour juste changer la couleur (qui plus est, selon une loi déterminée), est ce que tu ne peux pas entrer ta 'loi' de couleur en fonction de z sur les composantes de glColor3f() ??
(je propose ça moi qui suis nul en shader... :roll: )