Newer
Older
#include "sapin.hpp"
#include "environment.hpp"
void sapin::initialize_sapin()
{
cgp::mesh_drawable trunk;
cgp::mesh_drawable branches;
cgp::mesh_drawable foliage;
trunk.initialize_data_on_gpu(mesh_load_file_obj(project::path + "assets/trunk.obj"));
trunk.texture.load_and_initialize_texture_2d_on_gpu(project::path + "assets/trunk.png");
branches.initialize_data_on_gpu(mesh_load_file_obj(project::path + "assets/branches.obj"));
branches.material.color = { 0.45f, 0.41f, 0.34f }; // no textures on branches
foliage.initialize_data_on_gpu(mesh_load_file_obj(project::path + "assets/foliage.obj"));
foliage.texture.load_and_initialize_texture_2d_on_gpu(project::path + "assets/pine.png");
foliage.shader.load(project::path + "shaders/mesh_transparency/vert.glsl", project::path + "shaders/mesh_transparency/frag.glsl"); // set the shader handling transparency for the foliage
foliage.material.phong = { 0.4f, 0.6f, 0, 1 }; // remove specular effect for the billboard
//scale the model
trunk.model.scaling = 0.5f;
branches.model.scaling = 0.5f;
foliage.model.scaling = 0.5f;
sapin.add(trunk, "Trunk");
sapin.add(branches, "Branches", "Trunk");
sapin.add(foliage, "Foliage", "Trunk");
}