서울게임아카데미 교육과정 6개월 C++ ~ DirectX2D
61일차. TileMap, TextureRect
WDmil
2023. 7. 27. 20:48
728x90
DIrectX에서 사용할 수 있는 타일맵의 표시방식에 대해 확인한다.
0.0부터 위치된 기본 타일맵의 위치까지 사각형을 표시한 뒤, 해당 위치에 타일맵을 반복되게 표시한다.
TileSet::Create();
GenerateTileMap();
vertices.assign(4, VertexTile());
vertices[0].position = Values::ZeroVec3; // 0.0.0
vertices[1].position = Vector3(0.0f, (float)spacing, 0.0f); // 0.40.0
vertices[2].position = Vector3((float)spacing, 0.0f, 0.0f); // 40.0.0
vertices[3].position = Vector3((float)spacing, (float)spacing, 0.0f); // 40.40.0
indices = { 0,1,2,2,1,3 };
vb = new VertexBuffer();
vb->Create(vertices, D3D11_USAGE_DYNAMIC);
ib = new IndexBuffer();
ib->Create(indices, D3D11_USAGE_IMMUTABLE);
vs = new VertexShader();
vs->Create(ShaderPath + L"Tile/VertexTile.hlsl", "VS");
ps = new PixelShader();
ps->Create(ShaderPath + L"Tile/VertexTile.hlsl", "PS");
il = new InputLayout();
il->Create(VertexTile::descs, VertexTile::count, vs->GetBlob());
wb = new WorldBuffer();
wb->SetWorld(world);
inb = new IndexNumBuffer();
inb->SetIndex(0);
기본적인 메커니즘은 전에 사용하였던, TectureRect와 같다.
728x90