1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C++にはHLSLコードと同じような構文でベクトルや行列演算を行えるオープンソースライブラリのhlslppというものがあります。
今回はhlslppのセットアップ方法を紹介します。
プロジェクトの作成などの説明は省き、あらかじめC++のプロジェクトがあるものとします。

環境

  • VisualStudio2022
  • C++11以降のコンパイラ

手順1:ダウンロード

以下のリンクから、クローンかzipのダウンロードを行ってください。
zipのダウンロードを行った場合は解凍も行っておいてください。

手順2:プロジェクトのディレクトリに入れる

先程ダウンロードしたディレクトリの配下にあるhlslpp-masterディレクトリを、プロジェクトに追加します。
今回私はソリューションと同じ階層に入れました。
スクリーンショット (51).png

手順3:パスを追加する

VisualStudioを開いて、プロジェクト->プロパティをクリックします。
スクリーンショット (52).png
プロパティページが開くので、ページ左の構成プロパティからC/C++をクリック。
ページ右側の追加のインクルードディレクトリ-><編集...>をクリックします。
スクリーンショット (53).png
hlslppincludeディレクトリを相対パスで入力してOKをクリックします。
私の手順では$(SolutionDir)hlslpp-master\includeが相対パスとなります。

ソリューション(.sln)からの相対パスの場合は$(SolutionDir)を、プロジェクト(.vcxproj)からの相対パスを指定する場合は$(ProjectDir)でパスを指定してください。

スクリーンショット (54).png

使用できるか確認

上記の操作によってセットアップが完了しました。
正しく動くか確認をしてみましょう。

HlslppDemo.cpp
#include <iostream>
#include "hlsl++.h" // 全機能をインクルード

int main() {
	hlslpp::float3 vector = hlslpp::float3(1.0f, 2.0f, 3.0f);	// float3型のベクトルを作成
	printf_s("x:%f\n",static_cast<float>(vector.x));			//確認出力
	
	system("pause");
	return 0;
}
result
x:1.000000
続行するには何かキーを押してください . . .

コンパイルエラーが出なければ正しくセットアップが完了しています。

総括

  • hlslppを使用することで、HLSLコードと同じような構文でベクトルや行列演算を扱うことが出来る。
  • パスを指定してincludeを行うだけで簡単にセットアップを行うことが可能。
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?