Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Moje shadery są funki
#1
Więc próbowałem zmusić moje shadery do pracy nad bronią Combat dziś wieczorem i niestety przeciekają poza adres zwrotny. Tekstura działa dobrze i nie mam z tym problemu, jednak wolałabym, żeby moje chams pozwalały świecić, a nawet bez blasku daje mi piekło.     Teraz próbowałem zerwać Shadera, aby go zatrzymać i próbowałem zamknąć wszelkie luki, ale mój mózg nie ma wyjścia.   Oto mój DIP.       Kod:   // PRA_CA = #define Player_ReturnAddress 0x6365D6 void * ReturnAddress = _ReturnAddress (); if (Chams) if (ReturnAddress! = NULL && ReturnAddress == (void *) PRA_CA) {// ZXDev-> SetPixelShader (NULL); // ZXDev-> SetPixelShader (sGlow); // ZXDev-> SetPixelShader (sBlue); ZXDev -> SetTexture (0, niebieski); ZXDev -> SetRenderState (D3DRS_FILLMODE, D3DFILL_SOLID); ZXDev -> SetRenderState (D3DRS_ZENABLE, false); ZXDev -> DrawIndexedPrimitive (PrimType, BaseVertexIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount); // ZXDev-> SetPixelShader (NULL); ZXDev -> SetRenderState (D3DRS_ZENABLE, true); ZXDev -> SetRenderState (D3DRS_FILLMODE, D3DFILL_SOLID); ZXDev -> SetTexture (0, czerwony); // ZXDev-> SetPixelShader (sRed); // ZXDev-> SetPixelShader (sGlow); }   Tekstura działa dobrze, ale moje shadery przeciekają do innych obiektów.   Próbowałem robić to, co wiedziałem, że to idiotyczny pomysł.     Kod:   if (Chams) {if (ReturnAddress! = NULL && ReturnAddress! = (void *) PRA_CA) ZXDev -> SetPixelShader (NULL); }   Kiedy próbuję NULL dowolne shadery w dowolnym miejscu w DIP, u góry, w dowolnym miejscu, otrzymuję efekt No Player.   Czy istnieje sposób na rozwiązanie problemu wycieku?   Inne kodsz.     Kod:   HRESULT GenerateShader (IDirect3DDevice9 * pD3Ddev, IDirect3DPixelShader9 ** pShader, czerwony float, float green, float blue, float alpha) {char szShader [256]; ID3DXBuffer * pShaderBuf = NULL; sprintf_s (szShader, "ps_3_0 \ ndef c0,% f,% f,% f,% f \ nmov oC0, c0", czerwony / 255, zielony / 255, niebieski / 255, alfa / 255); 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; }       Kod:            bool sGenerated = false; // if (! SGenerated) {// w DIP GenerateShader (ZXDev, & sBlue, 0, 0, 255, 255); // niebieski GenerateShader (ZXDev, & sGreen, 0, 255, 0, 255); // zielony GenerateShader (ZXDev, & sOrange, 255, 128, 0, 255); // orange GenerateShader (ZXDev, & sPurple, 255, 0, 255, 255); // fioletowy GenerateShader (ZXDev, & sRed, 255, 0, 0, 255); GenerateShader (ZXDev, & sWhite, 255, 255, 255, 255); // biały GenerateShader (ZXDev, & sYellow, 255, 255, 0, 255); // żółty GenerateShader (ZXDev, & sGlow, 60, 180, 200, 35); sGenerated = true; }       Przenika do obiektów w grze i menu postaci.   Moje hackowanie w warface działa wspaniale z shaderów, więc jeśli ktoś chce przekazać kolory do przyczyny, nie krępuj się!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)