Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: <[(x)]> en 5 Febrero 2009, 17:19 pm



Título: DirecT x | Cargar Texturas desde un PictureBox
Publicado por: <[(x)]> en 5 Febrero 2009, 17:19 pm
holas

Estaba bien do como usar direct x en VB y me encontré con que carga las testuras desde un archivo.
Código
  1.  
  2.    D3DDevice.SetTexture 0, D3DX.CreateTextureFromFile(D3DDevice,"C:\a.bmp")
  3.  
  4.  

Como ven la tiene que crear...

Con lo cual no le podemos poner haci:
Código
  1.  
  2.    D3DDevice.SetTexture 0, Picture1.Image
  3.  
  4.  

Porque nos tiraría error (No Coinciden Los Tipos)

Si alguien sabe como cargar la textura Directamente desde el  Picture y me puede ayudar le estaría muy agradecido.

54¬ui)()5


Título: Re: DirecT x | Cargar Texturas desde un PictureBox
Publicado por: LeandroA en 5 Febrero 2009, 17:44 pm
hola yo no se nada del tema directX pero una textura no significa que pueda ser un bmp en todo caso deberias buscar algo como reateTextureFrombmp que no se si existe

otra cosa sugramente si lo creas tendrias que descargarlo por lo tanto tendrias que hacer algo como

dim hTextura as long

hTextura = D3DX.CreateTextureFromFile(D3DDevice,"C:\a.bmp")
D3DDevice.SetTexture 0, hTextura

y bueno despues tendrias que buscar como descargala


Saludos, seguramente Directx tambien debe tener alguna funcion para leer desde recursos.


Título: Re: DirecT x | Cargar Texturas desde un PictureBox
Publicado por: el_c0c0 en 5 Febrero 2009, 18:04 pm
No recuerdo bien, pero las texturas pueden ser varias imagenes juntas, que al desdoblarlas, hacen un cuerpo...
en fin, para eso de .image... proba con .image.handle quizas funcione

edit: los juegos no tienen las texturas en los recursos.. la sacan de un archivo de algunos gbs... pero bueno quizas se pueda cargar de otra forma!

saludos


Título: Re: DirecT x | Cargar Texturas desde un PictureBox
Publicado por: <[(x)]> en 5 Febrero 2009, 19:22 pm
holas 

Osea que ni idea... yo = sigo buscando.

 y lo del:
Citar
dim hTextura as long

hTextura = D3DX.CreateTextureFromFile(D3DDevice,"C:\a.bmp")
D3DDevice.SetTexture 0, hTextura

Eso tiraría error por lo que el valor devuelto por CreateTextureFile es un Direct3DBaseTexture8, y no hace falta porque directamente se lo paso a la función y ocupo menos memoria.(creo)

Pd: el foro te agradeceria si enves  de pegar el code y nada más, lo pones entre las etiquetas '[ code = vb ]' y '[ / code ]'. (SIN ESPACIOS)

--&&%)ud=WW!


Título: Re: DirecT x | Cargar Texturas desde un PictureBox
Publicado por: el_c0c0 en 5 Febrero 2009, 19:42 pm

Eso tiraría error por lo que el valor devuelto por CreateTextureFile es un Direct3DBaseTexture8, y no hace falta porque directamente se lo paso a la función y ocupo menos memoria.(creo)


no, al hacer eso estas cargando la textura en un puntero, al pasarle el puntero pero sin almacenarlo, estas haciendo que no se pueda borrar el objeto en algun futuro..

y la funcion que vos buscas es

D3DX8.CreateTextureFromFileInMemory(Device As Direct3DDevice8, SrcData As Any, LengthInBytes As Long) As Direct3DTexture8

y lo del tag code no es necesario si son 2 renglones de codigo, pero si son mas ahi si.

saludos


Título: Re: DirecT x | Cargar Texturas desde un PictureBox
Publicado por: BlackZeroX en 6 Febrero 2009, 04:17 am
Te recomiendo que bajes el SDK DirectX de la version que desees usar pero OJO en VB6 llega solo hasta el 8 por desgracia. yo igual ando con esto de las animaciones 3D con el DirectX y OpenGL jaja por tiempo no le tomo tanta sabiduria al tema xS.

El SDK esta bueno

Te recomiendo que primero aprendas a manejar bien las texturas en 2D y despues en 3D (En 3D es facil solo hay que hacer muchos Calculos trgonometricos si deseas animal algo xS).