loganhackerdff
Известный
- 868
- 520
а как понять что рисуется полигон из модели педаКстати выше - не самое лучшее решение. Лучше хукать DrawIndexedPrimitive в пайплайне рендера педов(0x761142) и выставлять цвет пикселей через константы или пиксельный шейдер. Пример:
C:sampler2D tex0 : register(s0); extern float3 dy: register(c0); float4 main(float2 tc : TEXCOORD0) : COLOR { return tex2D(tex0, tc) * float4(dy[0], dy[1], dy[2], 1.0); }
C++:{ HRSRC hsrc = FindResourceW(reinterpret_cast<HMODULE>(hmdl), MAKEINTRESOURCEW(IDR_HLSL2), L"HLSL"); PVOID shader = LockResource(LoadResource(reinterpret_cast<HMODULE>(hmdl), hsrc)); pDevice->CreatePixelShader(reinterpret_cast<DWORD*>(shader), &pPixelShader); }
C++:pDevice->SetPixelShader(pPixelShader); // Rainbow lol if (bTact) { HSVtoRGB(RGB[0], RGB[1], RGB[2], color[0], color[1], color[2]); color[0] += 2.0f; if (color[0] >= 360.0f) color[0] -= 360.0f; bTact = false; } pDevice->SetPixelShaderConstantF(0, RGB, 1); fpHkDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount); pDevice->SetPixelShader(nullptr); return D3D_OK;