Sachverhalt: Sachverhalt: A. Der 1972 geborene B._ rutschte am 1. November 1999 bei seiner Arbeit als Dachdecker aus und konnte einen Sturz in die Tiefe vermeiden, indem er sich mit der rechten Hand an der Dachrinne festhielt. In der Folge litt er an einem lumbovertebralen Syndrom und an einem myofaszialen Schmerzsyndrom der panvertebralen und glutealen Muskulatur. Am 25. Oktober 2000 meldete sich B._ zum Bezug von Leistungen der Invalidenversicherung an. Aufgrund von medizinischen und erwerblichen Abklärungen lehnte die IV-Stelle des Kantons Zürich das Leistungsbegehren mit der Begründung ab, die bisherige Tätigkeit als Hilfsdachdecker sei dem Versicherten auch weiterhin vollschichtig zumutbar (Verfügung vom 10. März 2003, bestätigt mit Einspracheentscheid vom 30. Juni 2003). A. Der 1972 geborene B._ rutschte am 1. November 1999 bei seiner Arbeit als Dachdecker aus und konnte einen Sturz in die Tiefe vermeiden, indem er sich mit der rechten Hand an der Dachrinne festhielt. In der Folge litt er an einem lumbovertebralen Syndrom und an einem myofaszialen Schmerzsyndrom der panvertebralen und glutealen Muskulatur. Am 25. Oktober 2000 meldete sich B._ zum Bezug von Leistungen der Invalidenversicherung an. Aufgrund von medizinischen und erwerblichen Abklärungen lehnte die IV-Stelle des Kantons Zürich das Leistungsbegehren mit der Begründung ab, die bisherige Tätigkeit als Hilfsdachdecker sei dem Versicherten auch weiterhin vollschichtig zumutbar (Verfügung vom 10. März 2003, bestätigt mit Einspracheentscheid vom 30. Juni 2003). B. Das Sozialversicherungsgericht des Kantons Zürich wies die dagegen erhobene Beschwerde ab (Entscheid vom 3. Februar 2004). B. Das Sozialversicherungsgericht des Kantons Zürich wies die dagegen erhobene Beschwerde ab (Entscheid vom 3. Februar 2004). C. B._ lässt mit Verwaltungsgerichtsbeschwerde beantragen, es sei ihm, unter Aufhebung von Einsprache- und kantonalem Gerichtsentscheid, eine ganze Invalidenrente zuzusprechen; eventuell sei die Sache zur weiteren Abklärung an die Verwaltung zurückzuweisen. Die IV-Stelle schliesst auf Abweisung der Verwaltungsgerichtsbeschwerde. Das Bundesamt für Sozialversicherung verzichtet auf Vernehmlassung.