void RenderStates::init() { { depthStencilStates.resize(DepthStencilStates::kCount); initDepthStencilStates(); inputAssemblyStates.resize(InputAssemblyStates::kCount); initInputAssemblyStates(); rasterizationStates.resize(RasterizationStates::kCount); initRasterizationStates(); blendStates.resize(BlendStates::kCount); initBlendStates(); } }
void VegetationRendering::init(ID3D11Device* device) { Config::addFile(configPath); camera->init(); inputManager->init(); terrain->init(device); tessellationTerrain->init(device); gsGrass->init(device); complexGrass->init(device); defaultGrassModel->init(device); defaultGrassDetailedModel->init(device); separateLeafModel->init(device); separateLeafModel->setWorld(Matrix::createTranslation(10, 0, 10)); billboardLeafModel->init(device); billboardLeafModel->setWorld(Matrix::createTranslation(20, 0, 10)); trunk->init(device); defaultTrunkModel->init(device); defaultTrunkDetailedModel->init(device); //trunk->setDrawInstanceCount(50); light.Direction = Config::getValue<Vector3>(ConfigKeys::lightDirection); light.Ambient = Config::getValue<Vector3>(ConfigKeys::lightAmbient); light.Diffuse = Config::getValue<Vector3>(ConfigKeys::lightDiffuse); light.Specular = Config::getValue<Vector3>(ConfigKeys::lightSpecular); initRasterizerStates(device); initBlendStates(device); grassTestInstanceCounts.push_back(100); grassTestInstanceCounts.push_back(1000); grassTestInstanceCounts.push_back(5000); grassTestInstanceCounts.push_back(10000); grassTestInstanceCounts.push_back(20000); grassTestInstanceCounts.push_back(30000); grassTestInstanceCounts.push_back(50000); //grassTestInstanceCounts.push_back(100000); treeTestInstanceCounts.push_back(50); treeTestInstanceCounts.push_back(500); treeTestInstanceCounts.push_back(1000); treeTestInstanceCounts.push_back(5000); treeTestInstanceCounts.push_back(8000); treeTestInstanceCounts.push_back(10000); treeTestInstanceCounts.push_back(15000); }