Modifier une rendertexture avec textureoutput

Généralités sur la programmation 3D
salutcava
Messages : 34
Inscription : lun. 10/juin/2013 12:01

Modifier une rendertexture avec textureoutput

Message par salutcava »

Bonjour/bonsoir,

Je sollicite votre aide sur un soucis auquel je ne trouve aucune explication :(
J'aimerais modifier une texture de rendu crée à l'aide de la fonction CreateRenderTexture.
Pour cela un StartDrawing(TextureOutput(#texture)) semble tout indiqué, seulement voila, à l’exécution le programme plante et le dubugger quitte de façon inattendue (message purebasic).
J'ai cherché sur le forum anglais et j'ai bien trouvé un post qui relate le meme problème : http://www.purebasic.fr/english/viewtop ... 36&t=54563
Il y a exactement le même type de code que j'utilise à ce lien.
Mais aucune réponse à ce post. Auriez vous s'il vous plait soit une explication soit une solution soit une solution de contournement afin d’être à même d'utiliser les fonctions 2DDrawing sur une texture de rendu.
Merci d'avance à ceux qui répondront.
Aurevoir.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Modifier une rendertexture avec textureoutput

Message par comtois »

Ce n'est pas possible pour l'instant.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Modifier une rendertexture avec textureoutput

Message par comtois »

par contre, j'ai une solution pour la demande du forum anglais, un peu tard certes, du coup je ne sais pas si je déterre le post ?

Il n'a pas besoin de dessiner sur la texture, il suffit d'ajouter une couche au material avec une autre texture, et de dessiner sur cette dernière.

J'ai testé avec l'exemple CheckObjectVisibility2.pb , voici l'extrait (ça se passe à la ligne 74)
Code existant

Code : Tout sélectionner

   ;- TextureRTT
    ;
    CreateRenderTexture(10, CameraID(1), 800, 600, 1)
    CreateMaterial(10, TextureID(10))
    SetMaterialColor(10, #PB_Material_SelfIlluminationColor, RGB(255, 255, 255))
    ;Nouveau !!
    CreateTexture(11, 800, 600)
    StartDrawing(TextureOutput(11))
    DrawingMode(#PB_2DDrawing_AllChannels | #PB_2DDrawing_AlphaBlend)
    Circle(30, 30, 25, RGBA(255, 0, 0, 255))
    StopDrawing()
    AddMaterialLayer(10, TextureID(11),#PB_Material_AlphaBlend)
et ça m'affiche un rond rouge par dessus la renderTexture
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
salutcava
Messages : 34
Inscription : lun. 10/juin/2013 12:01

Re: Modifier une rendertexture avec textureoutput

Message par salutcava »

Oh ! Excellente astuce Monsieur Comtois !!
Simuler la modification d'une texture de rendu devient donc possible, j'imagine qu'il va falloir être patient pour pouvoir lire les couleurs une à une pour un tel type de texture.
Merci pour la réponse en tout cas, ca m'evitera de tourner en boucle tel un while 1 ... wend.
Répondre