James McAvoy has revealed that he wasn't allowed to read the Filth novel before making the film.
The Scottish actor, who stars as corrupt and bigoted cop Bruce Robertson in Jon S Baird's big-screen adaptation of Irvine Welsh's book, admitted that the director and author forbade him from reading it ahead of shooting.
"I was actually advised by the writer of the book and the director not to read it until after we finished making the film," he said.
"I am a fan of Irvine's and have been for years. I've read his novels so I was very familiar with his ways, approach and view of people in Edinburgh in particular."
James described the film as "gritty" and "hard-hitting", while making people empathise with Bruce.
"You'd have to be heartless not to empathise with him. I think we're scared of mental illness on film. You don't get a lot of movies about it, and if you do, they're very sober and worthy," the 34-year-old said.
"I don't think that's always the approach to telling a story about somebody who has a condition that is much more varied and more vibrant than that. I thought Bruce was hilarious, even though he was so extreme and abusive to everybody."
The X-Men star continued: "He is very unhappy but (this film) is done with the energy, the verve and the imagination, and also the surrealism that one sometimes experiences when they're mentally ill. Certainly, my experience of it.
"I found that really fascinating to put that into film, but also it's gritty, modern, hard-hitting, shocking and ultimately for me, really funny. It's a piece of entertainment that feels like you're being punched in the face at the same time."
Filth is in cinemas now.