To a good degree you can, Id recommend you invest in a pull up bar and gymnastic rings to hang off of the pull up bar to keep it cheap and minimal but HUGELY increasing the amount of upper body exercises you can do. This set up can effectively work every muscle in your entire upper body.
As for the debate of weights vs body weight, all your muscles know is tension and how that tension is applied to the muscles. In the gym, to keep the tension in a state of progress, more weight is added to the bar while the movement pattern stays the same. With body weight training, the weight stays the same while the movement pattern is progressed to a more difficult pattern to keep progressive tension on the muscle. No, doing the same basic push up wont net you much hypertrophy in the very same way that doing a bicep curl with 5kg weight wont net you much gain after your body has adapted to the initial stress it produced on the bicep. The only difference with these 2 scenarios is that to apply more tension on the muscle, the weight of the dumbbell is increased while the movement stays exactly the same. To produce more tension in the push up, the movement is slightly altered by hand placement, your leverage is changed by putting your feet on a higher surface, or using the gymnastic rings. Each of these will produce an increase in difficulty which will require a slight progression in strength also known as progressive overload. That’s all your muscles know.
As long as you’re keeping your rep range for each progression in the 6–15 rep range for 3–6 sets you will trigger hypertrophy in the targeted muscle area.
The take home point is yes, you absolutely can build a great physique with body weight as long as you make sure to progress the movement to a more difficult pattern once you start banging out 15 reps with ease for the given pattern.