Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
GenerateShader fix dla ati
#1
Miałem problemy z shaderem pracującym na kartach ati. Używanie pixel shader 3.0 naprawiło problem.       Zacytować:       HRESULT GenerateShader (IDirect3DDevice9 * pD3Ddev, IDirect3DPixelShader9 ** pShader, float r, float g, float b) { char szShader [256]; ID3DXBuffer * pShaderBuf = NULL; sprintf (szShader, "ps_3_0 \ n" "def c0,% f,% f,% f,% f \ n "mov oC0, c0", r, g, b, 1,0f); D3DXAssembleShader (szShader, sizeof (szShader), NULL, NULL, 0 i pShaderBuf, NULL); if (FAILED (pD3Ddev-> CreatePixelShader ((const DWORD *) pShaderBuf-> GetBufferPointer (), pShader))) zwraca E_FAIL; return S_OK; }         Miałem problem w złym towarzystwie 2, być może miało to związek z konfliktem wersji z samą grą, ale ps1.1 działało na mojej karcie nvidii.   Jeśli brakuje mi czegoś, co pixel shader 1.1, pracując z kartami ati, zwróć mi to uwagę.   Kredyty? GD nie działa, kiedy to publikuję, więc to jest domyślna funkcja s0beit? MSDN   Cieszyć się, Raiders
Reply
#2
Czy istnieje sposób, aby zrobić PS 2.0? Próbowałem zmienić ps_2_0, a potem moja gra się zepsuła = / Ale gry, w których używam chams są dość stare. Więc nie obsługują wersji 3.0. Również dzięki za to, będzie działać bezbłędnie z moim nowym BC2Pub
Reply
#3
Używanie tego samego kodu z wersją 2.0 zamiast 3.0 działało na mojej karcie nvidia w bc2. Sprawdź stronę do cieniowania pikseli na wiki dla wersji dx - wykres wersji ps. Naprawdę chcę wiedzieć, dlaczego ps 1.1 nie działa na kartach ati ... Do diabła, ten problem sięga moich chórów pubów fc2>.>
Reply
#4
ale musisz wiedzieć, że większość użytkowników nie może używać PS3.0, ponieważ nie mają odpowiedniego sprzętu. greetz KN4CK3R
Reply
#5
Zacytować: Napisał KN4CK3R ale musisz wiedzieć, że większość użytkowników nie może używać PS3.0, ponieważ nie mają odpowiedniego sprzętu. greetz KN4CK3R Według Wikipedii, jeśli twoja karta obsługuje DirectX 9.0c, wspierasz Shader Model 3.0.
Reply
#6
Próbowałem tego jakiś czas temu, 2 karty diff Nvidii dały inne wyniki, mój GTX285 rozbił komputer podczas próby użycia wersji 3.0, ale nie posunął się dalej, aby zobaczyć dlaczego. Nie sądzę, że 9.0c jest jedynym wymaganiem, ponieważ istnieje sprzęt w użyciu.
Reply
#7
Zacytować: Originally Posted by zoomgod Próbowałem tego jakiś czas temu, 2 karty diff Nvidii dały inne wyniki, mój GTX285 rozbił komputer podczas próby użycia wersji 3.0, ale nie posunął się dalej, aby zobaczyć dlaczego. Nie sądzę, że 9.0c jest jedynym wymaganiem, ponieważ istnieje sprzęt w użyciu. Z tego, co wiem, jeśli karta obsługuje DirectX 9.0c, powinna obsługiwać model cieniowania 3.0. Wiki wymienia obsługiwane modele, takie jak seria GeForce 6 i nowsze oraz radeon x1300 i nowsze. Może się jednak zdarzyć, ponieważ podobno ati nie obsługuje modelu cieniowania 1.1 ... Raiders
Reply
#8
Możesz podać opcję wersji modułu cieniującego za pośrednictwem menu, domyślnie do wersji 1.1
Reply
#9
Jestem właścicielem Ati Hd 4850, kiedy używam Shadera po chwili, gdy znikają, a gra się zawiesza. Więc TryingOut 3.0 I mam problem. Mówi, że ta funkcja nie bierze sześciu argumentów. Kod: GenerateShader (pDevice i shaderRed, 1.0, 0.0f, 0.0f, false); Co to jest 3.0 Składnia do ustawiania kolorów?
Reply
#10
Cześć wszystkim, Czy ktoś może mi powiedzieć, gdzie powinienem umieścić ten kod? (Przepraszam, jestem noob)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)