60代からの作文ドリル(27)目標を達成するためにしたこと
問題「今年の目標を達成するために何をしましたか?どんな困難があって、それをどうやって乗り越えましたか?」
2024年8月28日(水)
今年の目標のひとつに、「趣味のプログラミング」をさらに発展させることを掲げました。特に、Macを使った3Dグラフィックス・プログラミングに挑戦することで、自分の技術を次のレベルに引き上げることを目指しました。
目標を達成するために何をしましたか
まずは、具体的な目標として「模型飛行機の旋回飛行を描画する3D動画のプログラム」を設定し、その試作に取り組みました。初めに、Macのプログラミング言語であるSwiftを用いた3D動画の描画プログラムの実現の参考となるサンプルコードをネットで探し、学習を開始しました。
どんな困難がありましたか
しかし、想像していたものに近いサンプルコードがなかなか見つからず、調査に時間を要しました。また、複数のモデルを組み合わせた描画を試みた際には、「セットする頂点のバッファサイズが大きすぎる」というエラーに直面し、プログラムの再設計を余儀なくされました。
それをどうやって乗り越えましたか
この困難を克服するために、Appleの開発者向け公式サイトに戻り、MetalフレームワークやSwiftUIに関するドキュメントを再確認しました。そして、個々の基本機能を実現するためのサンプルコードを精査し、分析を重ねました。結果として、想像していたものに近い3D動画のテンプレートプロジェクトの整備にこぎつけられました。また、バッファサイズのエラーに対しては、制約を考慮し、複数回に分けて描画するようにプログラムを改善しました。
結果と今後の展望
2024年2月19日には、2023年12月31日に掲げたサンプル画像と同じように、「模型飛行機の旋回飛行を描画する3D動画」を無事に完成させることができました。この経験を通じて、Mac上でのSwiftとMetalフレームワークを使った3D描画において、隠面処理の自動化や、ベクトル演算、GPUの並列処理の仕組みを理解することができました。今後は、この基礎を活かし、さらに高度な3D描画技術に挑戦していきたいと考えています。
あとがき
関連した記事を投稿しています。