Boyfriend refuses sex.

So I've been trying to have sex with my boyfriend like I've been begging and begging but get turned down everytime. If I try an touch him sexually he slaps my hand super hard, says stop raping me. So I'm like whatever then...and then I see he watches porn literally not even a minute later of me asking...I asked this morning and he turned me down and jacked off in the shower. I asked just before he went to work turned me down because he jacked off in the shower 20 min ago....why is he watching porn rather than sleeping with me. He isn't stressed, our sex is usually great when we do have it, I can't try and talk to him about it cause he laughs and ignores me tells me to stop talking about it or tells me to go do something, usually make him food. I don't understand am I just not that attractive anymore?? My self esteem has really jumped off the deep end. I feel so gross and ugly. Almost like I'm worth nothing but a house slave to him.

*edit- we have had sex probably 6 times in 8 months.. I'm not going to go cheat on him obviously i love him, but I need him to be more intimate. And I searched the f out of the phone and nothing but porn... I'm not saying every night but at least 2 times a week or so... I never cared that he watched porn but now it's like okay dude you have me right here. Maybe our sex is boring...he always just wants to lay in bed and have me on my side. Nothing else...I try everything else but he always guides me back to laying down. Like having sex with a dead fish...lol idk if he is into role play, toys, anything like that so I've never got anything like that...maybe I need to take control and spice it up...???*