PureBasic

Forums PureBasic
Nous sommes le Jeu 23/Mai/2013 22:12

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 
Auteur Message
 Sujet du message: Texture OpenGl
MessagePosté: Lun 22/Nov/2010 10:16 
Hors ligne

Inscription: Sam 15/Mar/2008 16:00
Messages: 86
Bonjour

J'essaye de transformer une image purebasic en une texture Opengl
j'ai essayé avec un tableau statique puis une zone memoire, mais j'obtiens toujours un joli quad tout blanc

Code:
Procedure LoadGlTexture(NumTexture,Fichier.s)
Img=LoadImage(#PB_Any,Fichier)
Wi=ImageWidth(Img)
Hi=ImageHeight(Img)
 
; Dim OpenGlData.c(Wi*Hi,4)
; c = 0
;
; StartDrawing(ImageOutput(Img))
; For j = 0 To Hi - 1
;   For i = 0 To Wi - 1
;     Color = Point(i, j)
;     OpenGLData(c,0) = Red(color)
;     OpenGLData(c,1) = Green(color)
;     OpenGLData(c,2) = Blue(color)
;     OpenGlData(c,3)= Alpha(color)
;     c+1
;   Next i
; Next j                                 
; StopDrawing()


*Mem=AllocateMemory(Wi*Hi*4)
StartDrawing(ImageOutput(Img))
P=0
For H=0 To Hi-1
  For W=0 To Wi-1
    Color = Point(W, H)
    PokeB(*Mem+P,Red(color))
    P+1
    PokeB(*Mem+P,Green(color))
    P+1
    PokeB(*Mem+P,Blue(color))
    P+1
    PokeB(*Mem+P,Alpha(color))
    P+1
  Next W
Next H
StopDrawing()

glBindTexture_(#GL_TEXTURE_2D, TabTexture(NumTexture))
glTexParameterf_(#GL_TEXTURE_2D,#GL_TEXTURE_WRAP_S,#GL_CLAMP_TO_EDGE)
glTexParameterf_(#GL_TEXTURE_2D,#GL_TEXTURE_WRAP_T,#GL_CLAMP_TO_EDGE)
glTexParameteri_(#GL_TEXTURE_2D,#GL_TEXTURE_MAG_FILTER,#GL_LINEAR)
glTexParameteri_(#GL_TEXTURE_2D,#GL_TEXTURE_MIN_FILTER,#GL_LINEAR)
glTexImage2D_(#GL_TEXTURE_2D, 0,#GL_RGBA, Wi, Hi, 0, #GL_RGBA, #GL_UNSIGNED_BYTE,*Mem)
FreeMemory(*Mem)
;Dim OpenGlData(0,0)
FreeImage(Img)

EndProcedure 


J'ai fais le tour des forums PB mais je ne trouve pas grand chose.
Le sujet a pourtant du déja être evoqué.

Si vous avez un lien ou une idée, merci par avance


Haut
 Profil  
 
 Sujet du message: Re: Texture OpenGl
MessagePosté: Lun 22/Nov/2010 20:52 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 2135
Ouvre d'abord un écran OpenGL.
@+


Haut
 Profil  
 
 Sujet du message: Re: Texture OpenGl
MessagePosté: Lun 22/Nov/2010 22:08 
Hors ligne

Inscription: Sam 15/Mar/2008 16:00
Messages: 86
Salut

Le pb vient tout simplement du drawingmode qu'il faut utiliser avec une methode de blendig par ex DrawingMode(#PB_2DDrawing_AlphaBlend)
et comme ça on recupère bien la valeur Alpha par le Point()
Sinon la valeur alpa reste à 0 et evidement on voit pas la texture car full transparente.

Pb résolu.

Par contre ça ne fonctionne pas avec un tableau statique qui pourtant doit être une zone de mémoire contigue.

A+


Haut
 Profil  
 
 Sujet du message: Re: Texture OpenGl
MessagePosté: Mar 23/Nov/2010 0:45 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 2135
http://www.purebasic.fr/french/viewtopic.php?f=13&t=5339&hilit=Opengl


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye