Piszę więc małą grę za pomocą Direct3D 9 i używam multiteksturowania w terenie. Wszystko, co robię, to próbkowanie 3 tekstur i mapy mieszania oraz uzyskiwanie ogólnego koloru z trzech tekstur w oparciu o kanały kolorów z mapy mieszania. W każdym razie, gdy próbuję więcej niż 1 tekstury, uzyskuję ogromny spadek liczby klatek, przechodzę z 120+ fps do nieco poniżej 50.
Oto kod HLSL odpowiedzialny za spowolnienie:
float3 ground = tex2D(GroundTex, multiTex).rgb;
float3 stone = tex2D(StoneTex, multiTex).rgb;
float3 grass = tex2D(GrassTex, multiTex).rgb;
float3 blend = tex2D(BlendMapTex, blendMap).rgb;
Czy robię to źle? Jeśli ktoś ma jakieś informacje lub porady dotyczące próbkowania tekstur lub coś w tym stylu, byłoby miło.
Dzięki.