0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初めてのVulkanプログラミング step3 クロスプラットフォーム化

Last updated at Posted at 2019-01-20

目次に戻る

ソースコードは以下の場所に置いておきます。各自のバージョンに合わせたプロパティ設定をしてから自由にご利用ください。
github: VulknAppAdocal2018

#クロスプラットフォーム化

クロスプラットフォーム化とは- IT用語辞典

####クロスプラットフォーム
あるコンピュータプログラム(ソフトウェア)を、複数の異なる仕様の機種やOSで同じように動作させられること。また、入出力装置などコンピュータの周辺機器を、複数の異なる機種に繋いで使用できること。

もっとわかりやすくまとめると一つのプログラムを作ったら、そのプログラムをAndroid,windows,Mac...etcと様々な環境でも使えるようにすることです。

クロスプラットフォームは、vulkanに限らずどんなプログラムでも活用できるものすごく重要なことです。

##条件付きコンパイル
条件付きコンパイルを使うことによってコンパイル時にプラットフォームに応じて異なったソースコードを使うことができます。
もしOSがWindowsならばAという処理をコンパイル、もしOSがMacならばbの処理をコンパイルといった、感じにコンパイルするプログラムを変えることができます。
このソースコードを新しくplatform.hに作成していきます。

#if defined(_WIN32)
//windowsで動くプログラム ...linuxで動かない

#elif defined (__linux)
// linuxで動くプログラム ...windowsで動かない

#endif
//終了

##Windowクラスの作成
どのOSでもWindowを生成して使える環境を作るために、抽象クラスWindowを作成します。

##Windowの作成
抽象化クラスWindowを継承し、新しくWindowを作るプログラムを作ります。
自分のプログラムでは、前回のGLFWサンプルを少し改良した、Window_GLFWです。

gitHubには、前回のGLEWサンプルと、プラットフォーム化が終了したバージョンが(2019/1/19)現在あげていますのでよかったら活用してください。

##最後に

自分のvulkanプログラムは、一応マルチプラットフォームに対応させて作っていきますので、多くの人の参考になればいいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?