Ú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!
- Milyen billentyűzetet vegyek?
- Filmvilág
- Épített vízhűtés (nem kompakt) topic
- Gaming notebook topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xbox Series X|S
- Autós topik
- Digitális Állampolgárság Program DÁP
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Formula-1
- További aktív témák...
- Ryzen 7 9700x AM5 CPU - garancia 2028.05. hóig
- Philips Evnia 27M2N8500 QD-OLED monitor 1440p 360Hz ALZA garancia
- MacBook Air (2020) M1 processzor, 8GB RAM, 256 GB kiváló állapotban eladó
- Felújított (Refurbished) DELL Latitude 5440 Tartós Üzleti Laptop 14" -40% i5-1345U 10Mag 16/512 FHD
- Xiaomi Poco Pad 256GB blue
- HP Elite x2 1012 G1,12",FHD+ ,m5-6Y54,8GB,256GB,WIN10, LTE
- iKing.Hu - Apple iPhone 15 Pro Max Black Titanium 100% Akku
- Honor 200 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- LG 45GS95QX - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- SteelSeries vezeték nélküli fejhallgató Arctis 9
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


