はじめに
色々とあって,C++による簡単実習 3次元CG入門 第2版って本を読んで軽く3DCGを勉強中.
CGの基礎から実装方法まで書かれていて非常に良い本なんだけど,サンプルコードの動作に必要なライブラリがWindows向けとLinux向けしかリリースされていないので,Mac向けにちょっと移植してみた.
バックエンドはHighGUIで
この本のサンプルコードはWinクラスというウィンドウ関連の処理を行うクラスを利用しているのだが,
このWinクラスの実装がwin.aというバイナリで提供されているため,Macでは動作しない.
そこで,今回はこのwin.aに相当する部分をHighGUIで実装することにした.
幸いなことに,サンプルコードがpimplイディオムを使用していたので,もとからある部分は全く修正せずにサクッと実装できた.
興味のある方はこちらからどうぞ.
実行結果
トーラスと球をフラットシェーディング,グーローシェーディング,フォンシェーディングでレンダリングした結果.なかなかそれっぽく動作してる.