Hirdetés
Új hozzászólás Aktív témák
-
andriscs
aktív tag
Hi!
Éppen azzal foglalatoskodom, hogy egy DirectX-es alkalamzást írjak, és szeretnék DirectX file-okat beolvasni (*.x). A beolvasással nincs gond, de az összes mesh felülete fekete, hiába van fényforrás a világban. Mesh beolvasása esetén nekem kell megírni az egyes subset-ekre a fénybeállításokat? Esetleg a modell tervezésénél kell megfelelő világítást használni? A modelleket Maya-val csinálom és onnan exportálom DirectX file-okká.
Itt egy tipikus Mesh loader, ebben nem látok olyat, hogy a fényforrásokat ráigazítaná:
public static Mesh LoadMesh(Device device, string file, ref Material[] meshMaterials,
ref Texture[] meshTextures)
{
ExtendedMaterial[] mtrl;
// Load our mesh
Mesh tempMesh = Mesh.FromFile(file, MeshFlags.Managed, device, out mtrl);
// If we have any materials, store them
if ((mtrl != null) && (mtrl.Length > 0))
{
meshMaterials = new Material[mtrl.Length];
meshTextures = new Texture[mtrl.Length];
// Store each material and texture
for (int i = 0; i < mtrl.Length; i++)
{
meshMaterials = mtrl.Material3D;
if ((mtrl.TextureFilename != null) && (mtrl.TextureFilename !=
string.Empty))
{
// We have a texture, try to load it
meshTextures = TextureLoader.FromFile(device, @''..\..\'' +
mtrl.TextureFilename);
}
}
}
return tempMesh;
}
Aztán a kirajzolás:
private void Draw(float x, float y, float z)
{
device.Transform.World = Matrix.Translation(x, y, z);
for (int i = 0; i < meshMaterials.Length; i++)
{
device.Material = meshMaterials;
device.SetTexture(0, meshTextures);
meshMesh.DrawSubset(i);
}
}
Örülnék a hasznos ötleteknek.
[Szerkesztve]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Gyúrósok ide!
- Samsung Galaxy A55 - új év, régi stratégia
- Allegro vélemények - tapasztalatok
- League of Legends
- Autós kamerák
- World of Tanks - MMO
- Telekom mobilszolgáltatások
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Hobby elektronika
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Samsung Galaxy S22 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- XFX RX 9070 XT 16GB GDDR6 MERCURY OC Gaming Edition with RGB - Gari 2029.01.14. -ig - Eladó!
- EliteBook x360 1040 G8 14" FHD IPS érintő i7-1165G7 16GB 512GB NVMe magyar vbill IR kam gar
- MacBook 12" Retina 2015, 8/256, 1.1 Ghz Intel M, magyar billentyűzet
- SAPPHIRE RX 9070 16GB GDDR6 NITRO+ OC Eladó!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- White GAMER PC! Ryzen 7800X3D / RTX 4080 / 32GB DDR5 / 1TB NVMe / 1000w Gold / BeszámítOK !
- Azonnali készpénzes AMD Radeon RX 9000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black - 1 ÉV GARANCIA -Kártyafüggetlen, MS4332
- Alkalmi vétel! HP Omen 17! I7 12700H / RTX 3070Ti 8GB / 1TB Nvme SSD / 16GB DDR5 !
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


