Ejemplo n.º 1
0
void Demo::create_arcball()
{
    auto blinn_phong_program = programs.create(BLINNPHONG_VS, BLINNPHONG_FS);
    auto shaded_pass = std::make_shared<gst::ShadedPass>(blinn_phong_program);
    shaded_pass->set_cull_face(gst::CullFace::BACK);
    shaded_pass->set_depth_test(true);

    auto material = gst::Material::create_struct("material");
    material.get_uniform("ambient") = glm::vec3(1.2f);
    material.get_uniform("diffuse") = glm::vec3(0.8f);
    material.get_uniform("specular") = glm::vec3(1.0f);
    material.get_uniform("emission") = glm::vec3(0.0f);
    material.get_uniform("shininess") = 21.0f;

    gst::MeshFactory mesh_factory(logger);
    auto suzanne = std::make_shared<gst::GroupNode>();
    for (auto mesh : mesh_factory.create_from_file(SUZANNE_OBJ)) {
        auto model = gst::Model(mesh, material, shaded_pass);
        auto model_node = std::make_shared<gst::ModelNode>(model);
        suzanne->add(model_node);
    }
    scene.add(suzanne);

    arcball = Arcball(suzanne);
    arcball.set_allow_constraints(true);

    arcball_helper = ArcballHelper::create(programs);
    arcball_helper.set_show_result(false);
}
Ejemplo n.º 2
0
	void StateManager::init()
	{
		set_multisample(true);
		set_blend(false);
		set_culling(true);
		set_color_mask(glm::bvec4(true));
		set_depth_mask(true);
		set_depth_test(true);
		set_scissor_test(false);
		set_sample_alpha_to_coverage(false);
		set_polygon_offset_fill(false);
		set_flip_back_face_culling(false);

		set_restart_index(std::numeric_limits<Uint32>::max());
		set_use_restart_index(true);
		set_view_port(m_state_set.get_view_port());
	}