- Apple iPhone 17 Pro Max – fennsík
- Azonnali navigációs kérdések órája
- Xiaomi 15T Pro - a téma nincs lezárva
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Hiánypótló funkciót vezet be a Nothing
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- iPhone topik
- Fotók, videók mobillal
- Android alkalmazások - szoftver kibeszélő topik
- Okosóra és okoskiegészítő topik
Ú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!
- Corsair SF850L Gold 850W SFX Moduláris Tápegység
- Corsair RM1000X Gold 1000W Moduláris Tápegység PCIE 5 ATX 3 12VHPWR
- Lenovo ThinkPad P15 Tervező Vágó Laptop -50% 15,6" i7-10750H 16/512 QUADRO T1000 4GB
- MAKULÁTLAN! Dell Precision 7760 Tervező Vágó Laptop -70% 17,3" i7-11850H 32/1TB NVIDIA A3000 6GB FHD
- Kiwiears Astral
- Honor 90 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple MacBook Air M2,8/256GB,Dobozával,12 hónap garanciával
- Samsung Galaxy S24 FE / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- Új monitor állvány- elegáns megoldás a dupla A/4-es papírcsomag helyett - csak össze lett szerelve
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / RX 6700XT / 32GB DDR4 !
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest