У меня есть программа Direct3D, которая рисует следы, вместо того чтобы очищать каждый кадр, она рисует черный квадрат на экране с альфа-смешиванием. После рендеринга идет:
renderstate.alphablendenable = true;
renderstate.blendoperation = add;
renderstate.sourceblend = zero;
renderstate.destinationblend = invblendfactor;
renderstate.blendfactor = rgb(8,8,8);
затем он отображает квадраты (пожалуйста, простите за псевдокод). это работает хорошо, за исключением того, что это не полностью очищает экран. он оставляет постоянные следы, я не могу понять, почему. Правильное смешивание должно после достаточного количества кадров полностью превратить его в черный, но это оставляет серые следы. кто-нибудь знает, почему или лучший метод затухания в Direct3D?