void Simulation::LoadAssets() { ID3D11SamplerState* wrapSampler; D3D11_SAMPLER_DESC wsd; ZeroMemory(&wsd, sizeof(D3D11_SAMPLER_DESC)); wsd.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; wsd.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; wsd.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; wsd.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR; wsd.MaxAnisotropy = 0; wsd.ComparisonFunc = D3D11_COMPARISON_NEVER; wsd.MinLOD = 0; wsd.MaxLOD = 0; wsd.MipLODBias = 0; dev->CreateSamplerState(&wsd, &wrapSampler); Material* heightmap = new Material(L"Textures/grass.png", wrapSampler, dev); heightmap->LoadShader(L"Heightmap.cso", Vert, dev); heightmap->LoadShader(L"TexturedDiffuse.cso", Pixel, dev); Material* waterMat = new Material(L"Textures/water.png", wrapSampler, dev); waterMat->LoadShader(L"WaterVertex.cso", Vert, dev); waterMat->LoadShader(L"WaterPixel.cso", Pixel, dev); MeshData skySphere; MeshGenerator::CreateSphere(1000.0, 2, skySphere); Mesh* skySphereMesh = new Mesh(skySphere, dev); Sky* sky = new Sky(skySphereMesh, dev); sky->LoadCubeMap(L"Textures/oceansky.dds", dev); sky->SetMaterial(L"SkyVertex.cso", L"SkyPixel.cso", wrapSampler, dev); objects.push_back(sky); Terrain* terrain = new Terrain(500.0f, 500.0f, 500, 500, heightmap, L"Textures/heightmap.png", dev); terrain->LoadNormalMap(L"Textures/normalmap2.png", dev); terrain->SetBufferData(100.0, dev); terrain->SetTextures(L"Textures/sand.png", L"Textures/grass.png", L"Textures/cliff.png",dev); objects.push_back(terrain); Terrain* water = new Terrain(500.0f, 500.0f, 500, 500, waterMat, L"Textures/waterHeightMap.png", dev); water->LoadNormalMap(L"Textures/waterNormalMap.png", dev); water->SetBufferData(5.0, 0.0, 0.0, dev); water->SetPosition(XMFLOAT3(0, 27.0, 0)); objects.push_back(water); }