Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas Con D3dx.createtexturefromfileinmemoryex

Iniciado por [EX3], 26 de Mayo de 2004, 04:04:29 PM

« anterior - próximo »

[EX3]

 Wenas. Estaba añadiendo unas funciones de carga de texturas desde memoria con la funcion D3DX.CreateTextureFromFileInMemoryEx() para cargar directamente de un archivo *.PAK y me encuentro con un error al pasar los datos al argumento SrcData. Yo imaginaba que se le pasaba un array de tipo Byte con el contenido del archivo pero me dice que los tipos no coinciden. Alguien ha utilizado esta funcion alguna vez? Podria alguien explicarme ke hay ke pasar entonces a dicho argumento?

Gracias.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

BeRSeRKeR

 Pues exactamente eso, un puntero a BYTE apuntando a la zona de memoria donde están los datos de la textura. Yo he utilizado esa función sin problemas.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

[EX3]

 Yo lo ke hago es ke leo el fichero del archivo PAK, lo almaceno en un array de tipo Byte, pero al compilar me dice ke los tipos no coinciden con el argumento SrcData. Ya he leido en otros foros perdidos de la mano de dios ke hay mas gente ke tb tiene el mismo problema pero no he visto solucion por ningun lado. No sera ke los de M$ han metido la pata con la version de la funcion en VB?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

tewe76

 EX3, seguro q tú sabes mucho más q yo de DX sobre VB, pero yo doy por sentado q esa función no funciona (uy, qé incoherencia :) ) en VB. Igual son prejuicios, o pesimismo, pero todo lo q suene a punteros me hace sospechar q en VB no va.
Si encuentras la solución, avisa!

PS: y si lo q pienso de los punteros en VB es una tontería, avisadme tb!
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

[EX3]

 
QUOTE ("tewe76")
Igual son prejuicios, o pesimismo, pero todo lo q suene a punteros me hace sospechar q en VB no va.

PS: y si lo q pienso de los punteros en VB es una tontería, avisadme tb! [/quote]
xDD, me ha hecho gracia el post. Siempre he oido ke los punteros en VB no existen, pero carajos, un puntero no es una variable ke apunta a otra? Entonces como narices dice la gente ke VB no usa punteros!!!

Yo, en VB, lo ke entiendo por puntero seria esto:

Dim A as Long, B as Long

B = A 'Puntero a A.

Dim A(3) as Long, B as Long

B = A(2) 'Puntero al 2º elemento de A.

Type Dato
Nombre as String
Edad as Long
End type

Dim A as Dato, B as String

B = A.Nombre 'Puntero al elemento Nombre de A.

Si es cierto ke un puntero se mantiene desde ke lo creas hasta ke el programa termina. Yo lo ke realmente hago en VB es una asignacion de valor de una variable a otra, pero en cierta forma seria un puntero, no? Un puntero que se crea en una subrutina y al finalizar dicha subrutina este desaparece.

Ademas, tewe76, en VB yo he usado multitud de funciones del estilo de esta, de pasar punteros y demas y si funcionan, si es cierto ke algunas dan guerra como es el caso de esta, ke a mas de uno le esta dando problemas en VB, segun lei en otros foros. El problema radica en el tipo de dato que rekieren algunos argumentos, el tipo ANY, ke se supone acepta cualquier tipo de dato, pero a veces no hace el efecto deseado.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

shephiroth

 Wenas. No se mucho de VB, pero hay una gran diferencia entre un puntero y una variable....un puntero apunta a una variable, una variable guarda un valor. Teniendo en cuenta el codigo que pusiste cuando haces B=A, b no sería un puntero a A, sigo que tomaría el valor q tenga A. Prueba sino a hacer algo como:

Dim A as Long, B as Long
A=200
B=A
B=300

print(A) ' que imprima por pantalla, q no me se la funcion  B)


Si B fuese un puntero se visualizaria 300, pero lo mas seguro que visualice 200

Un ultimo comentario, si visualizase 300 entonces si que sería lo que se entiende como un puntero. Creo que en estos casos no se llaman punteros, sino referencias (vease java xDD)

P.D: Se que puedo haber metido alguna q otra gamba, sientanse libres expresar su desacuerdo como mas gusten  (ole)  

Haddd

 No viene a cuenta poer..¿qué tal tu librería? ¿Ha tenido acogida?

[EX3]

 shephiroth, si tienes razon, como ya dije, mas ke un puntero es una asignacion k hago, pero en cierto punto de vista cumple la funcion de un puntero:

Type GFX_Data
Texture as Direct3D8Texture
Height as Long
...
End type

Dim GFX_Array(255) as GFX_Data
Dim Sprite as GFX_Data

Sprite = GFX_Array(125).Texture

Sprite.Texture.GetLevelDesc()
Sprite.Texture.SetLevelDesc(0)

Si haces una asignacion a una variable objeto, con sus subfunciones, entonces si puedes leer datos y escribir datos de la variable a la ke apunta el "puntero". Mi proyecto usa mucho este metodo y si, no es un puntero genuino pero se asemeja y cumple su cometido :D

QUOTE ("Haddd")
No viene a cuenta poer..¿qué tal tu librería? ¿Ha tenido acogida? [/quote]
Pos no sabria decirte en verdad, por ke si, visitas ya hay mas de 500 y todo eso, pero ni se cuanta gente se ha descargado la dx_lib32 y luego el foro esta mas abandonado ke otra cosa. Solo he tenido noticia de dos personas ke han hablado directamente conmigo sobre el proyecto, un chaval de aki de españa ke le ha gustado la sencillez del manejo de las librerias y un argentino ke lo esta intentando aplicar a un proyecto suyo, pero nada mas  :(

Es triste ver como tu trabajo parace no interesar a mucha gente, pero weno, la finalidad de la dx_lib32 no era agradar al publico desarrollador si no el de tener una base donde crear el motor de mi juego, el TLSA,  asi ke tampoco me puedo kejar mucho y gracias por tu interes  :)

Salu2...

P.D.: y ya ke tamos, Haddd, ke tal va tu proyecto?  :)  
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.