sorting works
This commit is contained in:
parent
41ac514aa1
commit
966f3fdc39
@ -174,10 +174,16 @@ bool sortFunction(std::tuple<int, float> objA, std::tuple<int, float> objB)
|
|||||||
float valB = std::get<1>(objB);
|
float valB = std::get<1>(objB);
|
||||||
return (valA<valB);
|
return (valA<valB);
|
||||||
}
|
}
|
||||||
|
bool sortFunctionPlantInfo(std::tuple<int, glm::vec3> objA, std::tuple<int, glm::vec3> objB)
|
||||||
|
{
|
||||||
|
int valA = std::get<0>(objA);
|
||||||
|
int valB = std::get<0>(objB);
|
||||||
|
return (valA < valB);
|
||||||
|
}
|
||||||
PlanetParams populatePlanet(PlanetParams planet, std::vector<Plant::Plant> plants)
|
PlanetParams populatePlanet(PlanetParams planet, std::vector<Plant::Plant> plants)
|
||||||
{
|
{
|
||||||
float probability=0.5f;
|
float probability=0.5f;
|
||||||
int HOW_MANY_PLANTS = 1000;
|
int HOW_MANY_PLANTS = 10000;
|
||||||
int PRECISION = 10000;
|
int PRECISION = 10000;
|
||||||
float NOTHING_SPAWNS_CUTOFF = 0.2;
|
float NOTHING_SPAWNS_CUTOFF = 0.2;
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
@ -239,6 +245,8 @@ PlanetParams populatePlanet(PlanetParams planet, std::vector<Plant::Plant> plant
|
|||||||
std::cout << " " <<planet.Plant_type_count[i] ;
|
std::cout << " " <<planet.Plant_type_count[i] ;
|
||||||
}
|
}
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
std::sort(planet.Plant_info.begin(), planet.Plant_info.end(), sortFunctionPlantInfo);
|
||||||
|
|
||||||
return planet;
|
return planet;
|
||||||
|
|
||||||
|
|
||||||
@ -651,15 +659,26 @@ void renderScene(GLFWwindow* window)
|
|||||||
int plant_type_count = plants.size();
|
int plant_type_count = plants.size();
|
||||||
int types_count = 1;
|
int types_count = 1;
|
||||||
std::vector<glm::vec3> current_type_plant_positions;
|
std::vector<glm::vec3> current_type_plant_positions;
|
||||||
|
for (int i = 0; i < planet.Plant_type_count.size(); i++)
|
||||||
|
{
|
||||||
|
if (planet.Plant_type_count[i] > 0)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < planet.Plant_type_count[i]; j++)
|
||||||
|
{
|
||||||
|
//current_type_plant_positions.push_back(0);
|
||||||
|
}
|
||||||
|
placeObjectOnPlanet(plant_specimens[0].modelContext, glm::mat4(), 0.2, current_type_plant_positions, planet, plant_type_count, plant_specimens[0].material);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
for (const auto& plant : plants)
|
||||||
|
{
|
||||||
|
current_type_plant_positions.push_back(std::get<1>(plant));
|
||||||
|
}
|
||||||
for (int i = 0; i < types_count; i++)
|
for (int i = 0; i < types_count; i++)
|
||||||
{
|
{
|
||||||
for (const auto& plant : plants)
|
|
||||||
{
|
|
||||||
current_type_plant_positions.push_back(std::get<1>(plant));
|
|
||||||
}
|
|
||||||
//placeObjectOnPlanet(plant_specimens[std::get<0>(plant)].modelContext, glm::mat4(), 0.2, std::get<1>(plant), planet, plant_type_count);
|
//placeObjectOnPlanet(plant_specimens[std::get<0>(plant)].modelContext, glm::mat4(), 0.2, std::get<1>(plant), planet, plant_type_count);
|
||||||
placeObjectOnPlanet(plant_specimens[0].modelContext, glm::mat4(), 0.2, current_type_plant_positions, planet, plant_type_count, plant_specimens[0].material);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//for (const auto& plant : plants)
|
//for (const auto& plant : plants)
|
||||||
@ -740,7 +759,7 @@ void init(GLFWwindow* window)
|
|||||||
loadMTLAndGetTextureID("./models/plant_2_1_small.mtl", plant2_1Material);
|
loadMTLAndGetTextureID("./models/plant_2_1_small.mtl", plant2_1Material);
|
||||||
loadMTLAndGetTextureID("./models/plant_2_1_small.mtl", plant2_1Material);
|
loadMTLAndGetTextureID("./models/plant_2_1_small.mtl", plant2_1Material);
|
||||||
|
|
||||||
plant_specimens.push_back(Plant::Plant(50, 3, 50, 3, "plant1_s", "./models/plant_1_1.obj", plant3Material));
|
plant_specimens.push_back(Plant::Plant(7, 3, 7, 3, "plant1_s", "./models/plant_1_1.obj", plant3Material));
|
||||||
plant_specimens.push_back(Plant::Plant(5, 3, 5, 3, "plant1_m", "./models/plant_2_1.obj", plant2_1Material));
|
plant_specimens.push_back(Plant::Plant(5, 3, 5, 3, "plant1_m", "./models/plant_2_1.obj", plant2_1Material));
|
||||||
|
|
||||||
//plant_specimens.push_back(Plant::Plant(1, 0.90, 1, 1, "testPlantCCCCCCCCCCC", "./models/plant_4.ply"));
|
//plant_specimens.push_back(Plant::Plant(1, 0.90, 1, 1, "testPlantCCCCCCCCCCC", "./models/plant_4.ply"));
|
||||||
|
Loading…
Reference in New Issue
Block a user