çalışmaz: Ben another question içinde ile SlimDX yapmak için bir yol bulmuş Multisampling aşağıdaki resimdeki gibi üçgenler çizerken multisampling etkinleştirmek istediğiniz özel modda
ama çalışmıyor özel modda.
void Form1_Load(object sender, EventArgs e)
{
Direct3D d3d = new Direct3D();
PresentParameters presentParams;
presentParams.Windowed = false;
presentParams.BackBufferFormat = Format.X8R8G8B8;
presentParams.BackBufferWidth = 800;
presentParams.BackBufferHeight = 600;
presentParams.FullScreenRefreshRateInHertz = 60;
presentParams.SwapEffect = SwapEffect.Copy;
presentParams.BackBufferCount = 1;
presentParams.PresentationInterval = PresentInterval.One;
int multisampleQuality;
Result result;
if (d3d.CheckDeviceMultisampleType(adaptor, DeviceType.Hardware, Format.X8R8G8B8, false, MultisampleType.FourSamples, out multisampleQuality, out result))
{
if(multisampleQuality > 4)
{
presentParams.Multisample = multisampleType;
presentParams.MultisampleQuality = 4;
}
}
// Device creation
Device device = new Device(d3d, adaptor, DeviceType.Hardware, this.Handle, CreateFlags.HardwareVertexProcessing, presentParams);
}
son satırı alway D3DERR_INVALIDCALL hatasıyla crashs bile multisampleQuality için her zaman hiçbir hata ile doğru ve 8 CheckDeviceMultisampleType dönüş:
İşte benim kodudur.
Pencereli modu kullanırsam veya çoklu örnek seçeneğini kaldırırsam çalışır.
Birisi bana sorunun ne olduğunu söyleyebilir mi?
Bu bir cazibe gibi çalışır ile deneyin !!! Çok teşekkür ederim :) –
Merhaba @catflier! Bunun için bir açıklamanız var mı? Aslında bu parametrenin * SwapEffect.Copy * ... –
@ tinmaru'ya ayarlanmasına ihtiyacım olduğunu fark ettim: Evet, çünkü bunu yapamazsın, çünkü çoğunlukla swapeffect.copy piksel başına piksel kopyalamaya ihtiyaç duyuyor Bu yüzden msaa ile çalışmaz (alt piksel örneklerine sahip olduğunuzdan). Ayrıca neden SwapEffect.Copy'ye ihtiyacınız var? Atmak oldukça tatlıdır – catflier