JGM3E3632 said:
The recommended engine oil is Castrol 10w-60. Around 9.50 a unit. You can get it at the dealership or at Bavauto.com.
In fact, that's the only oil BMW approves for the E46 M3. You can buy it at some independent BMW shops, too. The best price I've seen is $8.95 / litre (yes, they come in litre cans).
Like I said, though, topping off on occasions should not void the warranty. As a matter of fact, I'm not even sure BMW *can* void the engine warranty just 'cause you use non-recommended oil. Nowhere in the manual do they state that you MUST use the Castrol TWS 10W-60 in order to keep your warranty intact.