Ver Mensaje Individual
  #14  
Antiguo 22-04-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Lightbulb

Cita:
Empezado por Isuri Ver Mensaje
No he puesto ningun código porque el problema es que no se cual es el código correspondiente a la creacion de el MaterialLibrary. no se como explicar mejor mi duda; haber, estoy haciendo un programa en glscene, aqui puedo crear un MaterialLibrary donde dar texturas, color... a cada objeto de mi programa. Ésto, normalmente siempre lo he hecho a traves del object inspector (igual que cuando creas un cadencer o un timer), es decir, lo he creado en tiempo de diseño. Al igual que un cadencer, un timer, un objeto 3D...se puede crear en tiempo de ejecucion, es decir, escribiendo yo el código, quisiera saber cual es el código para crear ese MaterialLibrary. Un ejemplo de codigo para usar el MaterialLibrary (habiendolo creado en tiempo de diseño) es el siguiente:

Código Delphi [-]Bola.Material.MaterialLibrary := BiblioMateriales; Bola.Material.LibMaterialName := 'MaterialBola'; BiblioMateriales.Materials[0].Material.Texture.Image.LoadFromFile('imagebola.jpg'); BiBlioMateriales.Materials[0].Material.Texture.Disabled := false;


Con esto consigo dar al objeto bola, el material llamado 'MaterialBola', creado en la biblioMateriales en la posición 0, en tiempo de diseño. Ademas a ese material le asigno una imagen como textura. Lo que quiero saber el es código que me falta antes de eso, es decir, el crear el MaterialLibrary, que supongo será algo asi:

Código Delphi [-]BiblioMateriales := MaterialLibrary.Create;


Y como ir añadiendo materiales a esa biblioteca.

Espero haber aclarado algo, para que me podais ayudar.

Gracias.
Pues creo que debes ejecutar ese codigo que has puesto en tiempo de ejecucion y nada mas,podrias ponerlo dentro del evento de un boton,etc...algo asi:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
//claro que tu objeto Bola ya debe estar creado
//en todo caso tu mismo dijiste que sabias crearlo
//lo podrias hacer aqui
Bola.Material.MaterialLibrary := BiblioMateriales;
Bola.Material.LibMaterialName := 'MaterialBola';
BiblioMateriales.Materials[0].Material.Texture.Image.LoadFromFile('imagebola.jpg');
BiBlioMateriales.Materials[0].Material.Texture.Disabled := false;
end;
Saludos....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita