evet usta eve geldim benim bilgisayarda çalışmadı cam opak tahta saydam, galiba dx9.0 tnt2 ekran kartını asimile etti. neyse bende dx8.0
la yazarım. (saten dx80 ile 9.0 arasında bir fark göremedim)
P2-400-tnt2 bilgisayarda
////
Setrenderstate(srcblend,srcalpha);
Setrenderstate(destblend,invsrcalpha);
//// yanlış (iyi ekran kartı için doğru)
///
Setrenderstate(srcblend,srccolor);
Setrenderstate(destblend,bothsrcalpha);
///// doğru (iyi ekran kartı için yanlış)
// Disable et bu komutları
//d3d9->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
//d3d9->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCCOLOR);
//d3d9->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_BOTHSRCALPHA );
MSDN diyor ki:
D3DBLEND_BOTHSRCALPHA Obsolete for Microsoft DirectX 6.0 and later. You can achieve the same effect by setting the source and destination blend factors to D3DBLEND_SRCALPHA and D3DBLEND_INVSRCALPHA in separate calls.
tnt2 makinanın driverlarını güncelle ve DX9 a devam.
Kayıt: Jan 13, 2004 Mesajlar: 110 Nereden: Gevrek, darı ve çiğdem yenen yerden
Tarih: Fri Jul 01, 2005 3:21 pm Mesaj konusu:
scg çözümü açıklamış.
DX8 ile DX9 arasında bir hayli fark var aslında. (D3D açısından ise çoook)
Sadece DInput ve bir kitaplık daha (DPlay veya DShow olabilir) DX8'den beri gelişmedi sanıyorum.
Ancak senin kodu yazdığın kadarıyla DX8 ile DX9 arasında pek bir fark yok tabi. Yine de bu DX8'e dönmek için bir sebep olmamalı.
DX 9.0c herşeyine yeter diyorum. Yeter ki doğru kullan...
Kayıt: Nov 02, 2002 Mesajlar: 215 Nereden: Istanbool
Tarih: Fri Jul 01, 2005 4:15 pm Mesaj konusu:
once tum scene'deki opak obceleri ciz, sonra tum scene'deki transparan obceleri ciz.
transparent'leri cizerken soyle kolay bi yol var: Eger cizdirdigin sey convex ise...yada soyle diyeyim, kuptur kuredir basit birsey ise...
depth_buffer write/test/hepsini ac .. once arka yuzeylerini cizdir.. sonra on yuzeyleri cizdir..
arka yuzeyleri nasil cizicen... glbirsey...glDrawFace( GL_FRONT) gibi birseydi.. glClip (GL_BACK)... bu da diil...
ya iste, once arkaya bakan poly'leri sonra one bakan poly'leri cizersen, obje de basitse, hic sort yapmadan, 'arkadan one cizme' benzeri birsey yapmis olursun.
benim bilgisayardaki ekran kartında bir hata var başka bilgisayarın ekran kartında (tnt2) denediğimde sorunsuz çalıştı. hatta diamond 4mb dede
çalıştı yani dx9.0 tnt2 ve eski ekran kartlarında ahenk içinde çalışıyor.
herkeze teşekkürler sorun bitti .
(bu arada formlar ne çabuk ilerliyor.. güzel bir durum)
Bu forumda yeni konular açamazsınız Bu forumdaki mesajlara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız