レンダリングが終わっていなかった…だと…

さて、いつもは言い訳は書かないことにしているのですが今回は書いてしまいます。

前述の通りレンダリング結果はレイトレ合宿5‽のページにあります。 ここにあるのはリサイズしてjpgで圧縮したものです。

f:id:c5h12:20170917061844j:plain

このレンダリング結果はお前の人生そのものだ!

黒いタイルがだんだん埋まって…埋まりきらなかったーという衝撃はかなりのものでした。

ネタのつもりがざっくり刺さってしまって痛い状態ですorz

実は前からSwiftを使うというネタは考えていました。そのうちシリーズ名にアップル〜がくるのでその時にと。

そうなるとSwiftはまだWindowsに対応していないので、その時は選外扱いでいいやと思っていたのですが、今回はLinuxでもOKというルールがありました。もしかすると今回誰も使わなくて次回以降なくなるという可能性もなくはないので、これはいい機会だとやることにしたわけです。

色々あってメッシュの実装が間に合わなそうでしたがいわゆるボクセルアートを思い出し、直方体を用意して今回も無事に個人的裏テーマの"ミミのついたもの"をレンダリングできるはずでした。

しかしどうやらLinuxではパフォーマンスがあまり良くなかったらしく、64コアなら大丈夫だろうとたかをくくったせいでこんなことに。

そもそもSwift 3.1.1のLinux版のアーカイブにFoundationやDispatchの静的ライブラリが入ってなかったりする時点で、まだこなれてないということなのでしょう。

ちなみに頑張ってDispatchを静的リンクする方法はこっそりこちらにまとめてあったりします。

後になって気づいたことですが、Dispatchによる並列処理はmacOSだとタスクがキューに積まれて適度な数のスレッドで処理されていくのですが、Linuxではタスクの数だけスレッドが立って一気に処理するようです。わーお。

というわけで今のところSwiftはmacOSで使うのが良いようですね。

f:id:c5h12:20170917061913j:plain

誰もお前を愛さない。

このレンダリングされるはずだったもののフルサイズはGitHubの方にあげてあります。

ぐぬぬ(笑)