bonjour , je cherche en vain des tutoriels ou tout autres documentations sur l'assembleur ARB
merci d'avance
Version imprimable
bonjour , je cherche en vain des tutoriels ou tout autres documentations sur l'assembleur ARB
merci d'avance
Tu peux déjà consulter la doc de l'extension, même si ça ne vaut clairement pas un tuto :
http://oss.sgi.com/projects/ogl-samp...nt_program.txt
Ensuite tu peux jeter un oeil au code source de Ogre, ils ont une classe pour gérer ça.
Mais pourquoi diable vouloir utiliser ce genre de shader ? Entre GLSL et Cg, il y a de quoi faire non ?
je suis en stage actuellement et mon projet et de traduire une appli écrite en directX et pixel shader (en assembleur PS2) en une appli portable donc en OpenGL et fragment program (en assembleur ARB).
malheureusement la doc sur l'assembleur ARB est très rare (ou alors juste j'arrive pas à la trouvé...)
si quelqu'un d'autre a des infos
Pourquoi tu ne l'écris pas en GLSL ? Ce serait vachement plus simple.
eh bien tout les pixel shader sont déjà écrit en assembleur PS2, ce qui fait que je n'ai " qu'a " traduire en ARBfp1.0 , ces deux langage se ressemblant quand même beaucoup. En GLSL je devrait recréer tous les algo...
et pis, ça depend pas non plus que de moi, le patron veut de l'assembleur, donc faut que je m'execute...
Merci a vous deux pour ces réponses.
Bafman : pourrais tu m'éclairer sur un point ?
est il possible d'utiliser plusieurs textures en sortie du resultat du fp ?
aussi j'ai du mal a comprendre comment passer plusieurs textures à mon fp (utilisation de glActiveTexture , FBO..) et surtout comment les nommer dans ce dis fp (à quoi correspont texture[n] ?)
merci d'avance
tu peut utiliser plusieurs texture en entré d'un fp, mais pas en sortie (etant donné que la seule sortie d'un fp c'est le buffer final).
sinon, pour adresser une unité de texture donné, c'est tout simplement texture[n] avec n le numero de l'unité de texture.
Le seul moyen d'écrire sur N textures, c'est de faire N passes avec le shader en changeant à chaque fois la texture de rendu.
c'est bien dommage ...
donc Bafman, d'après ce que tu me dit il me suffit donc de générer mes textures avec glGenTexture, les initialiser, et c'est tout?
ensuite je les retrouve dans le fp sous la forme texture[n] où n est l'identifiant-1 retourné par glGenTexture?
à quoi sert donc glActiveTexture?
Citation:
Envoyé par Laurent Gomila
Il me semble pourtant bien, qu il est possible de faire du MRT (multiple Render Target) sous OpenGL. Ce qui fait que l on peut ecrire dans jusqu'a 4 textures en meme temps (limitations actuelles des GPU). En revanche, les textures de sortie devront avoir meme taille et la geometrie elle meme sera identique pour les 4 rendus
Effectivement. Mais est-ce qu'on peut sortir sur les 4 depuis un même shader ?
d'apres ce que j'ai lu, ce que je me souviens et sans avoir moi meme fait de teste, il est possible de faire 4 sorties sur le meme shader (c est d ailleurs tout l interet). Il existe un tres bon article (dans 'GPU Gems 2' je crois) concernant le deferred shading utilise dans un jeu super recent sur Tchernobyl (desole le nom du jeu m'echappe, mais les connaisseurs le reconnaitrons tout de suite)Citation:
Envoyé par Laurent Gomila
De memoire, il faut utilise une syntaxe genre :
output_color[0] = ...
output_color[1] = ...
output_color[2] = ...
output_color[3] = ...
Très bien , merci à tous , je teste et je vous dirais le résultat ici
Si quelqu'un a d'autres informations sur les fragments programs en assembleur ARB, je suis prenneur étant donné qu'il y en a très peu sur le net
le MRT (Multiple Render Target) est possible sous OpenGl, il faut ajouter la ligneà son fragment program ARB et les targets (4 disponibles ) se nomment result.color[n] avec 0 <= n <= 3.Code:OPTION ATI_draw_buffers;
autre question : comment nomme t'on dans le fragment program ARB les différentes textures ?? est on obligé de les "activé" (avec glActiveTexture ) ?
merci d'avance
salut à tous,
quelqu'un sait t'il si l'extension ATI_draw_buffers est compatible avec les cartes Nvidia?
et si non , si il y a un remplacent ?
j'ai lu sur le site OpenGL.org l'extension ARB_draw_buffers, mais celle ni ne parrait pas fonctionner...
si quelqu'un a une idée
merci d'avance
j'ai pas de carte Nvidia sous la main pour l'instant, d'ou ma requete...
je travaille soit sur une ATI x1950 soit ATI firegl
Jette un oeil au programme OpenGL Extension Viewer (http://jeux.developpez.com/outils/).
merci
j'ai également trouvé ça , si ça peut intéresser quelqu'un : http://www.labri.fr/perso/granier/Op...ideocards.html