Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1205 connectés 

  FORUM HardWare.fr
  Programmation

  [opengl]cree une texture en temp reel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[opengl]cree une texture en temp reel

n°43470
kick
Posté le 28-06-2001 à 18:46:30  profilanswer
 

voila,  
est-il possible de creer une texture, pendant l'execution du programme ou bien de modifier directement la surface d'une texture en accedant à son espace memoire (n'est-ce pas sur la carte viedo que l'on stock les texture??)

mood
Publicité
Posté le 28-06-2001 à 18:46:30  profilanswer
 

n°43477
janoscoder
Posté le 28-06-2001 à 19:57:51  profilanswer
 

on peut créer une texture en temps réél et le chargement peut se faire relativement vite, si le format d'image externe et le format interne sont identiques (oublie le S3TC en temps réel)
 
En revanche, lire sur la carte: JAMAIS, l'AGP ça marche très mal dans le sens retour.
 
Il esiste des extensions pour faire un rendu sur une texture.


---------------
-----------------------
n°43563
kick
Posté le 29-06-2001 à 10:19:09  profilanswer
 

qu'est-ce que tu entend par format interne et format externe, moi ce que je voudrai c'est pouvoir ecrire dans une zone memoire pour faire la texture et que celle ci soit utilisée dans l'image suivante

n°43572
darkoli
Le Petit Dinosaure Bleu
Posté le 29-06-2001 à 10:45:37  profilanswer
 

ben ca c'est possible. Sans probleme je pense tu peux faire ta texture dans une zone memoire (zone ou tu peux aussi mettre une image decompressée : format RGB ou RGBA par exemple). Tu peux le faire en temps réel et je pense pas qu'il devrait y avoir de ralentissement mais il nefaut pas non plus que la texture soit trop grosse.
 
Mais oui c'est possible, je l'ai deja fait pour faire par exemple un slideshow avec des images (comme acdsee) avec des effets 3d en plus. Au lieu de créer des centaines de textures j'en crée une que je modifie a chaque image pour afficxhier les images les unes apres les autres.

n°43704
kick
Posté le 29-06-2001 à 15:39:52  profilanswer
 

ouais et t'as pas un ptit exemple?

n°43729
darkoli
Le Petit Dinosaure Bleu
Posté le 29-06-2001 à 16:54:52  profilanswer
 

ben il te suffit d'attendre jusqu'a 20 heures ce soir et tu aura un exemple !!!

n°43750
janoscoder
Posté le 29-06-2001 à 19:38:16  profilanswer
 

pour format interne et externe je voulais dire:
 
tu dis à OpenGL de charger tes données (dans le format externe), qui peut être RGB888 par ex, sur la carte (parfois, ce n'est pas chargé tout de suite sur la carte, par ex si t'as plus de textures que la mémoire de ta carte) dans un format interne genre RGB565.
 
Si le format externe et l'interne sont les mêmes, et que tu ne demande pas le calcul des mipmaps, pas de conversion à faire, et donc ça va vite. y'a que le transfert AGP ou PCI. Sinon, y'a des conversions et des calculs.
 
Si tu veux faire une vidéo, et pas générer les textures directement, tu peux demander à OpenGL de prédigérer tes données et t'exporter dans le format interne, mais là, pas touche aux données car elles ne sont pas forcément celles que tu crois, mais tu peux faire des vidéos. Sache que le port AGP demande dans pas mal d'implémentations l'utilisation du proc.


---------------
-----------------------
n°43756
MC
retour à la raison
Posté le 29-06-2001 à 20:04:58  profilanswer
 

Y'a un moyen mais j'ai pas le redbook sous la main. Par contre c'est tout sauf rapide!

n°43764
Hercule
Posté le 29-06-2001 à 20:35:01  profilanswer
 

Tu ne peux pas toucher à la mémoire video de ta carte graphique (ca serait trop beaux).
Il te faut creer une texture opengl, et recopier ta nouvelle image dans cette texture à l'aide de:
glTexSubImage2D()
 
C'est pas ultra rapide (tu transfers l'image par le bus à chaque fois).
 
http://ask.ii.uib.no/ebt-bin/nph-d [...] /OpenGL_PG
 
Si c'est une animation de quelques images tu peux comme le dit darkoli, creer une texture longue, et tu affiche une des etapes de ton animation en jouant sur les coordonnées des textures,ou sur la matrice de transformation des textures.


---------------
Ils veulent la jouer hard, on va la jouer hard  
n°43765
darkoli
Le Petit Dinosaure Bleu
Posté le 29-06-2001 à 20:35:48  profilanswer
 

la methode que j'utilse te permet de modifier une texture mais tu ne peux pas la mettre a jour directement en accedant à la memoire de la carte video. En fait tu crées une texture comme normalement sur celle que tu avais deja declaré avec OpenGL. Donc le source c'est celui de base pour charger une texture.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [opengl]cree une texture en temp reel

 

Sujets relatifs
[C++/opengl] Comment créer une fenetre subwindows ?[opengl] Sphere texturee??
[Opengl] Comment faire du DRAG and DROP ?[mandrake8] comment installer Opengl et GLUT ?
comment crée t on un tableau en asp?Redirection du code html créé avec php ou Asp
[C++] OpenGLA tous les programmeurs 3D, sbires de Windows ou du consortium OpenGL!
[opengl]Comment faire du 2d en opengl??Ou trouver un bon site qui cree les sondages + votes sans pub?
Plus de sujets relatifs à : [opengl]cree une texture en temp reel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR