Квадратные пятна отображаются, потому что вы просто видите треугольники, из которых состоит модель obj. Либо найдите модель obj с большим количеством треугольников, либо используйте наложение текстуры, чтобы сгладить поверхность. Если вы ищете вычислительно эффективный метод для рисования сфер, вы можете создать алгоритм столкновения для сфер. Я не знаю, насколько низкоуровневым был ваш проект трассировки лучей, но если вы определили алгоритм отражения для треугольника, вы можете довольно легко сделать его для сферы. Я создал визуализацию здесь:
https://www.geogebra.org/m/g9rrhttp
Вы можете проверить это, если хотите. Если вы не хотите реализовывать этот новый алгоритм, вы можете найти модель obj с текстурой. текстура - то, что заставит это казаться гладким.