DirectX::SpriteBatch로 이미지를 쉽게 표시해보기(DirectX11)
2361 단어 C++DirectX11VisualStudio게임 제작
아래 준비
먼저 보려는 이미지를 VisualStudio에 추가합니다.
오른쪽 클릭 → 속성에서 항목 유형을 Image Content Pipeline으로 설정합니다.
이제 빌드했을 때 이미지 파일에서 .dds라는 파일을 만들 수 있습니다. 이 .dds 파일을 로드하여 이미지를 표시합니다.
속성 페이지에서 .dds 파일의 출력 대상을 변경할 수 있습니다. 이미지에 관해서는 이것으로 OK입니다.
그리기
우선은 초기화나 화상의 로드를 합니다.
//変数
ID3D11Device* device //構築済みとする
ID3D11DeviceContext* deviceContext //構築済みとする
std::unique_ptr<DirectX::SpriteBatch> spriteBatch; //これが肝
ID3D11ShaderResourceView* shaderResourceView //読み込んだ画像ファイルの保存先
//spriteBatchの初期化
{
spriteBatch = std::make_unique<DirectX::SpriteBatch>(deviceContext);
}
//画像の読み込み
{
DirectX::CreateDDSTextureFromFile(
device, //デバイス
L"Assets/title.dds", //読み込む画像ファイルの場所と名前
nullptr, //nullptrでいい
&shaderResourceView); //ここに読み込んだファイルの情報が格納されます
}
//
그려갑니다.
//以下ループ
{
//Drawの前に呼び出す
spriteBatch.get()->Begin();
//Draw
spriteBatch.get()->Draw(
shaderResourceView, //読み込んだ画像ファイル
DirectX::XMFLOAT2(0.0f,0.0f) //画像の座標
);
//Drawの後に呼び出す
spriteBatch.get()->End();
}
이제 그릴 수 있습니다 ... 것입니다.
실제로 이미지가 그려지는 것은 SpriteBatch의 End 함수가 호출된 타이밍입니다.
또한 이런 식으로 Begin()과 End 사이에 여러 번 Draw 함수를 호출할 수 있습니다.
{
spriteBatch.get()->Begin();
spriteBatch.get()->Draw(...);
spriteBatch.get()->Draw(...);
spriteBatch.get()->Draw(...);
spriteBatch.get()->End();
}
Reference
이 문제에 관하여(DirectX::SpriteBatch로 이미지를 쉽게 표시해보기(DirectX11)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akurobit/items/e26d5f43ad325cee3439
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선은 초기화나 화상의 로드를 합니다.
//変数
ID3D11Device* device //構築済みとする
ID3D11DeviceContext* deviceContext //構築済みとする
std::unique_ptr<DirectX::SpriteBatch> spriteBatch; //これが肝
ID3D11ShaderResourceView* shaderResourceView //読み込んだ画像ファイルの保存先
//spriteBatchの初期化
{
spriteBatch = std::make_unique<DirectX::SpriteBatch>(deviceContext);
}
//画像の読み込み
{
DirectX::CreateDDSTextureFromFile(
device, //デバイス
L"Assets/title.dds", //読み込む画像ファイルの場所と名前
nullptr, //nullptrでいい
&shaderResourceView); //ここに読み込んだファイルの情報が格納されます
}
//
그려갑니다.
//以下ループ
{
//Drawの前に呼び出す
spriteBatch.get()->Begin();
//Draw
spriteBatch.get()->Draw(
shaderResourceView, //読み込んだ画像ファイル
DirectX::XMFLOAT2(0.0f,0.0f) //画像の座標
);
//Drawの後に呼び出す
spriteBatch.get()->End();
}
이제 그릴 수 있습니다 ... 것입니다.
실제로 이미지가 그려지는 것은 SpriteBatch의 End 함수가 호출된 타이밍입니다.
또한 이런 식으로 Begin()과 End 사이에 여러 번 Draw 함수를 호출할 수 있습니다.
{
spriteBatch.get()->Begin();
spriteBatch.get()->Draw(...);
spriteBatch.get()->Draw(...);
spriteBatch.get()->Draw(...);
spriteBatch.get()->End();
}
Reference
이 문제에 관하여(DirectX::SpriteBatch로 이미지를 쉽게 표시해보기(DirectX11)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akurobit/items/e26d5f43ad325cee3439텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)